Pourquoi ces tables de régression anova sont-elles identiques?


11

J'ai deux régressions du même Y et du X à trois niveaux. Globalement n = 15, avec n = 5 dans chaque groupe ou niveau de X. La première régression traite le X comme catégorique, attribuant des variables indicatrices aux niveaux 2 et 3 avec le niveau l'un étant la référence. Les indicateurs / mannequins sont comme ceci: X1 = 1 si niveau = 2, 0 si autre X2 = 1 si niveau = 3, 0 si autre

En conséquence, mon modèle ajusté ressemble à ceci: y = b0 + b1 (x1) + b2 (x2)

J'exécute la régression, et la sortie comprend cette table d'analyse de la variance:

table

Le reste de la sortie n'est pas pertinent ici.

Bon alors maintenant je lance une régression différente sur les mêmes données. Je laisse tomber l'analyse catégorique et traite X comme continu, mais j'ajoute une variable à l'équation: X ^ 2, le carré de X. Alors maintenant j'ai le modèle suivant: y = b0 + b1 (X) + b2 (X) ^ 2

Si je l'exécute, il crache le même tableau d'analyse de variance que je vous ai montré ci-dessus. Pourquoi ces deux régressions donnent-elles naissance aux mêmes tableaux?

[Le mérite de cette petite énigme revient à Thomas Belin du Département de biostatistique de l'Université de Californie à Los Angeles.]


Je pense que vous allez devoir nous montrer le code qui "fait la régression" et peut-être l'étape de données (qui ressemble à une sortie SAS pour moi) que vous utilisez pour créer le tableau de données sur lequel vous opérez.
Brad S.

1
@Brad Je ne pense pas que ce soit nécessaire: la situation est clairement décrite et aucune information supplémentaire n'est nécessaire pour expliquer ce qui se passe.
whuber

@whuber Peut-être. Je suppose que si vous le dites, mais cela me semble être une erreur de programmation. J'attends ta réponse.
Brad S.

1
@Brad Pas une erreur de programmation: j'ai posté mon explication. C'est une bonne question, avec un véritable intérêt statistique (et applicabilité).
whuber

Hé Brad, c'est en fait à partir d'un ensemble de problèmes - la situation m'a été donnée de la même manière que je vous l'ai donnée, et la question s'est posée de la même manière: "pourquoi seraient-ils les mêmes?". C'est juste la façon dont je le présente: deux modèles, les mêmes tables ANOVA, le reste des sorties même pas donné (j'aurais dû le dire clairement au lieu de dire "non pertinent").
logjammin

Réponses:


22

En termes matriciels, vos modèles sont sous la forme habituelle . E[Oui]=Xβ

Le premier modèle représente un élément du premier groupe par la ligne en X , correspondant à l'ordonnée à l'origine, l'indicateur pour la catégorie 2 et l'indicateur pour la catégorie 3. Il représente un élément du deuxième groupe par la ligne ( 1 , 1 , 0 ) et un élément du troisième groupe par ( 1 , 0 , 1 ) .(1,0,0)X(1,1,0)(1,0,1)

Le deuxième modèle utilise à la place des lignes , ( 1 , 2 , 2 2 ) = ( 1 , 2 , 4 ) et ( 1 , 3 , 3 2 ) = ( 1 , 3 , 9 ) , respectivement.(1,1,12)=(1,1,1)(1,2,22)=(1,2,4)(1,3,32)=(1,3,9)

Appelons les matrices de modèles résultantes et X 2 . Ils sont simplement liés: les colonnes de l'une sont des combinaisons linéaires des colonnes de l'autre. Par exemple, laissezX1X2

V=(111013028).

Depuis

(100110101)V=(111124139),

il s'ensuit que

X1V=X2.

Les modèles eux-mêmes sont donc liés par

X1β1=E[Oui]=X2β2=(X1V)β2=X1(Vβ2).

β2

β1=Vβ2.

La même relation vaut donc pour leurs estimations des moindres carrés. Cela montre que les modèles ont des ajustements identiques : ils les expriment simplement différemment.

Étant donné que les premières colonnes des deux matrices de modèle sont identiques, toute table ANOVA qui décompose la variance entre la première colonne et les colonnes restantes ne changera pas. Une table ANOVA qui fait la distinction entre les deuxième et troisième colonnes dépendra cependant de la façon dont les données sont codées.

R15X1X2


Pour illustrer, voici des données comme les vôtres (mais avec des réponses différentes) et les analyses correspondantes générées dans R.

set.seed(17)
D <- data.frame(group=rep(1:3, each=5), y=rnorm(3*5, rep(1:3, each=5), sd=2))

Montez les deux modèles:

fit.1 <- lm(y ~ factor(group), D)
fit.2 <- lm(y ~ group + I(group^2), D)

Affichez leurs tableaux ANOVA:

anova(fit.1)
anova(fit.2)

La sortie du premier modèle est

              Df Sum Sq Mean Sq F value   Pr(>F)    
factor(group)  2 51.836  25.918  14.471 0.000634 ***
Residuals     12 21.492   1.791 

Pour le deuxième modèle, il est

           Df Sum Sq Mean Sq F value    Pr(>F)    
group       1 50.816  50.816 28.3726 0.0001803 ***
I(group^2)  1  1.020   1.020  0.5694 0.4650488    
Residuals  12 21.492   1.791  

Vous pouvez voir que les sommes résiduelles des carrés sont les mêmes. En ajoutant les deux premières lignes du deuxième modèle, vous obtiendrez le même DF et la même somme de carrés, à partir desquels les mêmes carrés, valeurs F et valeurs p peuvent être calculés.

Enfin, comparons les estimations des coefficients.

beta.1.hat <- coef(fit.1)
beta.2.hat <- coef(fit.2)

La sortie est

(Intercept) factor(group)2 factor(group)3 
  0.4508762      2.8073697      4.5084944 

(Intercept)       group  I(group^2) 
 -3.4627385   4.4667371  -0.5531225 

V

(111013028)(-3,46273854.4667371-0,5531225)=(0,45087622,80736974.5084944).

Les ajustements sont vraiment les mêmes que ceux revendiqués.


6
Holy fume, mec. Je n'ai jamais été plus réfléchi, une réponse approfondie de poser une question à Internet. Merci x1000, sérieusement.
logjammin

Bienvenue sur notre site! J'espère que vous continuerez à l'utiliser et j'attends vos contributions avec impatience.
whuber

1
J'ai appris quelque chose aujourd'hui! (a voté)
Brad S.

Réponse incroyable. L'esprit soufflé!
kedarps

5

En bref, les deux modèles sont saturés en ce sens qu'ils fournissent des prédictions empiriques uniques de la réponse aux trois niveaux de X. Cela peut être évident pour le codage des variables factorielles dans le modèle 1. Pour une tendance quadratique, il est intéressant de noter qu'un la formule quadratique peut interpoler 3 points quelconques. Bien que les contrastes soient différents, dans les deux modèles, le test global contre le zéro d'un modèle d'interception seule fournit une inférence identique.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.