#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 дней никаких изменений не произойдет. Правильно ли это?
Спасибо