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

Использование tsCV() для кросс-валидации временных рядов

Функция tsCV() вычисляет ошибки кросс-валидации для временных рядов. Ей необходимо передать временной ряд, метод прогнозирования и горизонт прогноза. Вот пример из видеолекции:

> e = tsCV(oil, forecastfunction = naive, h = 1)

В этом упражнении вы воспользуетесь tsCV(), чтобы вычислить и построить значения MSE для горизонтов прогноза до 8 шагов вперёд, применив метод naive() к данным goog. Для визуализации используется библиотека ggplot2 — возможно, вы с ней ещё не знакомы, но мы предоставили достаточно кода, чтобы вы могли разобраться с остальным.

Обязательно ознакомьтесь со слайдами по функции tsCV() из лекции. Данные goog уже загружены в вашу рабочую среду.

Это упражнение является частью курса

Прогнозирование в R

Посмотреть курс

Инструкции к упражнению

  • Используя данные goog и функцию naive() для прогнозирования, вычислите ошибки кросс-валидации для горизонтов до 8 шагов вперёд. Сохраните результат в переменную e.
  • Вычислите значения MSE для каждого горизонта прогноза и исключите пропущенные значения из e, указав второй аргумент функции. Выражение для вычисления MSE уже предоставлено.
  • Постройте график значений MSE (y) в зависимости от горизонта прогноза (x). Обратите внимание на логику передачи аргументов функции. Если в списке аргументов указано MSE = mse, то mse — это объект, существующий в вашей рабочей среде за пределами функции, а MSE — это имя, под которым этот объект доступен внутри функции.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Compute cross-validated errors for up to 8 steps ahead
e <- tsCV(___, forecastfunction = ___, h = ___)

# Compute the MSE values and remove missing values
mse <- colMeans(e^2, na.rm = ___)

# Plot the MSE values against the forecast horizon
data.frame(h = 1:8, MSE = mse) %>%
  ggplot(aes(x = h, y = ___)) + geom_point()
Редактировать и запускать код