Warum würde R NA als lm () -Koeffizienten zurückgeben?


32

Ich passe ein lm()Modell an einen Datensatz an, der Indikatoren für das Geschäftsquartal enthält (Q1, Q2, Q3, wodurch Q4 zum Standard wird). Verwenden von lm(Y~., data = data) Ich erhalte einen NAals Koeffizienten für Q3 und eine Warnung, dass eine Variable aufgrund von Singularitäten ausgeschlossen wurde.

Muss ich eine Q4-Spalte hinzufügen?

Antworten:


39

NA als Koeffizient in einer Regression zeigt an, dass die betreffende Variable in linearer Beziehung zu den anderen Variablen steht. In Ihrem Fall bedeutet dies, dass für einige . In diesem Fall gibt es keine eindeutige Lösung für die Regression, ohne eine der Variablen zu löschen. Das Hinzufügen von wird die Sache nur noch schlimmer machen.Q3=a×Q1+b×Q2+ca,b,cQ4


1
Ich stimme zu ... es scheint ein Problem mit den Dummy-Variablendefinitionen zu geben.
Dominic Comtois

14
p>n

2
p>n

Die Variablen sind nicht linear miteinander verknüpft, da Q3 = 1 ist, wenn Q1 = Q2 = 0 ist. Darüber hinaus verursacht die Verwendung von stepAIC () und das Erzwingen, dass das Modell alle drei dieser Variablen enthält, keine Probleme. Außerdem habe ich ungefähr die dreifache Anzahl von Beobachtungen zu Variablen. Ich gehe davon aus, dass es zwischen Q3 und einer anderen Variablen Colinearität gibt, die meines Erachtens im stepAIC nicht enthalten ist.
Fraijo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.