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 848 283 0
896 865 478 400
900 855 525 448
824 1035 529 450
1520 1032 634 412
885 1093 682 760
1142 1129 692 443
968 1319 613 571
2280 1662 847 484
2258 1654 1140 1140
1110 1653 1164 1129
965 1358 847 555
1100 1631 632 483
3348 1854 1037 550
2004 2132 1386 1674
2075 2853 1460 1002
3984 2382 1577 1038
1463 2684 1621 1992
3212 2564 1638 732
1598 2091 1792 1606
Таблица 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
896 -640 160
900 666 474
824 -509 350
1520 541 354
885 -335 770
1142 390 223
968 -237 596
2280 310 342
2258 -51 1231
1110 272 862
965 -134 321
1100 217 451
3348 -85 480
2004 411 1817
2075 -170 476
3984 361 1055
1463 74 1968
3212 80 91
1598 249 1891
Таблица 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.091.1
1191 910.51-1.25 770.021.08
12102 960.962.5 871.021.08
1373 900.26-11.25 850.720.89
1460 78-0.97-9 75-0.350.9
1599 79-0.7718.75 69-0.921.53
16108 910.517.88 75-0.231.36
1798 960.96-1.5 800.291.16
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.38
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: 48 880

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

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