使用statsmodels做回归分析有两个接口:
#1
import statsmodels.api as sm
X=sm.add_constant(x)
result1=sm.OLS(y,X).fit()
#2
import statsmodels.formula.api as smf
result2=smf.OLS('y~x',data=data).fit().
接口1的数据不限于pandas表格,如果模型包含常数项,需要另外添加;接口2的数据必须是pandas表格,会自动添加常数项,如果不需要常数项,参数1修改为'y~x-1'。
根据模型做预测,都需要用到predict()方法。
接口1如果有常数项,在输入x取值时需要加上1,形如result1.predict([1,102.56])
;
接口2由于使用的是公式API,输入必须采用的pd.DataFrame形式以便列引用可用。例如,result2.predict(pd.DataFrame({'x': [1,1,1]})
。