Динамическая регрессия в пакете прогнозирования R

#r #time-series #forecasting #arima

Вопрос:

У меня есть временной ряд из двух переменных, представляющих две валюты: SYP (сирийский фунт) и LBP (ливанский фунт). Данные представляют собой дневные значения обеих валют за предыдущие шесть месяцев. Ранее я запустил стандартную регрессионную модель, используя SYP в качестве зависимой переменной и LBP в качестве независимой переменной. Вот такие результаты:

 SYPts <- ts(SYP_LBP)
modelSYPLBP <- tslm(SYP ~ LBP, data = SYPts)
summary(modelSYPLBP)



Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -835.77100  228.93013  -3.651 0.000319 ***
LBP            0.41801    0.02744  15.235  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 324.9 on 248 degrees of freedom
Multiple R-squared:  0.4834,    Adjusted R-squared:  0.4814 
F-statistic: 232.1 on 1 and 248 DF,  p-value: < 2.2e-16
 

Однако, когда я пытаюсь запустить модель динамической регрессии с помощью вызова auto.arima из пакета прогноза, я получаю:

 model <- auto.arima(SYPts[, "SYP"], xreg = SYPts[, "LBP"], stationary = FALSE)
summary(model)


Series: SYPts[, "SYP"] 
Regression with ARIMA(0,1,1) errors 

Coefficients:
          ma1   drift     xreg
      -0.4654  5.6911  -0.0163
s.e.   0.0591  3.3376   0.0315

sigma^2 estimated as 9744:  log likelihood=-1495.39
AIC=2998.78   AICc=2998.94   BIC=3012.85

Training set error measures:
                      ME     RMSE      MAE        MPE     MAPE    MASE
Training set -0.06985184 97.92004 46.45812 -0.1826244 1.792092 1.18404
                    ACF1
Training set 0.001792873
 

Коэффициент регрессии теперь отрицательный и намного меньше, чем коэффициент, полученный с использованием стандартной регрессионной модели.

Кроме того, когда я пытаюсь спрогнозировать с помощью модели, предполагающей 0 изменений LBP в течение следующих 15 дней, я получил довольно плоскую кривую прогноза, и, поскольку оценка коэффициента отрицательна, кривая становится более плоской, а затем отрицательной по мере увеличения прогнозных значений LBP.

Я хотел бы спросить: 1 — Допустил ли я какую-то конкретную ошибку при обработке данных и подготовке модели? Например, я не ставил никакой частоты в серии времени. Должен ли я? 2 — Должен ли я дополнительно вмешиваться в данные, дифференцируя их перед созданием модели? В формуле, которую я использовал СТАЦИОНАРНО = ЛОЖЬ, как если бы я использовал СТАЦИОНАРНО = ИСТИНА, я получаю очень низкое значение p в тесте checkresiduals. 3 — Я не понимаю, не делаю ли я что-то неправильно при создании прогнозных значений для независимой переменной (LBP). В формуле forecast <- forecast(model, xreg = rep(10000,15)) я предполагаю, что два аргумента rep представляют соответственно дополнительное значение LBP и за сколько дней я хочу, чтобы оно повторилось во времени. Поскольку 10000 было последним значением LBP во временном ряду, используя его, я предполагаю, что в течение следующих 15 дней никаких изменений не произойдет. Правильно ли это?

Спасибо