更新请参阅第二个更新的答案。一些模型和结果类现在有一个get_prediction方法,该方法提供包括预测区间和/或预测平均值的置信区间在内的附加信息。
旧答案:
iv_l和iv_u给出了每个点的预测间隔的限制。
预测区间是观测值的置信区间,包括误差估计。
我认为,平均预测的置信区间在statsmodels中还不可用。
(实际上,拟合值的置信区间隐藏在影响异常值汇总表中,但我需要对此进行验证。)
正确的statsmodels预测方法在TODO列表中。
添加
OLS有置信区间,但访问有点笨拙。
要在运行脚本后包含:from statsmodels.stats.outliers_influence import summary_table
st, data, ss2 = summary_table(re, alpha=0.05)
fittedvalues = data[:, 2]
predict_mean_se = data[:, 3]
predict_mean_ci_low, predict_mean_ci_upp = data[:, 4:6].T
predict_ci_low, predict_ci_upp = data[:, 6:8].T
# Check we got the right things
print np.max(np.abs(re.fittedvalues - fittedvalues))
print np.max(np.abs(iv_l - predict_ci_low))
print np.max(np.abs(iv_u - predict_ci_upp))
plt.plot(x, y, 'o')
plt.plot(x, fittedvalues, '-', lw=2)
plt.plot(x, predict_ci_low, 'r--', lw=2)
plt.plot(x, predict_ci_upp, 'r--', lw=2)
plt.plot(x, predict_mean_ci_low, 'r--', lw=2)
plt.plot(x, predict_mean_ci_upp, 'r--', lw=2)
plt.show()