Dlaczego R miałby zwracać NA jako współczynnik lm ()?

32

Dopasowuję lm()model do zestawu danych, który zawiera wskaźniki dla kwartału finansowego (I kw., II kw., III kw., Domyślnie ustawiam Q4). Za pomocą lm(Y~., data = data) otrzymuję NAjako współczynnik dla Q3 i ostrzeżenie, że jedna zmienna została wykluczona z powodu osobliwości.

Czy muszę dodać kolumnę Q4?

Fraijo
źródło

Odpowiedzi:

39

NA jako współczynnik w regresji wskazuje, że dana zmienna jest liniowo powiązana z innymi zmiennymi. W twoim przypadku oznacza to, że dla niektórych a , b , c . Jeśli tak jest, to nie ma unikalnego rozwiązania regresji bez upuszczenia jednej ze zmiennych. Dodawanie Q 4 będzie tylko gorsza.Q3=a×Q1+b×Q2+ca,b,cQ4

Martin O'Leary
źródło
1
Zgadzam się ... wydaje się, że występuje problem z definicjami zmiennych fikcyjnych.
Dominic Comtois,
14
(+1). NA bardziej ogólnie oznacza, że ​​tego współczynnika nie da się oszacować. Może się to zdarzyć z powodu dokładnej kolinearności, jak już wspomniałeś. Ale może się to również zdarzyć z powodu braku wystarczających obserwacji do oszacowania odpowiednich parametrów (np. Jeśli ). Jeśli predyktory są kategoryczne i dodajesz terminy interakcji, NA może również oznaczać, że nie ma żadnych obserwacji z tą kombinacją poziomów czynników. p>n
Makro
2
p>n
Zmienne nie są powiązane liniowo, ponieważ Q3 = 1 iff Q1 = Q2 = 0. Co więcej, użycie stepAIC () i zmuszenie modelu do uwzględnienia wszystkich trzech zmiennych nie powoduje problemów. Poza tym mam około 3 razy więcej obserwacji zmiennych. Moim najlepszym przypuszczeniem jest kolinearność między Q3 a jakąś inną zmienną, która, jak sądzę, nie jest uwzględniona w stepAIC.
Fraijo,