Python 在进行新的n步超前预测之前,向SARIMAX模型添加新观测值时出现值错误

Python 在进行新的n步超前预测之前,向SARIMAX模型添加新观测值时出现值错误,python,statsmodels,arima,forecast,Python,Statsmodels,Arima,Forecast,我在timeseries上构建了一个SARIMAX模型。现在的目标是使用该模型定期对未来12周进行预测 我的训练数据有152次观察。我可以建立预测,然后预测未来12个观测值。然而,现在我们还有3周的时间,我想将这3周内生变量和外生变量的实际值添加到我的traindata中,并在不重新调整模型的情况下,根据这些155个观测值获得未来9周的更新预测 在上,我发现一个人应该能够通过使用: append_newobs = <fitted model>.append(endog=detrend

我在timeseries上构建了一个SARIMAX模型。现在的目标是使用该模型定期对未来12周进行预测

我的训练数据有152次观察。我可以建立预测,然后预测未来12个观测值。然而,现在我们还有3周的时间,我想将这3周内生变量和外生变量的实际值添加到我的traindata中,并在不重新调整模型的情况下,根据这些155个观测值获得未来9周的更新预测

在上,我发现一个人应该能够通过使用:

append_newobs = <fitted model>.append(endog=detrended_test.loc[153:155], 
                                          exog=exog_test.loc[153:155], refit=False)
fcast = append_newobs.get_forecast(9, exog=exog_test[156:])

问题解决了。这是因为我的去渲染值是一个列表,然后去渲染测试是一个dataframeIt解决了。这是因为我的去渲染值是一个列表,然后去渲染测试是一个数据帧
# =============================================================================
# ------------------------------ FIT SARIMAX ON DETRENDED DATA-----------------
# =============================================================================

exog=train[['fl_has_publicholiday', 'fl_krokusvakantie', 'fl_paasvakantie', 
             'jul', 'aug', 'fl_herfstvakantie', 'Christmas_week', 'Newyears_week', 'jan', 'mei', 
             'sep']]
modx8 = sm.tsa.statespace.SARIMAX(endog=detrended, trend='n', order=(0,0,1), seasonal_order=(0,0,1,52), exog=exog)
resx8 = modx8.fit(disp=False)

# =============================================================================
# ------------------------------ PRODUCE 12 WEEKS FORECAST -----------------
# =============================================================================

exog_test=test[['fl_has_publicholiday', 'fl_krokusvakantie', 'fl_paasvakantie', 
             'jul', 'aug', 'fl_herfstvakantie', 'Christmas_week', 'Newyears_week', 'jan', 'mei', 
             'sep']]
pred_test=resx8.get_forecast(12, exog=exog_test) #Forecast fluctuations around the trend
print('Forecast:')
print(pred_test.predicted_mean)
print('Confidence intervals:')
print(pred_test.conf_int())

# ==================================================================================================
# -----------ADD NEW OBSERVED DATA AND BUILD FORECAST ON LONGER TIMESERIES WITHOUT REFIT ------------
# ==================================================================================================

append_newobs = resx8.append(endog=detrended_test.loc[153:155], exog=exog_test.loc[153:155], 
refit=False)
fcast = append_newobs.get_forecast(9, exog=exog_test[156:]) 

This fails with the value error stated above.