难以理解和使用统计模型的SARIMAX"conf_int()"输出



我一直在尝试使用statsmodels的SARIMAX模型,但在我的预测周围返回一个置信区间。

我的目标是为置信区间的上限和下限生成一系列预测。

我尝试拟合我的模型,然后使用 get_prediction() ,最后conf_int() . get_prediction()按预期返回每个索引的数据。但是,conf_int()返回一个奇怪的矩阵:

        0   1
ar.S.L7 0.018806    0.194818
ma.S.L7 -0.830238   -0.717128
sigma2  40.832875   48.105937

我不明白。我注意到这些是模型的参数,但我不知道如何使用这些参数来获取每个指数的上限和下限预测。

我咨询过:这个,这个,还有这个,但他们似乎都没有同样的问题。我也看过这个问题。我试图尽可能密切地遵循他们的代码,但无法重现问题。

当你这样做时:

model = sm.tsa.statespace.SARIMAX(params)
fit_model = model.fit()
nforecast = 144
forecast = fit_model.get_prediction(end=model.nobs+nforecast)
ci = forecast.conf_int()
print(ci.head())

您应该获得:

          upper [name of your feature]     lower [name of your feature]
 time1           0.018806                    0.194818 
 time2          -0.830238                   -0.717128
 time3           40.832875                   48.105937

如果原始数据中没有要素标题,则 CI 的默认标题仅为"上"和"下"。

最新更新