k-tree
Электронный учебник

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

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

online-инструмент

.

Составляющие временного ряда

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

Что бы понять отличие этих трёх величин, смоделируем функцию расстояния от земли до луны. Известно, что в среднем луна каждый год отдаляется на 4 см - это тренд, в течение дня луна совершает оборот вокруг земли и расстояние колеблется от ~362600 км до ~405400 км - это сезонность. Шум - это "случайные" факторы, например, влияние других планет. Если мы изобразим сумму этих трёх графиков, то мы получим временной ряд - функцию, показывающую изменение расстояния от земли до луны во времени.

График 1. Тренд
График 2. Сезонность
График 3. Шум

Тренд. Методы сглаживания

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

Метод скользящей средней

Идея метода скользящего среднего заключается в смещении точки графика на среднее значение некоторого интервала. В качестве интервала берут нечётное количество участков, например, три - предыдущий, текущий и следующий периоды, находится среднее и принимается в качестве сглаженного значения:

Si = Σkj=-k(xi+j)/(2k+1)

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

График 4. Окно Ганна для n=5 (косинусоидальное окно)
График 5. Синусоидальное окно для n=5

 

Минусы использования скользящей средней - это сложность вычислений и некорректные данные на концах графика.

Исходные данныеСкользящая средняяВзвешенная скользящая средняя (синусоидальное окно, n=5)Взвешенная скользящая средняя (окно Ганна, n=5)
800 853 283 0
905 952 480 400
1150 1044 571 453
1322 1093 681 575
996 1282 710 661
1660 1219 776 498
896 1366 749 830
1913 1329 856 448
848 1427 787 957
2051 1806 913 424
2410 1679 1089 1026
1405 2099 1213 1205
2528 2384 1224 703
3192 2013 1445 1264
926 2454 1409 1596
3170 2702 1356 463
3520 2576 1578 1585
2687 3134 1915 1760
3158 3240 1852 1344
3593 3146 2533 1579
Таблица 1. Сглаживание методом скользящей средней
График 6. Сглаживание скользящей средней. Красный - исходные данные, персиковый - скользящая средняя, жёлтая и охра - скользящая средняя, взвешенная синусоидальным окном с n=7 и n=3 соответственно

 

Как видно из графика, увеличение n выдаёт более плавную функцию, таким образом нивелируя более мелкие колебания во временном ряду. Обратите внимание, что при сглаживании не имеет значения, совпадает график среднего с графиком данных или нет, целью является построение правильной формы.

Метод экспоненциального сглаживания

Метод экспоненциального сглаживания получил своё название потому, что в сглаженной функции экспоненциально убывает влияние предыдущего периода с неким коэффициентом чувствительности α. Сглаженное значение находится как разница между предыдущим действительным значением и рассчитанным значением:

D't = α·Dt-1 + (1-α)·D't-1

Коэффициент чувствительности, α, выбирается между 0 и 1, в качестве базиса используют значение 0,3. Если есть достаточная выборка, то коэффициент подбирается путём оптимизации.

Исходные данныеЭкспоненциальное сглаживание, α=0,1Экспоненциальное сглаживание, α=0,6
800 800 800
905 -640 160
1150 667 479
1322 -485 498
996 569 594
1660 -413 360
896 538 852
1913 -395 197
848 547 1069
2051 -408 81
2410 572 1198
1405 -274 967
2528 387 456
3192 -96 1334
926 406 1382
3170 -273 3
3520 563 1901
2687 -155 1352
3158 408 1071
3593 -51 1466
Таблица 2. Экспоненциальное сглаживание
График 7. Экспоненциальное сглаживание с α=0,1 (персиковая линия) и α=0,6 (жёлтая линия)

Методы прогнозирования

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

Двойное экспоненциальное сглаживание

Двойное экспоненциальное сглаживание выдаёт сглаженное значение уровня и тенденции.

Внимание! Может возникнуть путаница, метод Хольт-Винтерса отличается терминами: тренд, сезонность и шум соответственно называются уровень, тренд и сезонность.

Smooth - сглаживание, сглаженный уровень на период τ, sτ, зависит от значения уровня на текущий период (Dτ), тренда за предыдущий период (tτ-1) и рассчитанного сглаженного значения на предыдущий период (sτ-1):
sτ = αDτ + (1 - α)(sτ-1 + tτ-1)
Trend - тенденция, тренд на период τ, tτ, зависит от рассчитанного сглаженного значения за предыдущий и текущий периоды (sτ и sτ-1) и от предыдущей тенденции:
tτ = β(sτ-sτ-1) + (1-β)tτ-1
Рассчитанные по данным формулам уровень и тренд могут быть использованы в прогнозировании:
D'τ+h = sτ + h·tτ

При расчёте, значения s и t для первого периода назначают s1 = D1 и t=0

График 8. Данные (персиковая линия), экспоненциальное сглаживание - уровень (жёлтая линия), тренд (линия цвета охры) и прогноз (чёрная линия) методом экспоненциального сглаживания

Метод Хольт-Винтерса

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

Общая идея нахождения значений сглаженного уровня, тренда и периодичности заключается в следующем: сглаженный уровень (s - smooth, иногда используют l - level) - это базовый уровень значений, тренд (t - trend) - это показатель скорости роста, разница между сглаженными значениями текущего и предыдущего периода. Для изучения периодичности (p - period), мы разбиваем данные на периоды размером k и выделяем влияние каждого элемента (1,2,...,k) периода на сглаженный уровень.

Для более точных расчётов вводится показатель обратной связи.

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

Для начала расчётов, значения s, t и k, в самом простом виде, могут быть выбраны как sτ = Dτ, t = 0, p = 0.

k - длина выбранного периода:
sτ = α(Dτ - pτ-k) + (1 - α)(sτ-1 + tτ-1)
С поправкой на предыдущие значения tτ-k (обратная связь)
tτ = β(sτ-sτ-1) + (1-β)tτ-1
С поправкой на предыдущие значения pτ-k (обратная связь)
pτ = γ(Dτ - sτ) + (1-γ)pτ-k

Для прогнозирования используется следующая формула:

xτ+h = Dτ + htτ + pτ-k+h

Мультипликативный метод Хольт-Винтерса

Мультипликативный метод отличается от аддитивного тем, что параметры, влияющие на периодичность и сглаженный уровень рассчитываются отношением:

pτ = γ(Dτ/sτ) + (1-γ)pτ-k
sτ = α(Dτ/pτ-k) + (1 - α)(sτ-1 + tτ-1)
tτ = β(sτ-sτ-1) + (1-β)tτ-1

Для прогнозирования используется следующая формула:

xτ+h = (Dτ + htτ)pτ-k+h

Метод Хольт-Винтерса в excel

Таблица для скачивания в форматах ods и xls.

Качество прогнозирования

Проверка качества прогнозирования возможна в случае наличия достаточной выборки и является важной проверкой на достоверность прогноза, для проверки и оптимизации значений α, β и γ необходимо построить прогноз на существующие данные, например, если у нас в наличии данные за пять лет и мы хотим предсказать следующий год, то необходимо построить модель на первых четырёх годах, проверить и оптимизировать коэффициенты для минимизации ошибки между прогнозом и данными на 5й год. После оптимизации модель может быть перестроена с учётом последнего периода для повышения точности, далее следует построение прогноза.

Методы оптимизации будут описаны в отдельной статье, ниже представлен пример прогнозирования методом Хольт Винтерса.

График 9. Данные о посещаемости сайта за четыре недели
#Данные stp stp
193 9300 9300
291 92-0.1-0.5 92-0.10.99
372 84-0.89-6 84-0.890.93
475 80-1.2-2.5 80-1.20.97
575 77-1.38-1 77-1.380.99
657 68-2.14-5.5 68-2.140.92
766 66-2.130 66-2.131
8123 880.2817.5 38-4.721.62
985 870.15-1.25 54-2.651.28
1085 890.34-5 67-1.081.1
1191 910.51-1.25 770.031.08
12102 960.962.5 871.031.08
1373 900.26-11.25 850.730.89
1460 78-0.97-9 75-0.340.9
1599 79-0.7718.75 69-0.911.53
16108 910.517.88 75-0.221.36
1798 960.96-1.5 810.41.15
18104 1001.261.38 870.961.14
1983 930.43-3.75 840.561.03
2068 88-0.11-15.63 810.20.86
2162 81-0.8-14 76-0.320.86
2259 64-2.426.88 61-1.791.25
2380 66-1.9810.94 59-1.811.36
24121 870.3216.25 760.071.37
25112 971.298.19 850.961.23
2685 940.86-6.38 850.861.02
27106 1061.97-7.82 1012.370.95
2882 1031.47-17.5 1002.030.84
График 9. Пример предсказания посещаемости сайта на основе данных за четыре недели. Жёлтая линия - исходные данные, красная - прогноз на пятую неделю на основе первых четырёх. Закрашена линия сглаженного уровня при α=0.4, β=0.1, γ=0.5
Скачать статью в формате PDF.

Вам понравилась статья? /

Seen: 53 666

Рейтинг: 5 (58 голосов)

Читать следующую
Метод Монте-Карло