Как осуществить перекрестную проверку (по происхождению скользящего прогнозирования) с использованием ARIMA? - PullRequest
0 голосов
/ 01 ноября 2019

Предположим, у меня есть набор данных временного ряда, использующий 90% в качестве обучающего набора и 10% в качестве случайного набора проверки. Как я могу оценить точность модели ARIMA?

Нужно ли подгонять модель ARIMA к auto.arima, используя 100% полного набора данных, и итеративно возвращать ее в обучающий набор, используя forecast::Arima, чтобы предсказать набор проверки?

ИЛИ

Должен ли я итеративно подбирать модель ARIMA с auto.arima, используя обучающий набор и прогнозировать набор проверки, и, следовательно, другую модель и не переоснащать каждый раз ?

Я всегда думал, что это был первый, однако моя модель делает странные вещи, когда делает так, используя термины Фурье для включения множественной сезонности.

Буду очень признателен, если кто-то сможет мне помочьвне.

1 Ответ

1 голос
/ 01 ноября 2019

Я настоятельно рекомендую прочитать «Оценка точности прогноза» (раздел 3.4) «Прогнозирование Роба Хиндмана: принципы и практика» по теме перекрестной проверки моделей временных рядов.

https://otexts.com/fpp2/accuracy.html

Ваш метод перекрестной проверки, скорее всего, будет зависеть от того, что вы пытаетесь прогнозировать. Существует много различных методов перекрестной проверки моделей временных рядов.

Пример № 1 - Допустим, у меня есть месячные продажи за 2014–2018 годы, и я хочу построить модель для прогнозирования ежемесячныхпродажи за 2019 финансовый год. Я буду обучать свою модель ARIMA на 2014–2017 годы и прогнозировать 12 месяцев, а затем сравнивать результаты моих прогнозов с фактическими месячными продажами за 2018 год, которые у меня есть в качестве набора тестов, с использованием такой методики, как средний абсолютный процентошибка (MAPE, также обсуждается в книге Хиндмана). Тем не менее, ваши интервалы прогнозирования будут становиться все более большими по мере того, как вы будете прогнозировать дальше от своей последней текущей точки данных.

Пример # 2 - та же проблема прогнозирования ежемесячных продаж. Я мог бы также обучить модель в январе 2014 года - декабре 2017 года, а затем прогнозировать это время только за 1 месяц. Затем обучите модель на январь 2014 г. - январь 2018 г. и прогноз на февраль 2018 г., затем на тренировку январь 2014 г. - февраль 2018 г., прогноз на март 2018 г. и т. Д. Изображение ниже является хорошим описанием этой методологии.

Image of Example #2 from Forecasting: Principles and Practice

Существуют и другие способы перекрестной проверки, обсуждаемые в книге, которые, опять же, я рекомендую прочитать,R обладает множеством замечательных функций перекрестной проверки для временных рядов, таких как функция tsCV ().

Надеюсь, это поможет. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...