ПочатиПочніть безкоштовно

Прості прогнози з оціненої моделі MA

Тепер, коли ви оцінили модель MA на даних Nile, наступний крок — зробити просте прогнозування з цією моделлю. Як і для інших типів моделей, ви можете використати функцію predict() для побудови простих прогнозів з вашої оціненої моделі MA. Нагадаємо, що значення $pred — це сам прогноз, а $se — стандартна помилка для цього прогнозу; обидва базуються на підігнаній моделі MA.

Щоб знову зробити прогнози на кілька періодів після останнього спостереження, використайте аргумент n.ahead = h у виклику predict(). Прогнози будуються рекурсивно від 1 до h кроків уперед від кінця спостереженого часового ряду. Однак зауважте: окрім 1-крокового прогнозу, всі прогнози з моделі MA дорівнюють оціненому середньому значенню (intercept).

У цій вправі ви використаєте модель MA, отриману з ваших даних Nile, щоб зробити прості прогнози майбутніх рівнів стоку Нілу. Ваша модель MA з попередньої вправи вже доступна у вашому середовищі.

Ця вправа є частиною курсу

Аналіз часових рядів в R

Переглянути курс

Інструкції до вправи

  • Скористайтеся predict(), щоб зробити прогноз рівня стоку Нілу на 1971 рік. Збережіть прогноз у predict_MA.
  • Використайте predict_MA разом із $pred[1], щоб отримати 1-кроковий прогноз.
  • Здійсніть ще один виклик predict(), щоб побудувати прогноз з 1971 по 1980 роки. Для цього встановіть аргумент n.ahead рівним 10.
  • Запустіть наперед підготовлений код, щоб побудувати графік часового ряду Nile разом із прогнозом та 95% довірчими інтервалами прогнозу.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Make a 1-step forecast based on MA
predict_MA <-

# Obtain the 1-step forecast using $pred[1]


# Make a 1-step through 10-step forecast based on MA


# Plot the Nile series plus the forecast and 95% prediction intervals
ts.plot(Nile, xlim = c(1871, 1980))
MA_forecasts <- predict(MA, n.ahead = 10)$pred
MA_forecast_se <- predict(MA, n.ahead = 10)$se
points(MA_forecasts, type = "l", col = 2)
points(MA_forecasts - 2*MA_forecast_se, type = "l", col = 2, lty = 2)
points(MA_forecasts + 2*MA_forecast_se, type = "l", col = 2, lty = 2)
Редагувати та запускати код