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

Описание и пример тройного экспоненциального сглаживания.

Ну вот, добрались и до тройного экспоненциального сглаживания.

Кто не был в курсе, бывает просто Экспоненциальное сглаживание, бывает также Двойное экспоненциальное сглаживание, ну и теперь вот, встречайте — тройное экспоненциальное сглаживание.

Сначала немного истории.
Экспоненциальное сглаживание было впервые предложено в 1957 году Хольтом (C. C. Holt) и предназначалось для непериодических (отсутствует сезонность) рядов динамики, не показывающих наличие какой-либо тенденции.

В 1958 году он же предложил модификацию этого метода, учитывающую тенденции — двойное экспоненциальное сглаживание.

А Винтерс (Winters) в 1965 году обобщил этот метод с учетом сезонности колебаний. Поэтому тройное экспоненциальное сглаживание называют еще методом Хольта-Винтерса (Holt-Winters method).

Поскольку всякие вводные слова я уже говорил в предыдущих статьях, перейдем сразу к формулам.

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

Общее уравнение:

S_t = \alpha \frac{y_t}{I_{t-L}} + (1-\alpha)(S_{t-1}+b_{t-1}),

Сглаживание тенденции

b_t = \gamma (S_t - S_{t-1}) + (1-\gamma)b_{t-1},

Сглаживание сезонности

I_t = \beta \frac{y_t}{S_t} + (1-\beta)I_{t-L},

Прогноз

F_{t+m} = (S_t + mb_t)I_{t-L+m}

где,

\alpha, \beta, \gamma принимает значение из диапазона [0;1]
y - наблюдение
S - сглаженное значение наблюдения
b - коэффициент тенденции
I - индекс сезонности
F - прогноз на m периодов вперед
t - индекс текущего наблюдения

Как и для прочих экспоненциальных сглаживаний, \alpha, \beta, \gamma подбираются методом проб и ошибок таким образом, чтобы минимизировать среднеквадратическую ошибку.

Что здесь является особенным — наличие числа L, определяющего число периодов. По числу периодов нужно построить соответствующие начальные индексы сезонности. Таким образом метод, с точки зрения расчета индексов сезонности, требует наличия минимум L наблюдений. Понятно, чем больше полных сезонов в наличии, тем лучше — точнее будут начальные индексы сезонности.

Индексы сезонности рассчитываются следующим образом - предположим, есть данные наблюдений за n сезонов по L периодов.
Тогда
1) для каждого сезона рассчитывается среднее значение

A_j=\frac{\sum_{i=1}^{L}y_{ji}}{L}, j меняется от 1 до n

2) для каждого периода рассчитывается индекс сезонности

I_i=\frac{\sum_{j=1}^{n}\frac{y_{ji}}{A_j}}{n}, i меняется от 1 до L

где
y_{ji} - наблюдение, соответствующее i-му периоду j-го сезона.

Далее — чтобы правильно рассчитать начальную тенденцию, надо уметь учитывать влияние сезонных колебаний. Если у нас есть данные за один сезон (например, год — L=12), то сложно тенденцию отличить от сезонных колебаний. Таким образом метод, с точки зрения расчета начального коэффициента тенденции, требует наличия минимум 2L наблюдений. Имея данные за два сезона (L=24), понятно, уже можно выявлять тенденцию, сравнивая соответствующие периоды сезонов (например, январь прошлого года с январем настоящего года).

Общеупотребительная формула для оценки тенденции

b=\frac{1}{L}(\frac{y_{L+1}-y_1}{L} + \frac{y_{L+2}-y_2}{L} + ... + \frac{y_{L+L}-y_L}{L})

Как видим, используются данные за два сезона.

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

Калькулятор ниже это квинтэссенция всех трех статей — он строит простое экспоненциальное сглаживание, двойное экспоненциальное сглаживание и тройное экспоненциальное сглаживание. Кроме того, он строит прогнозные значения на указанную дальность.
Задаются параметры \alpha, \beta, \gamma, периодичность данных L (по умолчанию 4 — как бы 4 квартала одного года) и дальность прогноза m (тоже 4).

Примечание: Калькулятор будет считать только при наличии минимум 2L наблюдений.

P.S. Кстати, если данные по умолчанию заменить данными, которые действительно имеют выраженную тенденцию и периодичность, среднеквадратическая ошибка тройного сглаживания будет на порядок меньше, чем среднеквадратические ошибки простого и двойного сглаживания. Аж сам удивился. Данные по умолчанию здесь, пожалуй, не очень показательны для демонстрации.

PLANETCALC, Тройное экспоненциальное сглаживание

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

Ряд динамики

Значение
Записей:

Знаков после запятой: 2
Среднеквадратическая ошибка простого сглаживания
 
Среднеквадратическая ошибка двойного сглаживания
 
Среднеквадратическая ошибка тройного сглаживания
 
Двойное экспоненциальное сглаживание
Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.

Ссылка скопирована в буфер обмена
PLANETCALC, Тройное экспоненциальное сглаживание

Комментарии