Python:OLS回归不会生成拦截

时间:2016-08-26 20:38:07

标签: python regression

有人可以告诉我我在哪里丢失,因为摘要输出根本没有提供常量,尽管我已经明确地说出来了吗?我的df是6212行×64列。非常感谢。

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 个答案:

答案 0 :(得分:1)

检查您的数据,看它是否已经有一个方差为零的列。默认情况下,add_constant()不会向数据集添加常量列(如果已有零方差列);你应该明确地告诉它添加常量,即使存在零方差列:

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

您可以在此处详细了解has_constant参数的不同选项:http://statsmodels.sourceforge.net/stable/generated/statsmodels.tsa.tsatools.add_constant.html