[英]ARIMA Model In loop python
我有一個 arima Model 在 train[:350] test[350:427] 值的數據集中訓練。 我在訓練值中擬合 model,我的 (p,d,q) 值為 (1,1,2)。 目前我一次只能預測一個時間步長。 我想在循環中運行 model,以便每次輸出一個預測值時,將其添加到訓練數據集中,並使用新值來預測另一個新的預測值。 我無法理解該怎么做,到目前為止,這就是我所擁有的。
historical = train['max']
predictions = []
for t in range(len(test)):
model = ARIMA(historical, order=(1,1,2))
model_fit = model.fit()
output = model_fit.forecast(exog=test['max'][t])
predictions.append(output)
observed = test['max'][t]
historical.append(predictions)
print(len(historical))
您不需要循環,而是使用 predict 方法:
model_fit.predict(start, end, endog=test["max"], dynamic=True)
在這種情況下,ARIMA 會將預測值添加到您的數據中,以便做出新的預測。 如果您想用實際值更新數據,請設置dynamic=False
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.