Comment tester la signification statistique d'une variable catégorielle en régression linéaire?


18

Si dans une régression linéaire j'ai une variable catégorielle ... comment puis-je connaître la signification statique de la variable catégorielle?

Disons que le facteur X1 a 10 niveaux ... il y aura 10 valeurs t résultantes différentes, sous l'égide d'une variable de facteur X1 ...

Il me semble que la signification statistique est testée pour chaque niveau de la variable factorielle? Non?

@Macro: Suite à votre suggestion, j'ai construit l'exemple suivant:

Il semble que x3 soit utile et doit être inclus dans le modèle, à partir de la comparaison de modèles ci-dessous.

Mais en fait c'est faux ...

n=100    
x1=1:n
x2=(1:n)^2 
x3=rnorm(n)
ee=rnorm(n)
y=3*x1-2*x2+x3+3+ee
lm1=lm(y~x1+x2+x3)
summary(lm1)

lm2=lm(y~x1+x2) 
summary(lm2)

anova(lm1, lm2)

> anova(lm1, lm2)
Analysis of Variance Table

Model 1: y ~ x1 + x2 + x3
Model 2: y ~ x1 + x2
  Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
1     96  82.782                                  
2     97 146.773 -1    -63.99 74.207 1.401e-13 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

1
@Luna, pourquoi est-ce mal? Il semble que vous ayez utilisé x3pour générer le ys, il devrait donc être inclus dans le modèle et la valeur est d'accord avec cette conclusion. p
Macro

@Seth - vous avez raison. Je donnais juste un exemple de jouet utilisant anova généralement dans la comparaison de modèles. Ce n'est donc pas lié à ma question initiale.
Luna

@Macro - vous avez raison. Maintenant, je vois le point. Je vous remercie!
Luna

La fonction 'Anova' du package R 'voiture' ( pdf ) vous permet de tester la signification globale d'une variable catégorielle. Il fonctionne avec de nombreux packages et types de régression différents.
SK4ndal

Réponses:


28

Vous avez raison de dire que ces valeurs vous indiquent uniquement si la moyenne de chaque niveau est significativement différente de la moyenne du niveau de référence. Par conséquent, ils ne vous parlent que des différences par paire entre les niveaux. Tester si le prédicteur catégorique, dans son ensemble, est significatif équivaut à tester s'il existe une hétérogénéité dans les moyennes des niveaux du prédicteur. Lorsqu'il n'y a pas d'autres prédicteurs dans le modèle, c'est un classiquep ANOVA problème.

Lorsqu'il existe d'autres prédicteurs dans le modèle. vous avez deux options pour tester la signification d'un prédicteur catégorique:

(1) Le test de rapport de vraisemblance: Supposons que vous avez un résultat , les facteurs prédictifs quantitatifs X i 1 , . . . , X i p et le prédicteur catégorique C i avec k niveaux. Le modèle sans prédicteur catégorique estYiXi1,...,XipCik

Yi=β0+β1Xi1+...+βpXip+εi

Dans Rvous pouvez adapter ce modèle avec la lm()commande et extraire la vraisemblance du journal avec la logLikcommande. Appelons cette log-vraisemblance . Ensuite, vous pouvez ajuster le modèle avec le prédicteur catégorique:L0

Yi=β0+β1Xi1+...+βpXip+j=1k1αjBj+εi

Bj1Di=j0kk1Rlm()L1Di

λ=2(L1L0)

χ2k1p1-pchisq(2*(L1-L0),df=k-1)R

FRRlm()g1g0anova(g1,g0)

F


Merci beaucoup Macro. J'ai trouvé que mes données n'étaient pas normales. Le tracé QQ est le suivant: la courbe est entièrement en dessous de la droite de 45 degrés. La courbe est tangente à cette ligne droite. Et la courbe ressemble à la courbe de f (x) = - x ^ 2 (en forme). À quel type de problème suis-je confronté? Et comment dois-je résoudre ce problème? Je vous remercie!
Luna

1
@Luna, Vos données sont très anormales ou les résidus sont très anormaux? De plus, je ne pense pas qu'il soit possible que l'ensemble des points se situe sous la ligne des 45 degrés.
Macro

oh en fait vous avez raison ... Je viens de jeter un coup d'œil au complot QQ. Ce n'est pas l'ensemble des points sous la ligne des 45 degrés. C'est la courbe avec la forme de f (x) = - x ^ 2 est "tangente" à la ligne de 45 degrés. Par «tangente», j'aurais dû dire que ces points autour du point «tangent» sont en fait au-dessus de la ligne de 45 degrés, très légèrement cependant. Par conséquent, visuellement, la plupart des données (~ 98%) sont en dessous de la ligne de 45 degrés ... que dois-je faire pour résoudre ce problème avant de comparer les modèles? Je vous remercie!
Luna

2
p

1
@ Druss2k, oui c'est correct.
Macro
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.