Несоответствие прогнозов статистической модели ARIMA

Я написал приведенный ниже код для прогнозирования данных с использованием ARIMA статистических моделей, но мои результаты не совпадают с фактическими данными, и прогнозируемые значения становятся почти постоянными после первых нескольких прогнозов, дающих прямую горизонтальную линию на графике.

И если прогноз предназначен для 2-го разностного порядка, потому что я использовал 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  

person VINAY S G    schedule 22.04.2015    source источник
comment
Взгляните на строку документации для predict и посмотрите, не отвечает ли она на ваши вопросы. Что касается постоянных прогнозов, это ожидается от модели ARMA. Прогнозы сходятся к долгосрочному ожидаемому значению, если процесс является стабильным.   -  person jseabold    schedule 22.04.2015
comment
Насколько я понимаю, исправление для прогноза с diff = 2 еще не в выпущенной версии statsmodels, оно есть в master. github.com/statsmodels/statsmodels/pull/2014   -  person Josef    schedule 22.04.2015


Ответы (1)


Небольшая подсказка. Вы должны включить фиктивную переменную вмешательства в периоды 11,12, 21. Нет необходимости удваивать разницу в этой модели. Подойдет только перехват и 3 переменных вмешательства. Y (T) = 332,20
+ [X1 (T)] [(- 196,87)]: ИМПУЛЬС 12 + [X2 (T)] [(- 153,53)]: ИМПУЛЬС 21 + [X3 (T)] [( - 109.68)]: ИМПУЛЬС 11 + + [A (T)]

person Tom Reilly    schedule 22.04.2015
comment
извини, я тебя не понял. не могли бы вы дать больше информации по этому поводу. - person VINAY S G; 22.04.2015
comment
Vinay, создайте 3 причинные переменные с нулями и 1 в точке вмешательства. Вы не всегда используете память при моделировании. Иногда детерминированные переменные (например, ступенчатая регрессия) - хороший способ исправить ситуацию. - person Tom Reilly; 23.04.2015