7

我正在关注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 中返回预测值(预测区间)的置信区间?

谢谢。

4

2 回答 2

11

我们一直想让这更容易到达。你应该可以使用

from statsmodels.sandbox.regression.predstd import wls_prediction_std
prstd, iv_l, iv_u = wls_prediction_std(results)

如果您有任何问题,请在 github 上提出问题。

于 2013-04-27T05:42:44.397 回答
0

另外,您可以尝试使用 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”参数来更改置信区间和预测区间的显着性水平。

于 2017-11-09T00:13:53.577 回答