НачатьНачать бесплатно

Простые прогнозы на основе оценённой модели MA

Теперь, когда вы оценили модель MA на данных Nile, следующий шаг — построить простые прогнозы. Как и для других типов моделей, здесь можно использовать функцию predict(). Напомним: значение $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)
Редактировать и запускать код