Почему R возвращает NA как коэффициент lm ()?

32

Я подгоняю lm()модель к набору данных, который включает индикаторы для финансового квартала (Q1, Q2, Q3, делая Q4 по умолчанию). Используя lm(Y~., data = data) я получаю в NAкачестве коэффициента для Q3 и предупреждение о том, что одна переменная была исключена из-за особенностей.

Нужно ли добавлять столбец Q4?

Fraijo
источник

Ответы:

39

NA как коэффициент в регрессии указывает, что рассматриваемая переменная линейно связана с другими переменными. В вашем случае это означает, что для некоторых a , b , c . Если это так, то не существует единственного решения для регрессии без удаления одной из переменных. Добавление Q 4 только ухудшит положение.Q3=a×Q1+b×Q2+ca,b,cQ4

Мартин О'Лири
источник
1
Я согласен ... Кажется, есть проблема с определениями фиктивных переменных.
Доминик Комтуа
14
(+1). NA в более общем смысле означает, что коэффициент не оценивается. Это может произойти из-за точной коллинеарности, как вы упомянули. Но это также может произойти из-за отсутствия достаточного количества наблюдений для оценки соответствующих параметров (например, еслип>N). Если вы предикторы категоричны и добавляете термины взаимодействия, NA также может означать, что нет никаких наблюдений с такой комбинацией уровней факторов.
Макрос
2
п>Nэто всего лишь частный случай коллинеарности - если наблюдений меньше, чем предикторов, коллинеарность - это данность. Вы правы в отношении условий взаимодействия, хотя я уверен, что это не то, что здесь происходит.
Мартин О'Лири
Переменные не связаны линейно, так как Q3 = 1 тогда и только тогда, когда Q1 = Q2 = 0. Более того, использование stepAIC () и принудительное включение в модель всех трех этих переменных не вызывает проблем. Кроме того, у меня примерно в 3 раза больше наблюдений за переменными. Мое лучшее предположение - есть коллинеарность между Q3 и некоторой другой переменной, которая, я думаю, не включена в stepAIC.
Fraijo