Бэктестинг для X-13ARIMA-SEATS

Мы слышим много вопросов от наших пользователей о точности прогнозирования: как мой прогноз модели будет сочетаться с фактическими значениями в будущем? Совпадают ли прогнозные и фактические значения? Какова будет ошибка отслеживания?

Техника бэктестинга решает эти вопросы, но с простой изюминкой: если бы мы могли вернуться в прошлое, мы могли бы откалибровать модель, используя только данные, доступные до этого времени, и сделать прогноз вне выборки. Затем мы повторяем процедуру для разных дат.

В конце процесса бэктестинга мы генерируем временной ряд прогнозируемых значений, который затем можно проанализировать в сравнении с фактическим временным рядом. Затем мы можем рассчитать всевозможные статистические данные.

Эта статья была написана под влиянием конкретного запроса в службу поддержки от одного из наших пользователей:

“Как провести бэктестирование прогноза X-13ARIMA-SEATS по сезонно скорректированным и итоговым (т.е. несезонно скорректированным) значениям?”

Для проведения бэктестинга нам необходимо запустить несколько сценариев X13AS, которые отличаются только набором входных данных.

В этом учебном пособии мы будем использовать ежемесячные данные о занятости в несельскохозяйственном секторе Министерства труда США (DOL) за период с января 1970 года по июнь 2022 года.

  1. С помощью мастера X13 Wizard постройте модель X13, используя полный набор данных. Мастер запишет спецификацию модели (текст в формате JSON) в рабочий лист, где вы ее укажете.
    Используйте мастер X13 Wizard для создания модели X13. В результате вы получите спецификацию модели в формате JSON.
  2. Далее в пустом столбце перечислите все периоды, для которых вы хотите сделать прогноз.
    Столбец данных
  3. Подсчитайте количество точек данных от начала набора данных до каждого периода, указанного в шаге (2).
    Рассчитайте точки данных от начала набора данных до периода, указанного в столбце 'Месяц'.
  4. Скопируйте формулу X13AS(.) из пункта (1) в отдельный столбец, соседний со столбцом из пункта (3).
    Используйте формулу X13 для каждого из прогнозных периодов.
  5. Замените диапазон ячеек входных данных вызовом функции NxSubset(.). Функция NxSubset принимает в качестве 1-го аргумента полный набор данных, но финишное смещение вычисляется в столбце из шага (3).
    С помощью функции NxSubset (выделена желтым цветом) выберите набор данных из 1-го аргумента в аргумент 612 (F10).

    Примечание:

    Пожалуйста, обратитесь к Справочное руководство NxSubset(.) чтобы узнать больше.

  6. Теперь функция X13AS(.) строит новый сценарий, используя только данные до этого момента.
  7. Используя функции X13ASCOMP(.) и X13ASFORE(.), запросите компонент или прогнозное значение для даты в этой строке.
    С помощью функции X13ASFORE(.) можно получить прогнозное значение на соседнюю дату.
  8. Используйте встроенную функцию Excel VLOOKUP(.) для запроса фактического значения каждой строки.
    Использование функции VLOOKUP(.) для получения фактических данных за соседнюю дату.
  9. Скопируйте формулы из верхней строки в остальные части таблицы. Это вызовет серию вычислений модели X13, и их завершение может занять до минуты.
    Таблица результатов бэктестинга X13 после копирования формул на остальные выбранные периоды.
  10. Наконец, давайте построим график бэктестинга вместе с фактическими значениями.
    График, показывающий сравнение бэктестированных прогнозных значений с фактическими значениями для данных DOL Payroll Employment с января-21 по июнь-2022.

Заключение

В нашем примере мы рассчитали несезонный скорректированный прогноз на один месяц за последние 24 месяца, но мы можем легко расширить диапазон исследования и/или рассчитать другие результаты.

После того как мы рассчитали выходные временные ряды бэктестинга, мы должны количественно описать ошибку отслеживания прогноза, используя ваш любимый показатель эффективности прогноза (входит в NumXL), такой как MAPE, RMSE, MASE и т. д.

  Вложения

Комментарии

Войдите в службу, чтобы оставить комментарий.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0