proc glm
facilite l'ajout d'effets fixes sans création de variables fictives pour toutes les valeurs possibles de la variable de classe.La régression avec des erreurs standard robustes (blanches) et la variable CLASS pour les effets fixes
proc reg
est capable de calculer des erreurs standard robustes (blanches), mais cela nécessite de créer des variables fictives individuelles.
Existe-t-il un moyen de combiner ces fonctionnalités? J'aimerais pouvoir ajouter un certain nombre de variables de classe et recevoir des erreurs de type Blanc dans ma sortie. Par exemple:
Avec proc glm
, je peux faire cette régression. Cela donnera des résultats corrects quel que soit le nombre de niveaux contenus dans les variables de classe, mais il ne calculera pas les erreurs standard robustes.
proc glm data=ds1;
class class1 class2 class3;
weight n;
model y = c class1 class2 class3/solution;
run;
avec proc reg
, je peux faire:
proc reg data=ds2;
weight n;
model y = x/white;
run;
qui contient des erreurs standard blanc, mais ne tient pas compte des effets fixes. Pour ce faire, je pourrais avoir besoin de 50 variables fictives ou plus et une déclaration de modèle comme model y = x class1_d1 class1_d2 ... class3_dn /white;
. Se transformerait en un nombre fou ou des variables fictives si je commençais à ajouter des termes d'interaction. De toute évidence, je pourrais écrire une macro pour créer les variables fictives, mais cela semble être une fonction tellement fondamentale que je ne peux m'empêcher de penser qu'il me manque quelque chose d'évident (STATA et R ont tous les deux des façons de le faire facilement). Pourquoi ne puis-je pas utiliser l'instruction class
dans proc reg
ou obtenir des erreurs standard robustes sur proc glm
?
Je pense que c'est la bonne réponse. Je ne vois pas d'autre moyen de le faire. – Joe