Изменения

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

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

Нет изменений в размере, 20:36, 17 января 2021
Нет описания правки
<br>
Данные упорядочены относительно неслучайных моментов времени, и, значит, в отличие от случайных выборок, могут содержать в себе дополнительную информацию, поэтому нельзя пользоваться обычными способами валидации. Чтобы избежать смещения оценки необходимо удостовериться, что обучающие наборы данных содержат только наблюдения, которые произошли до событий из валидирующиx наборов.<br>
[[Файл:TimeSeriesCross-validation.png |thumb|left|400px|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 1.] кроссКросс-валидация временного ряда]]<br>
Возможным способом преодоления данной проблемы будет использование скользящего окна, как описано [https://robjhyndman.com/hyndsight/tscv/ здесь]. Эта процедура называется [[Кросс-валидация|кросс-валидацией]] временного ряда и может быть вкратце описана следующей картинкой (рис. 1), в которой синие точки обозначают тренировочный набор данных, а красные соответствующие валидационные наборы данных.<br>
==Краткое исследование данных==
[[Файл:ManufactureOfElectricalEquipment.png|thumb|right|300px|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 2. ] Набор данных описывающий график производства электрооборудования]]]<br>
В данной части используется несколько разных моделей для предсказания изменений в промышленном производстве,<br> которые для примера будем оценивать численно, как количество электрооборудования, произведённого в зоне Евро (рис. 2, 3).<br>
[[Файл:SeasonalPlotMonthluSeasonalPattern.png|thumb|right|300px|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 3. ] Сезонные колебания]]]
Набор данных описывает ежемесячное производство электрооборудования (компьютеры электрические и оптические приборы) в зоне евро (17 стран) в период с января 1996 по март 2012 года (см. график ниже). Последние два года будем использовать при тестировании.<br><br><br><br><br>
===Наивное предсказание===
[[Файл:NaiveElectricalEquipmentManufacturing.png|thumb|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 4. ] Наивная]]]<br>
Предсказания для каждого горизонта соотвествуют последнему наблюдаемому значению
Такие предскания предполагают, что стохастическая<ref>[https://ru.wikipedia.org/wiki/Стохастичность Википедия: Стохастичность]</ref> модель генерирует [[Участник:Mk17.ru|случайное блуждание]].<br>
[[Файл:SeasonalNaiveElectricalEquipmentManufacturing.png|thumb|left|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 5. ] Cезонно-наивная]]]<br>
Расширение наивной модели сезонно-наивная модель (англ. Season Naive, SNAIVE) {{---}} сезонно-наивная модель предполагает, что временной ряд имеет сезонную компоненту, и что период сезонности $T$.<br>
===Разделение по сезонам + любая модель===
[[Файл:STL_docompositionOnIndustrialProductionIndexData.png|thumb|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 6. ] Методы разложения ряда]]]<br>
Если данные показывают, что они восприимчивы к периодическим (сезонным) изменениям (ежедневно, еженедельно, ежеквартально, ежегодно), то будет полезным разложить исходный временной ряд на сумму трёх компонентов.<br>
Существуют несколько способов для такого разложения, но наиболее простой называется классическим разложением и заключается в том, чтобы оценить тренд $T(t)$ через скользящее среднее, посчитать $S(t)$, как среднее без тренда $Y(t) - T(t)$ для каждого сезона.<br>
Посчитать остаток, как $R(t) = Y(t) - T(t)-S(t)$.<br>
[[Файл:SeasonallyAdjustedIndustrial.png |thumb|left|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 7. ] Сезонные индексы ряда]]]
Классическое разложение можно расширить несколькими способами.<br>
Расширение позволяет использовать данный метод при:
2) Посчитать сезонное отклонение ряда $Y(t) - S(t)$, используя любую модель для прогнозирования сезонно-чувствительного временного ряда.<br>
3) Добавить прогнозам сезонность последнего временного периода во временном ряду (в нашем случае $S(t)$ для прошлого года).<br>
[[Файл:SeasonallyAdjustedTimeSeries.png|right|thumb|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 8. ] Декомпозиция и наивная модель]]]<br>
На следующем графике показаны сезонные индексы ряда с учётом сезонности (рис. 7).
===Экспоненциальное сглаживание ===
<br>
[[Файл:ExpSmoothing.png|thumb|left|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 9. данные ] Данные полученные для 2007 года с использованием модели экспоненциального сглаживания]]]
Экспоненциальное сглаживание<ref>[https://ru.wikipedia.org/wiki/Экспоненциальное_сглаживание Википедия: Экспоненциальное сглаживание]</ref> {{---}} один из наиболее успешных классических методов предсказаний. В своей базовой форме он называется простым экспоненциальный сглаживанием и его прогнозы описываются формулами:
$Ŷ(t+h|t) = ⍺y(t) + ⍺(1-⍺)y(t-1) + ⍺(1-⍺)²y(t-2) + …$<br>
'''''где $0<⍺<1.$ ''''' Если $⍺ = 0$, то текущие наблюдения игнорируются, если же $⍺ = 1$, то полностью игнорируются предыдущие наблюдения.<br>
[[Файл:ExpSmoothing+Decomposition.png|thumb|right|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 10. данные ] Данные полученные для 2007 года с использованием модели экспоненциального сглаживания и декомпозиции]]]
Заметно, что прогнозы равны взвешенному среднему от старых наблюдений, и что соответствующие веса убывают экспоненциально по мере хода времени.
===ARIMA, SARIMA===
<br>
[[Файл:SARIMA.png |thumb|left|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 11. ] SARIMA]]]
Также как и экспоненциальное сглаживание, интегрированная модель авторегрессии скользящего среднего (англ. autoregressive integrated moving average, ARIMA) также часто используются для прогноза временных рядов.
$\theta_1, \theta_2, \theta_3, ...$ - параметры скользящего среднего
}}
[[Файл:SARIMA_Decomposition.png|thumb|right|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 12. ] SARIMA декомпозированная]]]
ARIMA {{---}} комбинация этих двух подходов. Так как эти подходы требуются стационарности временного ряда, может понадобится продифференциировать/проинтегрировать ряд.
То есть рассматировать ряд разностей, а не исходный ряд.
===Garch===
<br>
[[Файл:GARCH.png |thumb|left|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 13. ] ARMA]]]<br>
В предыдущих моделях считалось, что слагаемое ошибки в стохастическом процессе генерации временного ряда имело одинаковую дисперсию.
===Динамические линейные модели===
[[Файл:DLM+Decomposition.png|right|thumb|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 14. ] DLM]]]<br>
Динамические линейные модели представляют другой класс моделей предсказания временных рядов(рис. 14).
Идея заключается в том, что в каждый момент времени $t$ эти модели соответствуют линейной модели, но коэффициент регрессии постоянно меняется. <br>Пример динамической линейной модели ниже:<br>
===TBATS===
<br>
[[Файл:TBATS_Electrical.png |left|thumb|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 15. ] DLM]]]
TBATS {{---}} это модели, которые основаны на экспоненциальном сглаживании (рис. 15).<br> Главной особенностью TBATS является возможность взаимодействия с несколькими сезонностями. Моделируя каждую функцию сезонности отдельным тригонометрическим отображением построенным на [[L 2-теория рядов Фурье|рядах Фурье]]. <br><br>Классическим примером комплексной сезонности будет отображение ежедневных объемов продаж, которые имеет, как еженедельные колебания, так и ежегодные.<br>
Ещё одна модель, способная взаимодействовать с несколькими сезонностями.
Это ПО с открытым исходным кодом от Фейсбука (рис. 16).<br>
[[Файл:Prophet.png |right|thumb|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 16. ] Prophet]]]
Prophet считает, что временной ряд может быть расложен следующим образом:<br>
==Оценка==
[[Файл:Evaluation.png |right|600px|thumb|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 17. ] MAE с перекрестной проверкой для каждой модели]]]
Выполнен выбор модели с помощью процедуры перекрестной проверки, описанной ранее. Не рассчитывая его для динамических линейных моделей и моделей LSTM из-за их высокой вычислительной стоимости и низкой производительности.<br>
На следующем рисунке показана [[средняя абсолютная ошибка]] (англ. Mean Absolute Error, MAE) с перекрестной проверкой для каждой модели и для каждого временного горизонта (рис. 17):
Чтобы получить объективную оценку наилучшей производительности модели, вычислим MAE на тестовом наборе (рис. 18), получив оценку, равную 5,24. На следующем рисунке можно увидеть MAE, оцененную на тестовой выборке для каждого временного горизонта.<br>
[[Файл:Cross-validated MAE.png |left|thumb|[https://towardsdatascience.com/an-overview-of-time-series-forecasting-models-a2fa7a358fcb Рисунок 18. ] MAE, тестовый набор]]]
<br><br><br>
===Как еще больше повысить производительность===
Анонимный участник

Навигация