我正在关注statsmodels 教程
OLS 模型配有
formula = 'S ~ C(E) + C(M) + X'
lm = ols(formula, salary_table).fit()
print lm.summary()
预测值通过以下方式提供:
lm.predict({'X' : [12], 'M' : [1], 'E' : [2]})
结果作为单值数组返回。
是否有一种方法可以在 statsmodels 中返回预测值(预测区间)的置信区间?
谢谢。
我正在关注statsmodels 教程
OLS 模型配有
formula = 'S ~ C(E) + C(M) + X'
lm = ols(formula, salary_table).fit()
print lm.summary()
预测值通过以下方式提供:
lm.predict({'X' : [12], 'M' : [1], 'E' : [2]})
结果作为单值数组返回。
是否有一种方法可以在 statsmodels 中返回预测值(预测区间)的置信区间?
谢谢。
我们一直想让这更容易到达。你应该可以使用
from statsmodels.sandbox.regression.predstd import wls_prediction_std
prstd, iv_l, iv_u = wls_prediction_std(results)
如果您有任何问题,请在 github 上提出问题。
另外,您可以尝试使用 get_prediction 方法。
values_to_predict = pd.DataFrame({'X' : [12], 'M' : [1], 'E' : [2]})
predictions = result.get_prediction(values_to_predict)
predictions.summary_frame(alpha=0.05)
我在这里找到了 summary_frame() 方法,您可以在这里找到 get_prediction() 方法。您可以通过修改“alpha”参数来更改置信区间和预测区间的显着性水平。