Сезонная разность и auto.arima

Aug 16 2020

Я начал изучать разные алгоритмы прогнозирования, используя R. В качестве примера, может быть, не самого лучшего (из-за отсутствия сезонности), я использую акции Facebook.

Обучающий набор:

SYMBOL <- getSymbols("FB", from = "2015-01-01", to = "2019-12-31")
Stocks_FB_day <- get(SYMBOL[1])
Stocks_FB_day_Cl <- Cl(Stocks_FB_day)

Набор для тестирования:

SYMBOL <- getSymbols("FB", from = "2020-01-01", to = "2020-01-21")
Stocks_FB_day <- get(SYMBOL[1])

Я построил разные модели, в том числе ARIMA. Я знаю, что этот не самый подходящий для ежедневных данных об акциях, однако я решил попробовать. Принимая во внимание, что существует примерно 252 наблюдения в год, я построил графики разложения, используя stl()функцию и установив частоты, равные 126 (полгода) и 252 (полный год). Оба графика показывают, что сезонные сигналы на самом деле не важны. Вот один из них:

Это также можно сделать из графиков ACF и PACF (может я ошибаюсь?):

Это мои эксперименты с auto.arimaфункцией:

Каждый раз, когда я писал «D = 1» (независимо от того, была ли частота 252 или 126), вызывая сезонную разность, я получал более высокие значения AIC, но более точные прогнозы. Я не говорю, что получение плоских / почти плоских линий нецелесообразно, тем не менее, иногда вы хотите знать больше, чем просто общее направление вашего будущего прогноза, если это возможно.

Я предполагаю, что наделал много ошибок, и вполне возможно, что весь подход вообще не подходит.

Главный вопрос:

"Имеет ли смысл принудительное использование сезонной разницы (D = 1) в тех случаях, когда оно дает более точные прогнозные значения (я сравниваю их с набором задержек, например, вычисляя MAPE), даже если это кажется ненужным из-за факт, что сезонность слабая? "

Ответы

3 ChrisHaug Aug 16 2020 at 21:41

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

Но если знания предметной области не говорят, что это должно быть сезонным, и данные на самом деле не выглядят сезонными, и вы случайным образом говорите: «Эй, а что, если я попытался установить сезонность?» и вы становитесь лучше из результатов выборки, вам определенно следует скептически относиться к тому, действительно ли вы улучшили свою модель таким образом, чтобы она была полезна в будущем. Конечно, возможно, что знания предметной области ошибочны или что добавление сезонной разницы устранило реальную, но не связанную проблему с вашей моделью, которую вы могли бы лучше оправдать, исправляя напрямую.

Я вижу здесь множество людей, которые изучают прогнозирование и, похоже, тяготеют к ценам на акции в качестве первого проекта. К сожалению, природа предметной области такова, что в рамках класса моделей ARIMA цены на акции почти всегда лучше всего моделируются как случайные блуждания, поэтому не очень интересны с точки зрения обучения. Это фундаментальное свойство предметной области, и это связано с тем, как совокупные ожидания будущих цен влияют на инвесторов, чтобы изменить будущую траекторию цены путем покупки или продажи актива. Этот механизм обратной связи имеет тенденцию ослаблять любые легко ожидаемые движения, поэтому все, что вы можете легко заметить, - это шум.

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

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