自动Arima Python中的预测间隔

时间:2019-07-18 14:21:55

标签: python intervals prediction arima

我想使用python中的自动Arima计算.95预测间隔。我想获得预测的标准误差,就像我们可以在R中获得统计预测一样。

然后我将使用公式-点预测±1.96 *当时t的预测标准误差来获得上下边界。

如何在python中获得此预测的标准错误。我为此使用自动Arima预测。我知道statsmodel预测具有std错误参数来获取这些,但是我正在使用自动Arima预测。请告诉我如何获得自动有货的10个时间步的预测间隔? Return Conf interval参数返回非常宽的上限和下限区间。如何获得有马(1 0 2)订单的预测标准误差。

1 个答案:

答案 0 :(得分:0)

自动Arima通过将statsmodels.tsa.ARIMAstatsmodels.tsa.statespace.SARIMAX包装在一起作为估算器来工作。您可以使用使用statsmodels的方法提取结果。这是一个示例模型:

 model = auto_arima(y_train, start_p=0, start_q=0,
            test='adf',       
            max_p=7, max_q=7, 
            m=np.int(season),             
            d=n_diffs,           
            seasonal=True,  
            start_P=0, 
            D=1, 
            trace=True,
            error_action='ignore',  
            suppress_warnings=True, 
            stepwise=True)

print(model.conf_int())

将返回拟合参数为95%置信区间的数组。请随时阅读本文档SARIMAX results,以了解有关模型结果的更多信息。

对于10步预测,您可以执行以下操作以获得置信区间:

y_forec, conf_int  = model.predict(10,return_conf_int=True,alpha=0.05)
print(conf_int)

要获取模型标准误差,可以使用以下方法提取标准误差:

std_error = model.bse()

要获得预测标准误差,应使用置信区间获得标准误差。以下是解释相同内容的答案:std_err for forecast wiki for standard error and pred interval relation