Изменения

Перейти к: навигация, поиск

Анализ временных рядов

1608 байт добавлено, 15:54, 11 января 2021
Нет описания правки
В течение каждого года можно увидеть повторяющийся рисунок, описывающий сезонные колебания(рис. 3). Посмотрим ближе на графики каждого года, чтобы лучше его понять, представим графики в декартовых и полярных координатах.<br>
[[Файл:SeasonalPlotMonthluSeasonalPattern.png|thumb|left|400px300px|Рисунок 3. Сезонные колебания<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]]
Можно наблюдать сильно выраженные сезонные изменения, особенно большой спад в августе, связанный с летними каникулами(рис. 4).
[[Файл:SeasonalNaiveElectricalEquipmentManufacturing.png |thumb|right|500px|Рисунок 4. Сезонная<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]]
==Модели прогнозирования временных рядов==
Будем предсказывать 12 месяцев, соответсвтенно, значение t+1, t+2, …, t + 12.
Будем использовать Среднюю абсолютную ошибку(MAE) для оценки работы модели.<br><br><br>
===Наивная===
Предсказания для каждого горизонта соотвествуют последнему наблюдаему значению
<code>Y(t + h|t) = Y(t)</code>.
[[Файл:NaiveElectricalEquipmentManufacturing.png|thumb|Рисунок 4. Наивная<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref> ]] Такие предскания предполагают, что стохастическая модель генерирует случайное блуждание(рис. 4).
Расширение наивной модели (рис. 5) {{---}} SNAIVE {{---}} сезонно-наивная модель предполагает, что временной ряд имеет сезонную компоненту, и что период сезонности T. <br>Прогнозы SNAIVE - модели описываются формулой
<code>Y*(t+h|t) = Y(t+h-T) </code>.
Получаемые прогнозы следующий T шагов совпадают с предыдущими T шагами.
Эти модели часто используются как ориентировочные модели. Следующий график показывает предсказания двух моделей для 2007 года.<br>
[[Файл:NaiveElectricalEquipmentManufacturing.png|thumb|left|500px|Рисунок 3. Наивная<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref> ]][[Файл:SeasonalNaiveElectricalEquipmentManufacturing.png |thumb|right|500px|Рисунок 45. Сезонно наивная<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]]<br>
Модели были имплементированы с помощью встроенных функций naive и snaive из пакета forecast в R.
*избежать лишнего сглаживания
Обзор методов разложений ряда можно увидеть по [https://otexts.com/fpp2/decomposition.html ссылке***ссылка***]. Мы воспользуемся реализацией из стандартной библиотеки(рис. 6), которая достаточно универсальна и надёжна.<br>[[Файл:STL_docompositionOnIndustrialProductionIndexData.png|thumb|Рисунок 6. Методы разложения ряда<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]]<br>
Одним из способов использования декомпозиции для прогнозирования будет:
1)разложить обучающий набор алгоритмом из STL
3)Добавить прогнозам сезонность последнего временного периода во временном ряду(в нашем случае S(t) для прошлого года)
На следующем графике показаны сезонные индексы ряда с учётом сезонности(рис. 7):<br>[[Файл:SeasonallyAdjustedIndustrial.png|thumb|Рисунок 7. Сезонные индексы ряда<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]]<br>
Следующий график показывает предсказания полученные для 2007 года с использованием STL декомпозиции и наивной модели (рис. 8) для сезонно-изменяемого временного ряда:<br>[[Файл:SeasonallyAdjustedTimeSeries.png|thumb|Рисунок 8. Декомпозиция и наивная модель<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]]<br>
Декомпозиция была исплементирована с помощью встроенной в стандартную либу функции.
'''''with 0<⍺<1.'''''<br>
Заметим, что прогнозы равны взвешеному взвешенному среднему от старых наблюдений, и что соответствующие веса убывают экспоненциально по мере хода времени.
Некоторые методы для расширения алгоритма позволяют добавить тренд, его затухание и сезонность.
Экспоненциальное сглаживание состоит из 9 моделей, которые подробно описаны здесь(ссылка)
Следующие графики (рис. 9, 10) описывают прогнозы данные полученные для 2007 года с использованием модели экспоненциального сглаживания(выбраны автоматически), которые подходили исходному и сезонно-чувствительному временному ряду.
[[Файл:ExpSmoothing.png|thumb|Рисунок 9. данные полученные для 2007 года с использованием модели экспоненциального сглаживания<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]][[Файл:ExpSmoothing+Decomposition.png|thumb|Рисунок 10. данные полученные для 2007 года с использованием модели экспоненциального сглаживания и декомпозиции<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]]
Модели были имплементированы с помощью функции ets в forecast пакете R.<br>
Для полного ввода в ARIMA, SARIMA читайте по ссылке
Данные графики показывают предсказания полученные для 2007 года с использованием модели SARIMA(рис. 11,12):<br>[[Файл:SARIMA.png|thumb|Рисунок 11. SARIMA<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]][[Файл:SARIMA_Decomposition.png|Рисунок 12. SARIMA декомпозированная<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]]
Имплементация с помощью встроенной в R функции auto.arima.<br>
 
===Garch===
В предыдущих моделях мы считали, что слагаемое ошибки в стохастическом процессе генерации временного ряды имели одинаковую дисперсию.
В GARSH-модели (рис. 13) мы преполагаем, что слагаемое ошибки следуют ARMA процессу(саморегрессирующее скользящее среднее), соответственно слагаемое меняется по ходу времени. Это особенно полезно при моделировании финансовых временных рядов, так как диапазон изменений тоже постоянно меняется.
Обычно ARMA используется и для учёта среднего, для подробного введения в Garsh модели смотри здесь:
[[Файл:GARCH.png|thumb|Рисунок 13. ARMA<ref>[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb towardsdatascience.com]</ref>]]<br>
===Динамические линейные модели===
Динамические линейные модели представляют другой класс моделей предсказания временных рядов
84
правки

Навигация