Аналитика / Прогнозирование
Линейный прогноз Хольта по уровню и тренду
Метод Хольта отдельно сглаживает текущий уровень ряда и скорость его изменения. Прогноз на несколько периодов получается продолжением обновлённого локального тренда.
Формула
На горизонтах от 1 до 4 прогноз растёт на 8,5 единицы за шаг. Точка h=0 показывает уровень.
Обозначения
- $yₜ$
- наблюдение за период t, ед. ряда
- $ℓₜ$
- уровень после учёта yₜ, ед. ряда
- $bₜ$
- сглаженный прирост за один период, ед. ряда за период
- $h$
- число периодов вперёд, периоды
- $α, β*$
- веса обновления уровня и наклона, —
- $ŷₜ₊ₕ|ₜ$
- прогноз на период t+h, ед. ряда
Условия применения
Наблюдения должны иметь одинаковый шаг времени, начальные уровень и тренд заданы или оценены, а веса α и β* находятся между нулём и единицей. Для прогноза используется состояние после последнего доступного наблюдения.
Ограничения
При выраженной сезонности линейная модель будет систематически промахиваться в одних и тех же фазах цикла. На дальнем горизонте неизменный наклон может дать физически невозможные значения, например отрицательный объём выпуска.
Подробное объяснение
Уровень ℓₜ — это оценка положения ряда к концу периода t. Наклон bₜ показывает, на сколько единиц модель сдвигает этот уровень за следующий период. Если bₜ равен 8,5, прибавка на третьем горизонте равна трём таким шагам.
До прихода yₜ модель ожидала увидеть ℓₜ₋₁+bₜ₋₁. Поэтому в первой строке новая точка конкурирует с перенесённым на один период предыдущим состоянием. Сравнение с одним ℓₜ₋₁ игнорировало бы изменение, уже предсказанное моделью.
После обновления уровня можно измерить его новый прирост. Вторая строка берёт часть этого прироста и часть старого наклона. При β*=0 сохраняется прежний наклон, а при β*=1 он сразу становится разностью двух последовательных уровней.
При одном и том же уровне прогнозы для двух рядов расходятся, если различаются их наклоны. Проверить, оправдана ли экстраполяция, можно на нескольких последовательных отсечках, сравнив ошибки одинаковых горизонтов с простым сглаживанием и наивным прогнозом.
Как пользоваться формулой
- Возьмите уровень и наклон, известные к концу предыдущего периода, и сложите их для прогноза текущего значения.
- Смешайте новый факт с этим прогнозом, взяв вес α для наблюдения и вес 1−α для прогноза.
- Вычтите старый уровень из обновлённого и сгладьте полученный прирост с весом β* для новой разности.
- Умножьте новый наклон на число шагов до целевого периода и прибавьте произведение к текущему уровню.
Историческая справка
Чарльз Хольт описал прогнозирование экспоненциально взвешенными средними в отчёте 1957 года. Текст был переиздан в International Journal of Forecasting в 2004 году. Практический вопрос состоял в том, как обновлять прогнозы после каждого нового наблюдения при наличии тренда.
Уровень и тенденция в методе образуют два рекурсивных состояния. Такое представление удобно для расчётов по мере поступления данных, поскольку хранить все прошлые наблюдения для одного обновления уже не нужно. В современном изложении обычно различают веса сглаживания уровня и наклона и явно указывают горизонт h. Позднейшие варианты отдельно моделируют затухание тренда или сезонные изменения.
Историческая линия формулы
Линейный метод сглаживания тренда в этой форме связан с работой Хольта 1957 года. Приведённые обозначения и запись прогноза на h шагов следуют учебнику Hyndman и Athanasopoulos. Оценивание начального состояния и весов относится к процедуре подгонки модели.
Пример
На конец прошлого месяца уровень выпуска оценили в 100 деталей, а его наклон в 8 деталей за месяц. В текущем месяце выпущено 112 деталей. Найдём прогноз на три месяца при α=0,5 и β*=0,25. Перед обновлением ожидалось 100+8=108 деталей. Новый уровень равен 0,5·112+0,5·108=110 деталей. Изменение уровня составляет 110−100=10 деталей за месяц. Новый наклон равен 0,25·10+0,75·8=8,5 детали за месяц. Прогноз на третий месяц после текущего составляет 110+3·8,5=135,5 детали. Это прогнозное значение, поэтому целочисленное округление зависит от задачи планирования. На первом горизонте было бы 118,5, и разность прогнозов за два следующих шага составляет 17 деталей.
Частая ошибка
Подставляют в прогноз старый наклон после того, как уже пересчитан уровень. Сохраняют прежний прогноз 108 деталей как состояние вместо обновлённых 110. При нерегулярных датах умножают наклон на календарное время, хотя модель оценивалась в шагах индекса. При переносе между недельными и месячными данными наклон нужно оценивать в новом масштабе.
Практика
Задачи с решением
Обновить уровень и наклон
Условие. ℓₜ₋₁=50, bₜ₋₁=2, yₜ=56, α=β*=0,5. Найдите прогноз на два периода.
Решение. Старый прогноз 52. Новый уровень (56+52)/2=54. Новый наклон ((54−50)+2)/2=3. Тогда 54+2·3=60.
Ответ. 60 единиц.
Обновить уровень при постоянном наклоне
Условие. ℓₜ₋₁=30, bₜ₋₁=−2, yₜ=24, α=0,25 и β*=0. Найдите прогноз через три периода.
Решение. Ожидалось 28. Новый уровень 0,25·24+0,75·28=27. При нулевом β* наклон остаётся −2, прогноз равен 27−6.
Ответ. 21 единица.
Дополнительные источники
- https://otexts.com/fpp3/exponential-smoothing.html#methods-with-trend
- https://doi.org/10.1016/j.ijforecast.2003.09.015
Связанные формулы
Аналитика
Прогноз Хольта с затухающим трендом
Затухающий тренд Хольта уменьшает вклад каждого следующего шага. Прогноз сначала меняется в сторону наклона, а на больших горизонтах приближается к конечному уровню.
Аналитика
Аддитивный прогноз Хольта — Уинтерса
В аддитивном методе Хольта — Уинтерса сезонный эффект измеряется в единицах наблюдений. Прогноз складывается из уровня, накопленного тренда и поправки для нужной фазы цикла.
Аналитика
Мультипликативный прогноз Хольта — Уинтерса
Мультипликативный метод Хольта — Уинтерса выражает сезонность коэффициентом. Один и тот же сезонный индекс сильнее меняет прогноз, когда уровень ряда выше.
Аналитика
Экспоненциальное сглаживание прогноза
Экспоненциальное сглаживание обновляет прогноз как смесь последнего факта и прошлого сглаженного уровня. Коэффициент α задает, насколько быстро модель реагирует на свежие изменения ряда.
Аналитика
Сезонный наивный прогноз временного ряда
Сезонный наивный прогноз временного ряда: формула \hat y_{t}=y_{t-m} помогает величины y, t, m заданы для одной и той же ситуации, периода или объекта. В тексте есть условия, пример, ошибки и проверка результата.