我用下面一起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()方法在这里 。 您可以通过修改“阿尔法”参数改变置信区间和预测区间的显着性水平。