我已經使用統計模型的ARIMA編寫了下面的代碼來預測數據,但是我的結果與實際數據並不匹配,並且預測值在前幾個預測給出圖上的水平直線後幾乎不變。Statsmodel ARIMA預測不匹配
如果預測是針對第二差分順序的,因爲我已經使用了d = 2,那麼如何獲得對於相同模型的原始數據的預測。
arima_mod = sm.tsa.ARIMA(df, (1,2,0)).fit()
print(arima_mod.params)
print(arima_mod.summary())
predict_workshop = arima_mod.predict('2011-04-01', '2011-05-30',dynamic=True)
print(predict_workshop)
實際數據
2011-04-01 356.839
2011-04-02 363.524
2011-04-03 332.864
2011-04-04 336.228
2011-04-05 264.749
2011-04-06 321.212
2011-04-07 384.382
2011-04-08 273.250
2011-04-09 307.062
2011-04-10 326.247
2011-04-11 222.521
2011-04-12 135.326
2011-04-13 374.953
2011-04-14 329.583
2011-04-15 358.853
2011-04-16 343.169
2011-04-17 312.086
2011-04-18 339.302
2011-04-19 300.534
2011-04-20 367.166
2011-04-21 178.670
2011-04-22 320.823
2011-04-23 349.995
2011-04-24 323.120
2011-04-25 331.665
2011-04-26 352.993
2011-04-27 359.253
2011-04-28 308.281
2011-04-29 329.357
2011-04-30 301.873
預測值
2011-04-01 -50.693560
2011-04-02 30.715553
2011-04-03 -19.081318
2011-04-04 11.378766
2011-04-05 -7.253263
2011-04-06 4.143701
2011-04-07 -2.827670
2011-04-08 1.436625
2011-04-09 -1.171787
2011-04-10 0.423744
2011-04-11 -0.552221
2011-04-12 0.044764
2011-04-13 -0.320404
2011-04-14 -0.097036
2011-04-15 -0.233667
2011-04-16 -0.150092
2011-04-17 -0.201214
2011-04-18 -0.169943
2011-04-19 -0.189071
2011-04-20 -0.177371
2011-04-21 -0.184528
2011-04-22 -0.180150
2011-04-23 -0.182828
2011-04-24 -0.181190
2011-04-25 -0.182192
2011-04-26 -0.181579
2011-04-27 -0.181954
2011-04-28 -0.181724
2011-04-29 -0.181865
2011-04-30 -0.181779
查看'predict'的文檔字符串,看看它是否不能回答您的問題。至於預測變得不變,這是在ARMA模型中預期的。如果過程穩定,則預測收斂於長期預期值。 – jseabold
據我所知,diff = 2的預測修正尚未發佈在statsmodels的發佈版本中,它在master中。 https://github.com/statsmodels/statsmodels/pull/2014 – user333700