2016-08-26 3 views
1

Может кто-нибудь, пожалуйста, сообщите мне, где я пропал без вести, поскольку итоговый вывод не обеспечивает постоянной, хотя я явно вызвал его? Мой df - 6212 строк × 64 столбца. Большое спасибо.Python: регрессия OLS не генерирует перехват

import statsmodels.api as sm 
from statsmodels.api import add_constant 

y1 = df.ix[:,-1:] 

x1 = df.ix[:,16:-1] 
x1 = add_constant(x1) 

model1 = sm.OLS(y1 , x1).fit() 
model1.summary() 

ответ

1

Проверьте свои данные, чтобы увидеть, есть ли у него столбец с дисперсией нуль. add_constant() не будет по умолчанию добавлять константный столбец в ваш набор данных, если он уже имеет столбец с нулевой дисперсией; вы должны явно указать его, чтобы добавить константу, даже если столбец нулевой дисперсии существует:

x1 = add_constant(x1, has_constant = 'add') 

Вы можете прочитать больше о различных вариантах для has_constant аргумента здесь: http://statsmodels.sourceforge.net/stable/generated/statsmodels.tsa.tsatools.add_constant.html

+0

Отлично! Огромное спасибо. – XUTADO

Смежные вопросы