使用Pandas数据帧和stats ols方法,我能够使用代码运行回归
import pandas as pd
from pandas.stats.api import ols
df = pd.DataFrame({"A": [56, 55, 57, 58, 56, 58, 59, 60, 63, 62, 63, 65, 66, 68], "B": [1,2,3,4,5,6,7,8,9,10,11,12,13,14]})
res = ols(y=df['A'], x=df[['B']])
然而,虽然这有效
print res
我试图得到拟合的系数,这不起作用
print res.params
我收到错误
AttributeError: 'OLS' object has no attribute 'params'
我如何访问参数,我特别关注提取回归系数,这是我感兴趣的。
答案 0 :(得分:1)
试
res.beta
B 0.945055
intercept 53.340659
dtype: float64
In [48]:
仅适用于B
res.beta.B
0.945055
答案 1 :(得分:1)
通常,您可以使用dir(variable)
查看对象的所有成员。
对于res
(类'pandas.stats.ols.OLS'),您会看到有成员:
'beta', 'df', 'df_model', 'df_resid', 'f_stat', 'f_test', 'nobs', 'nw_lags', 'p_value', 'predict', 'r2', 'r2_adj', 'resid', 'rmse', 'sm_ols', 'std_err', 'summary', 'summary_as_matrix', 't_stat', 'var_beta', 'x', 'y', 'y_fitted', 'y_predict'
所以你可以做res.beta
例如。反过来又有'B'
和'intercept'
。 - > res.beta.B
BTW:成员名称中的前导“_”表示私有,并且预计您不会直接访问这些内容。例如_x_trans