Pourquoi R renvoie-t-il NA sous forme de coefficient lm ()?

32

J'adapte un lm()modèle à un ensemble de données comprenant des indicateurs pour le trimestre financier (T1, T2, T3, Q4 par défaut). En utilisant lm(Y~., data = data) je reçois un NAcomme coefficient pour Q3, et un avertissement indiquant qu’une variable a été exclue à cause de singularités.

Dois-je ajouter une colonne Q4?

Fraijo
la source

Réponses:

39

Q3=a×Q1+b×Q2+ca,b,cQ4

Martin O'Leary
la source
1
Je suis d'accord ... il semble y avoir un problème avec les définitions des variables nominales.
Dominic Comtois
14
(+1). Plus généralement, NA signifie que le coefficient n'est pas estimable. Cela peut arriver en raison de la colinéarité exacte, comme vous l'avez mentionné. Mais cela peut aussi arriver du fait du nombre insuffisant d'observations pour estimer les paramètres pertinents (par exemple sip>n). Si vos prédicteurs sont catégoriques et que vous ajoutez des termes d'interaction, une NA peut également signifier qu'il n'y a pas d'observations avec cette combinaison de niveaux de facteurs.
Macro
2
p>nn'est qu'un cas particulier de colinéarité - s'il y a moins d'observations que de prédicteurs, la colinéarité est une donnée. Cependant, vous avez raison en ce qui concerne les termes d'interaction, bien que je sois à peu près sûr que ce n'est pas ce qui se passe ici.
Martin O'Leary
Les variables ne sont pas liées linéairement, car Q3 = 1 ssi Q1 = Q2 = 0. De plus, utiliser stepAIC () et forcer le modèle à inclure ces trois variables ne pose aucun problème. En outre, j'ai à peu près 3x le nombre d'observations de variables. Ma meilleure hypothèse est qu'il y a une colinéarité entre Q3 et une autre variable, qui n'est pas incluse dans l'étape AIC.
Fraijo