簡體   English   中英

ARIMA Model 在循環中 python

[英]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

https://www.statsmodels.org/dev/generated/statsmodels.tsa.arima.model.ARIMAResults.predict.html#statsmodels.tsa.arima.model.ARIMAResults.predict

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM