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 832 283 0
863 897 470 400
1028 912 539 432
956 1111 579 514
1596 1108 703 478
850 1160 718 798
1238 1329 713 425
1633 1246 748 619
1264 1682 851 817
2591 1850 1063 632
1910 1743 1209 1296
1207 1921 1149 955
1976 1529 989 604
1021 1367 888 988
1262 1662 828 511
2390 1564 918 631
1584 1781 1101 1195
1888 2395 1152 792
3716 2567 1409 944
3080 2895 2410 1858
Таблица 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
863 -640 160
1028 662 454
956 -493 435
1596 539 400
850 -326 798
1238 378 191
1633 -216 666
1264 358 713
2591 -196 473
1910 436 1365
1207 -201 600
1976 302 484
1021 -74 992
1262 169 216
2390 -26 671
1584 262 1166
1888 -77 484
3716 258 939
3080 139 1854
Таблица 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: 52 982

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

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