2015-04-22 98 views
1

我已經使用統計模型的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 
+0

查看'predict'的文檔字符串,看看它是否不能回答您的問題。至於預測變得不變,這是在ARMA模型中預期的。如果過程穩定,則預測收斂於長期預期值。 – jseabold

+0

據我所知,diff = 2的預測修正尚未發佈在statsmodels的發佈版本中,它在master中。 https://github.com/statsmodels/statsmodels/pull/2014 – user333700

回答

0

一點暗示。您應該在期間11,12,21包括一個虛擬干預變量。沒有必要對這個模型加倍差異。只需一個攔截和3個干預變量就行。 Y(T)= 332.20
+ [X1(T)] [( - 196.87)]:PULSE 12 + [X2(T)] [( - 153.53)]:PULSE 21 + [X3(T)] [ ( - 109.68)]:PULSE 11 + + [A(T)]

+0

對不起,我沒有讓你。你能否給我提供更多的信息。 –

+0

Vinay,在介入點處創建3個零因子和1個因果變量。你不總是在建模中使用內存。有時候,確定性變量(即遞增迴歸)是解決問題的好方法。 –