Прогноз по методу экспоненциального сглаживания Хольта
Хольт развил модель простого экспоненциального сглаживания (прочитать статью о модели прогноза "Простое экспоненциальное сглаживание") и добавил в неё тренд.
Метод Хольта используется для прогнозирования временных рядов, когда есть тенденция к росту или падению значений временного ряда. А также для рядов, когда данные есть не за полный цикл, и сезонность еще не выделить (например, за неполный год для прогноза по месяцам).
Из данной статьи вы узнаете:
1. Как в Excel рассчитать прогноз по методу экспоненциального сглаживания Хольта;
2. Как оценить точность модели и подобрать оптимальные коэффициенты сглаживания.
Если временной ряд имеет тенденцию к росту или падению, то вместе с оценкой текущего уровня ряда (как в простом экспоненциальном сглаживании) стоит выделить тренд. Для управления уровнем и наклоном в модели Хольта вводится 2 коэффициента сглаживания – коэффициент сглаживания ряда и тренда.
Как рассчитать прогноз по методу Хольта:
- Рассчитываем экспоненциально-сглаженный ряд;
- Определяем значение тренда;
- Делаем прогноз.
Рассмотрим подробнее:
1. Рассчитываем экспоненциально-сглаженный ряд:
Lt=k*Yt+(1-k)*(Lt-1-Tt-1), где
- Lt – сглаженная величина на текущий период;
- k – коэффициент сглаживания ряда;
- Yt – текущие значение ряда (например, объём продаж);
- Lt-1 – сглаженная величина за предыдущий период;
- Tt-1 – значение тренда за предыдущий период;
Lt (Сглаженная величина текущий период) = k(коэффициент сглаживания ряда)* Yt(текущие значение ряда (например, объём продаж))+(1-коэффициент сглаживания ряда)*( Lt-1(сглаженная величина за предыдущий период) -Tt-1(тренд за предыдущий период)
Коэффициент сглаживания ряда k задается вами в ручную и находится в диапазоне от 0 до 1.
Для первого периода в начале данных экспоненциально-сглаженный ряд равен первому значению ряда (например, объему продаж за первый месяц) L1=Y1;
В приложенном файле вводим значение L первого периода и рассчитываем сглаженную величину для всего массива данных:
2. Определяем значение тренда
Tt=b*(Lt - Lt-1)+(1-b)*Tt-1, где:
- Tt – значение тренда на текущий период;
- b – коэффициент сглаживания тренда;
- Lt – экспоненциально сглаженная величина за текущий период;
- Lt-1 – экспоненциально сглаженная величина за предыдущий период;
- Tt-1 – значение тренда за предыдущий период.
Tt(значение тренда на текущий период)=b(коэффициент сглаживания тренда)*(Lt (экспоненциально сглаженная величина за текущий период)- Lt-1(экспоненциально сглаженная величина за предыдущий период))+(1-b(коэффициент сглаживания тренда))*Tt-1 (значение тренда за предыдущий период)
Коэффициент сглаживания тренда b задается вами в ручную и находится в диапазоне от 0 до 1.
Значение тренда для первого периода равно 0 (T1 =0);
В приложенном файле рассчитаем значения тренда:
3. Делаем прогноз по методу Хольта
Прогноз на p периодов вперед равен:
Ŷt+p = Lt + p *Tt, где
- Ŷt+p – прогноз по методу Хольта на p период;
- Lt – экспоненциально сглаженная величина за последний период;
- p – порядковый номер периода, на который делаем прогноз;
- Tt – тренд за последний период.
Ŷt+p (Прогноз по методу Хольта)= Lt (экспоненциально сглаженная величина за последний период)+ p (количество периодов вперед, на которое делаем прогноз) *Tt (тренд за последний период)
Во вложенном файле сделаем прогноз на 3 месяца.
Для этого заполним номера периодов, на 3 месяца вперед
Вводим формулу прогноза в ячейку. Для этого к экспоненциальному ряду за последний период прибавляем значение тренда за последний период, умноженное на номер периода для прогноза. Также зафиксируем ссылку на последнее значение экспоненциально сглаженного ряда и тренда — для этого выделяем ссылку и нажимаем F4:
Протягиваем формулу на 3 периода вперед, получаем прогноз:
Отмечу, что при появлении новых данных прогноз по методу Хольта необходимо пересчитывать. Также при подготовке данных для прогноза всегда стоит очищать данные от факторов, которые в прогнозном периоде не повторятся (например, прирост продаж по мероприятию по стимулированию сбыта) или учитывать запланированные факторы, которые дадут дополнительный прирост продаж (например, ввод продукции в розничную сеть).
2. Как оценить точность модели Хольта и подобрать оптимальные коэффициенты сглаживания ряда и тренда.
Для этого:
- Рассчитаем значения прогнозной модели;
- Определим ошибку модели;
- Рассчитаем показатель точность прогноза;
- Подберем оптимальные коэффициенты сглаживания ряда и тренда;
1. Рассчитаем значения прогнозной модели.
Рассчитываем прогноз на 1 период вперед для каждого месяца, когда продажи нам известны (во вложенном файле столбец "прогноз на 1 период для анализа ").
Прогноз на 1 период для анализа = значение экспоненциально-сглаженного ряда за предыдущий период + значение тренда за предыдущий период. (значение тренда мы не умножаем на p, т.к. прогноз делаем на 1 период, а в этом случае p=1).
2. Рассчитаем ошибку модели = из фактических данных вычитаем прогноз на этот период.
3. Рассчитаем точность прогноза
Для этого определим отклонение ошибки модели от прогнозной модели = отношение ошибки модели в квадрате к фактическому значению в квадрате.
Рассчитаем точность прогноза = единица минус среднее значение отклонений ошибок модели от прогнозной модели
Для подбора коэффициентов сглаживания ряда и тренда k и b, при которых прогноз будет максимально точным, нам необходимо последовательно перебрать все значения k и b в диапазоне от 0 до 1 и найти такое сочетание, при котором точность прогноза будет максимальна приближена к 100%.
Если вы хотите подобрать коэффициенты, которые будут делать максимально точный прогноз на 3 периода вперед (а не на 1, как в примере выше), то на анализируемых данных вам надо оценить модель с прогнозом на 3-й период. Для этого на входящих данных рассчитываем прогноз по следующей формуле:
Ŷt+3 = Lt + 3 *Tt
Далее определяем ошибку модели для каждого периода, среднеквадратическое отклонение и точность прогноза, как было описано выше.
Последовательно перебирая коэффициенты k и b от 0 до 1 с шагом 0,1 , находим такое сочетание, которое дает максимальное значение точности прогноза.
Обращаю ваше внимание, что программа для прогнозирования Forecast4AC PRO умеет автоматически для каждого ряда значений подбирать коэффициенты сглаживания ряда и тренда значительно экономя ваше время и увеличивая точность прогнозирования.
Точных вам прогнозов!
Присоединяйтесь к нам!
Скачивайте бесплатные приложения для прогнозирования и бизнес-анализа:
- Novo Forecast Lite - автоматический расчет прогноза в Excel.
- 4analytics - ABC-XYZ-анализ и анализ выбросов в Excel.
- Qlik Sense Desktop и QlikView Personal Edition - BI-системы для анализа и визуализации данных.
Тестируйте возможности платных решений:
- Novo Forecast PRO - прогнозирование в Excel для больших массивов данных.
Получите 10 рекомендаций по повышению точности прогнозов до 90% и выше.
Зарегистрируйтесь и скачайте решения
Статья полезная? Поделитесь с друзьями
Комментарии
Ольга, здравствуйте. Зависимость есть, чем коэффициент ближе к нулю, тем больше влияние длительных тенденций, чем ближе к единице, последних изменений в ряде. Модель подходит для прогнозирования неполных рядов, когда не можем выделить сезонность
Последовательно перебирая коэффициенты k и b от 0 до 1 с шагом 0,1 , находим такое сочетание, которое дает максимальное значение точности прогноза.
Может есть какая то зависимость?)
У некоторых прогнозов не получается увеличить выше 88%.
Хотя может и данная модель прогнозирования не вполне подходит
Елена, здравствуйте.
Файл не скачать.
Точность можно считать по разному, главное понимать, к чему это приводит и что с этим потом делать. Можно возводить в квадрат с корнем, можно возводить в квадрат, можно по модулю...
Главное выбрать такой способ оценки, который приведет к лучшему результату. В программе у нас, например, рассчитывается 6 разных показателей точности и ошибок, которые в итоге влияют на выбор коэффициентов и модели.
Резеда, в программе еще главное выберите, что прогноз по кварталам - по умолчанию стоят месяца.
У меня уже есть данные не за 13 кварталов, а за 25. Решила воспользоваться демо-версией программы Forecast. Поставила автоматический выбор модели, программа выбрала модель Хольта-Винторса
Резеда, здравствуйте.
Почему хотите именно Хольтом прогнозировать?
Уже есть 13 периодов - это месяца?
Попробуйте, модель с трендом и сезонностью
http://www.4analytics.ru/prognozirovanie/kak-rasschitat-prognoz-prodaj-s-uchetom-rosta-i-sezonnosti-v-excel.html
Или скользящей средней
http://www.4analytics.ru/prognozirovanie/raschet-prognoza-prodaj-po-metodu-skolzyasheie-sredneie-v-excel.html
Эти модели больше подходят для длительных прогнозов.
А коэффициенты можно визуально подбирать, постройте график, если видите, что модель при выбранных коэффициентах строит прогноз в который вы верите - визуально, то используете их.
Или
Тестируете коэффициенты на тестовом отрезке и используете эти коэффициенты. Т.к. вы хотите сделать прогноз на 9 месяцев, то тестировать желательно минимум на 3-4 месяца.
Но возможно вам вообще стоит использовать многофакторную модель прогноза, если продажи только развиваются:
http://www.4analytics.ru/prognozirovanie/ot-prognoza-k-planu-prodaj-na-primere-mnogofaktornoie-modeli.html
У меня есть данные по 13 периодам, необходимо спрогнозировать на следующие 9 периодов. Возникли трудности в понимании, когда начала оценивать точность модели.. Объясните, пожалуйста, как лучше подбирать коэффициенты? Оценивания модель с прогнозом на 1 или 3 периода?
В исходных данных имеется тенденция как к увеличению, так и к уменьшению.. Но спрогнозированн ые данные с увеличением периода только уменьшаются.. Может ли такое быть? Или я что-то неправильно делаю?
Дмитрий, здравствуйте.
В файле была ошибка, исправил. сделал шаг 3 месяца.
Будут вопросы, пишите!
Спасибо!
Хочется до конца разобраться в этой методике. Спасибо.
RSS лента комментариев этой записи