Python X=sm。add_常量(X,prepend=True)不起作用

Python X=sm。add_常量(X,prepend=True)不起作用,python,regression,linear-regression,Python,Regression,Linear Regression,我试图从python中的线性回归(OLS)中获取beta和错误项。我被语句X=sm.add_constant(X,prepend=True)卡住了,它返回一个 错误:“AttributeError:'module'对象没有属性'add_constant'” 我已经安装了statsmodels模块。如果sm是statsmodels中定义的对象,您需要通过statsmodels.sm调用它,或者使用statsmodel导入sm中的,然后您可以直接调用sm。如果sm是statsmodels中定义的对象

我试图从python中的线性回归(OLS)中获取beta和错误项。我被语句
X=sm.add_constant(X,prepend=True)
卡住了,它返回一个

错误:“AttributeError:'module'对象没有属性'add_constant'”


我已经安装了statsmodels模块。

如果
sm
statsmodels
中定义的对象,您需要通过
statsmodels.sm
调用它,或者使用statsmodel导入sm中的
,然后您可以直接调用
sm

如果
sm
statsmodels
中定义的对象,您需要通过
statsmodels.sm
调用它,或者使用statsmodel import sm
中的
,然后您可以直接调用
sm

尝试导入add\u常量,例如:

from statsmodels.api import add_constant

尝试导入add_常量,例如:

from statsmodels.api import add_constant

尝试导入statsmodel.api


将statsmodels.api作为sm导入

尝试导入statsmodel.api


将statsmodels.api作为sm导入

谢谢,我有“print sm.OLS(Y,X).fit().params”可以打印beta和系数。如果我只想要beta版或者只想要系数版呢。我该怎么做?如果Y和X是numpy数组,那么您需要使用一个切片来获取特定参数,
params[0]
params[1]
,。。。如果Y和X是pandas系列和数据帧,或者使用公式时,
params
将是pandas系列,访问是通过名称进行的。谢谢,我有“print sm.OLS(Y,X).fit().params”可以打印beta和系数。如果我只想要beta版或者只想要系数版呢。我该怎么做?如果Y和X是numpy数组,那么您需要使用一个切片来获取特定参数,
params[0]
params[1]
,。。。如果Y和X是熊猫系列和数据帧,或者使用公式时,
params
将是熊猫系列,访问按名称进行。我的错误是我使用了“将statsmodels作为sm导入”——使用上面的行修复了我的问题。我的错误是我使用了“将statsmodels作为sm导入”——使用上面的行修复了我的问题。