Python 如何从statsmodels.api中提取回归系数?
在我得到结果之后,我怎样才能得到系数和常数呢 换句话说,如果Python 如何从statsmodels.api中提取回归系数?,python,pandas,linear-regression,statsmodels,Python,Pandas,Linear Regression,Statsmodels,在我得到结果之后,我怎样才能得到系数和常数呢 换句话说,如果 y=ax+c 如何获取值a和c?您可以使用拟合模型的params属性来获取系数 例如,以下代码: result = sm.OLS(gold_lookback, silver_lookback ).fit() 将向您打印一个numpy数组[0.89516052.00334187]-截距和斜率的估计值 如果您想了解更多信息,可以使用对象result.summary(),这将允许您直接索引所需的值 因此,对于您的案例(将上述链接中的答案
y=ax+c
如何获取值
a
和c
?您可以使用拟合模型的params
属性来获取系数
例如,以下代码:
result = sm.OLS(gold_lookback, silver_lookback ).fit()
将向您打印一个numpy数组[0.89516052.00334187]
-截距和斜率的估计值
如果您想了解更多信息,可以使用对象result.summary(),这将允许您直接索引所需的值
因此,对于您的案例(将上述链接中的答案放在一行):
然后
df = pd.read_html(result.summary().tables[1].as_html(),header=0,index_col=0)[0]
在@idottom-answer上添加详细信息
您可以使用:
a=df['coef'].values[1]
c=df['coef'].values[0]
不是很好,但是信息在那里。第一个是常数,第二个是系数?没错!这就是sm.add_constant()
的工作原理:它接受一个矩阵(或一个向量,如我的例子```),并向其中添加最左边的一列。与此列相对应的系数是截距。对于单独访问系数:太好了!但是,对于细节更详细的summary2(),这不起作用!
a=df['coef'].values[1]
c=df['coef'].values[0]
head = pd.read_html(res.summary2().as_html())[0]
body = pd.read_html(res.summary2().as_html())[1]