Прогнозирование на основе метода экспоненциального сглаживания. Пример решения задачи

Простая и логически ясная модель временного ряда имеет следующий вид:

где b - константа, а ε - случайная ошибка. Константа b относительно стабильна на каждом временном интервале, но может также медленно изменяться со временем. Один из интуитивно ясных способов выделения значения b из данных состоит в том, чтобы использовать сглаживание скользящим средним, в котором последним наблюдениям приписываются большие веса, чем предпоследним, предпоследним большие веса, чем пред- предпоследним, и т.д. Простое экспоненциальное сглаживание именно так и построено. Здесь более старым наблюдениям приписываются экспоненциально убывающие веса, при этом, в отличие от скользящего среднего, учитываются все предшествующие наблюдения ряда, а не только те, которые попали в определенное окно. Точная формула простого экспоненциального сглаживания имеет вид:

Когда эта формула применяется рекурсивно, каждое новое сглаженное значение (которое является также прогнозом) вычисляется как взвешенное среднее текущего наблюдения и сглаженного ряда. Очевидно, результат сглаживания зависит от параметра α . Если α равен 1, то предыдущие наблюдения полностью игнорируются. Если а равен 0, то игнорируются текущие наблюдения. Значения α между 0 и 1 дают промежуточные результаты. Эмпирические исследования показали, что простое экспоненциальное сглаживание весьма часто дает достаточно точный прогноз.

На практике обычно рекомендуется брать α меньше 0,30. Однако выбор а больше 0,30 иногда дает более точный прогноз. Это значит, что лучше все же оценивать оптимальное значение α по реальным данным, чем использовать общие рекомендации.

На практике оптимальный параметр сглаживания часто ищется с использованием процедуры поиска на сетке. Возможный диапазон значений параметра разбивается сеткой с определенным шагом. Например, рассматривается сетка значений от α =0,1 до α = 0,9 с шагом 0,1. Затем выбирается такое значение α , для которого сумма квадратов (или средних квадратов) остатков (наблюдаемые значения минус прогнозы на шаг вперед) является минимальной.

Microsoft Excel располагает функцией Экспоненциальное сглаживание (Exponential Smoothing), которая обычно используется для сглаживания уровней эмпирического временного ряда на основе метода простого экспоненциального сглаживания. Для вызова этой функции необходимо на панели меню выбрать команду Tools - Data Analysis. На экране раскроется окно Data Analysis, в котором следует выбрать значение Экспоненциальное сглаживание. В результате появится диалоговое окно Экспоненциальное сглаживание , представленное на рис. 11.5.


В диалоговом окне Exponential Smoothing задаются практически те же параметры, го и в рассмотренном выше диалоговом окне Moving Average.

1. Input Range (Входные данные) - в это поле вводится диапазон ячеек, содержащих значения исследуемого параметра.

2. Labels (Метки) - данный флажок опции устанавливается в том случае, если первая строка (столбец) во входном диапазоне содержит заголовок. Если заголовок отсутствует, флажок следует сбросить. В этом случае для данных выходного диапазона будут автоматически созданы стандартные названия.

3. Damping factor (Фактор затухания) - в это поле вводится значение выбранного коэффициента экспоненциального сглаживания α . По умолчанию принимается значение α = 0,3.

4. Output options (Параметры вывода) - в этой группе, помимо указания диапазона ячеек для выходных данных в поле Output Range (Выходной диапазон), можно также потребовать автоматически построить график, для чего необходимо установить флажок опции Chart Output (Вывод графика), и рассчитать стандартные погрешности, для чего нужно установить флажок опции Standart Errors (Стандартные погрешности).

Воспользуемся функцией Экспоненциальное сглаживание для повторного решения рассмотренной выше задачи, но уже с помощью метода простого экспоненциального сглаживания. Выбранные значения параметров сглаживания представлены на рис. 11.5. На рис. 11.6 показаны рассчитанные показатели, а на рис. 11.7 - построенные графики.

Экспоненциальное сглаживание – более сложный метод взвешенного среднего. Каждый новый прогноз основан на предыдущем прогнозе плюс процент разницы между этим прогнозом и фактическим значением ряда в этой точке.

F t = F t -1 + (A t -1 - F t -1) (2)

Где: F t – прогноз для периода t

F t -1 – прогноз для периода t-1

– сглаживающая константа

A t - 1 – фактический спрос или продажи для периода t-1

Константа сглаживания представляет собой процент от ошибки про­гноза. Каждый новый прогноз равен предыдущему прогнозу плюс процент от предыдущей ошибки.

Чувствительность корректировки прогноза к ошибке определена кон­стантой сглаживания , чем ближе её значение к 0 , тем медленнее прогноз будет приспосабливаться к ошибкам прогноза (т.е. тем больше степень сгла­живания). Наоборот, чем ближе значение к 1,0 , тем выше чувствитель­ность и меньше сглаживание.

Выбор константы сглаживания – в основном вопрос свободного вы­бора или метода проб и ошибок. Цель состоит в том, чтобы выбрать такую константу сглаживания, чтобы, с одной стороны, прогноз остался достаточно чувствительным к реальным изменениям данных временного ряда, а с дру­гой – хорошо сглаживал скачки, вызванные случайными факторами. Обычно используемые значения находятся в диапазоне от 0,05 до 0,50.

Экспоненциальное сглаживание – один из наиболее широко исполь­зуемых методов прогнозирования, частично из – за минимальных требова­ний по хранению данных и легкости вычисления, а частично из-за той лёгко­сти, с которой система коэффициентов значимости может быть изменена простым изменением значения .

Таблица 3. Экспоненциальное сглаживание

Период Фактиче­ский спрос α= 0,1 α = 0,4
прогноз ошибка прогноз ошибка
10 000 - - - -
11 200 10 000 11 200-10 000=1 200 10 000 11 200-10 000=1 200
11 500 10 000+0,1(11 200-10 000)=10 120 11 500-10 120=1 380 10 000+0,4(11 200-10 000)=10 480 11 500-10 480=1 020
13 200 10 120+0,1(11 500-10 120)=10 258 13 200-10 258=2 942 10 480+0,4(11 500-10 480)=10 888 13 200-10 888=2 312
14 500 10 258+0,1(13 200-10 258)=10 552 14 500-10 552=3 948 10 888+0,4(13 200-10 888)=11 813 14 500-11 813=2 687
- 10 552+0,1(14 500-10 552)=10 947 - 11 813+0,4(14 500-11 813)=12 888 -



Методы для тенденции

Существует два важных метода, которые можно использовать для разработки прогнозов, когда присутствует тенденция. Один из них предпола­гает использование уравнения тенденции; другой – расширение экспонен­циального сглаживания.

Уравнение тенденции:

Линейное уравнение тенденции имеет следующий вид:

Y t = a + δ∙ t (3)

Где: t – определённое число периодов времени от t= 0 ;

Y t – прогноз периода t ;

α – значение Y t при t=0

δ – наклон линии.

Коэффициенты прямой α и δ , могут быть вычислены из статистических данных за определённый период, с использованием следующих двух урав­нений:

δ= , (4)

α = , (5)

Где: n – число периодов,

y – значение временного ряда

Таблица 3. Уровень тенденции.

Период (t) Год Уровень продаж (y) t∙y t 2
10 000 10 000
11 200 22 400
11 500 34 500
13 200 52 800
14 500 72 500
Итого: - 60 400 192 200

Вычислим коэффициенты линии тенденции:

δ=

Таким образом, линия тенденции Y t = α + δ ∙ t

В нашем случае, Y t = 43 900+1 100 ∙t ,

Где t = 0 для периода 0.

Составим уравнение для периода 6 (2015 год) и 7 (2016 год):

– прогноз на 2015 год.

Y 7 = 43 900+1 100*7= 51 600

Построим график:

Экспоненциальное сглаживание тенденций

Разновидность простого экспоненциального сглаживания может ис­пользоваться, когда временной ряд выявляет тенденцию. Эта разновидность называется экспоненциальным сглаживание, учитывающим тенденцию или, иногда, двойным сглаживанием. Оно отличается от простого экспоненциаль­ного сглаживания, которое используется только тогда, когда данные изме­няются вокруг некоторого среднего значения или имеют скачкообразные или постепенные изменения.

Если ряд выявляет тенденцию и при этом используется простое экспо­ненциальное сглаживание, то все прогнозы будут запаздывать по отноше­нию к тенденции. Например, если данные увеличиваются, то каждый про­гноз будет занижен. Наоборот, уменьшение данных даёт завышенный про­гноз. Графическое отображение данных может показать, когда двойное сглаживание будет предпочтительнее, чем простое.

Скорректированный тенденцией прогноз (TAF) состоит из двух элемен­тов: сглаженной ошибки и фактора тенденции.

TAF t +1 = S t + T t , (6)

Где: S t – сглаженный прогноз;

T t – оценка текущей тенденции

И S t = TAF t + α 1 (A t - TAF t) , (7)

T t = T t-1 + α 2 (TAF t –TAF t-1 – T t-1) (8)

Где α 1 , α 2 – сглаживающие константы.

Чтобы использовать этот метод, нужно выбрать значения α 1 , α 2 (обыч­ным путём подбора) и сделать начальный прогноз и оценку тенденций.

Таблица 4. Экспоненциальное сглаживание тенденции.

Выявление и анализ тенденции временного ряда часто производится с помощью его выравнивания или сглаживания. Экспоненциальное сглаживание - один из простейших и распространенных приемов выравнивания ряда. Экспоненциальное сглаживание можно представить как фильтр, на вход которого последовательно поступают члены исходного ряда, а на выходе формируются текущие значения экспоненциальной средней.

Пусть - временной ряд.

Экспоненциальное сглаживание ряда осуществляется по рекуррентной формуле: , .

Чем меньше α, тем в большей степени фильтруются, подавляются колебания исходного ряда и шума.

Если последовательно использовать рекуррентное это соотношение, то экспоненциальную среднюю можно выразить через значения временного ряда X.

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

После появления работ Р. Брауна экспоненциальное сглаживание часто используется для решения задачи краткосрочного прогнозирования временных рядов.

Постановка задачи

Пусть задан временной ряд: .

Необходимо решить задачу прогнозирования временного ряда, т.е. найти

Горизонт прогнозирования, необходимо, чтобы

Для того, чтобы учитывать устаревание данных, введем невозрастающую последовательность весов , тогда

Модель Брауна

Предположим, что D - невелико (краткосрочный прогноз), то для решения такой задачи используют модель Брауна .

Если рассматривать прогноз на 1 шаг вперед, то - погрешность этого прогноза, а новый прогноз получается в результате корректировки предыдущего прогноза с учетом его ошибки - суть адаптации.

При краткосрочном прогнозировании желательно как можно быстрее отразить новые изменения и в то же время как можно лучше «очистить» ряд от случайных колебаний. Т.о. следует увеличивать вес более свежих наблюдений: .

С другой стороны, для сглаживания случайных отклонений, α нужно уменьшить: .

Т.о. эти два требования находятся в противоречии. Поиск компромиссного значения α составляет задачу оптимизации модели. Обычно, α берут из интервала (0,1/3).

Примеры

Работа экспоненциального сглаживания при α=0.2 на данных ежемесячных отчетов по продажам иностранной автомобильной марки в России за период с января 2007 по октябрь 2008. Отметим резкие падения в январе и феврале, когда продажи традиционно снижаются и повышения в начале лета.

Проблемы

Модель работает только при небольшом горизонте прогнозирования. Не учитываются тренд и сезонные изменения. Чтобы учесть их влияние, предлагается использовать модели: Хольта (учитывается линейный тренд) Хольта-Уинтерса (мультипликативные экспоненциальный тренд и сезонность), Тейла-Вейджа (аддетивные линейный тренд и сезонность).

Насколько Forecast NOW! лучше модели Экспоненциального сглаживания (ES) вы можете увидеть на графике ниже. По оси X - номер товара, по оси Y - процентное улучшение качества прогноза. Описание модели, детальное исследование, результаты экспериментов читайте ниже.

Описание модели

Прогнозирование методом экспоненциального сглаживания является одним из самых простых способов прогнозирования. Прогноз может быть получен только на один период вперед. Если прогнозирование ведется в разрезе дней, то только на один день вперед, если недель, то на одну неделю.

Для сравнения прогнозирование проводилось на неделю вперед в течение 8 недель.

Что такое экспоненциально сглаживание?

Пусть ряд С представляет исходный ряд продаж для прогнозирования

С(1)- продажи в первую неделю, С (2) во второй и так далее.

Рисунок 1. Продажи по неделям, ряд С

Аналогично, ряд S представляет собой экспоненциально сглаженный ряд продаж. Коэффициент α находится от нуля до единицы. Получается он следующим образом, здесь t - момент времени (день, неделя)

S (t+1) = S(t) + α *(С(t) - S(t))

Большие значения константы сглаживания α ускоряют отклик прогноза на скачок наблюдаемого процесса, но могут привести к непредсказуемым выбросам, потому что сглаживание будет почти отсутствовать.

Первый раз после начала наблюдений, располагая лишь одним результатом наблюдений С (1) , когда прогноза S(1) нет и формулой (1) воспользоваться еще невозможно, в качестве прогноза S(2) следует взять С (1) .

Формула легко может быть переписана в ином виде:

S(t+1) = (1 - α)* S(t) + α * С(t) .

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

Константа α выбирается опытным путем. Обычно строится несколько прогнозов для разных констант и выбирается наиболее оптимальная константа с точки зрения выбранного критерия.

Критерием может выступать точность прогнозирования на предыдущие периоды.

В своем исследовании мы рассмотрели модели экспоненциального сглаживания, в которых α принимает значения {0.2, 0.4, 0.6, 0.8}. Для сравнения с алгоритмом прогнозирования Forecast NOW! для каждого товара строились прогнозы при каждом α, выбирался наиболее точный прогноз. В действительности же, ситуация обстояла бы гораздо более сложная, пользователю не зная наперед точности прогноза нужно определиться с коэффициентом α, от которого очень сильно зависит качество прогноза. Вот такой замкнутый круг.

Наглядно

Рисунок 2. α =0.2 , степень экспоненциального сглаживания высокая, реальные продажи учитываются слабо

Рисунок 3. α =0.4 , степень экспоненциального сглаживания средняя, реальные продажи учитываются в средней степени

Можно видеть как с увеличением константы α сглаженный ряд все сильнее соответствует реальным продажам, и если там присутствуют выбросы или аномалии, мы получим крайне неточный прогноз.

Рисунок 4. α =0.6 , степень экспоненциального сглаживания низкая, реальные продажи учитываются значительно

Можем видеть, что при α=0.8 ряд почти в точности повторяет исходный, а значит прогноз стремится к правилу «будет продано столько же, сколько и вчера»

Стоит отметить, что здесь совершенно нельзя ориентироваться на ошибку приближения к исходным данным. Можно добиться идеального соответствия, но получить неприемлемый прогноз.

Рисунок 5. α =0.8 , степень экспоненциального сглаживания крайне низкая, реальные продажи учитываются сильно

Примеры прогнозов

Теперь давайте посмотрим на прогнозы, которые получаются с использованием различных значений α. Как можно видеть из рисунка 6 и 7, чем больше коэффициент сглаживания, тем точнее повторяет реальные продажи с опозданием на один шаг, прогноз. Такое опоздание на деле может оказаться критичным, поэтому нельзя просто выбирать максимальное значение α. Иначе получится ситуация, когда мы говорим, что будет продано ровно столько, сколько было продано в прошлый период.

Рисунок 6. Прогноз метода экспоненциального сглаживания при α=0.2

Рисунок 7. Прогноз метода экспоненциального сглаживания при α=0.6

Давайте посмотрим, что получается при α = 1.0. Напомним, S - прогнозируемые (сглаженные) продажи, C - реальные продажи.

S(t+1) = (1 - α)* S(t) + α * С(t) .

S(t+1) = С(t) .

Продажи в t+1 день согласно прогнозу равны продажам в предыдущий день. Поэтому к выбору константы надо подходить с умом.

Сравнение с Forecast NOW!

Теперь рассмотрим данный метод прогнозирования в сравнении с Forecast NOW!. Сравнение велось на 256 товарах, которые имеют различные продажи, с сезонностью краткосрочной и долгосрочной, с «плохими» продажами и дефицитом, акциями и прочими выбросами. Для каждого товара был построен прогноз по модели экспоненциального сглаживания, для различных α, выбирался лучший и сравнивался с прогнозом по модели Forecast NOW!

В таблице ниже вы видите значение ошибки прогноза для каждого товара. Ошибка здесь считалась как RMSE. Это корень из среднеквадратичного отклонения прогноза от реальности. Грубо говоря, показывает, на сколько единиц товара мы отклонились в прогнозе. Улучшение показывает, на сколько процентов прогноз Forecast NOW! лучше, если цифра положительная, и хуже, если отрицательная. На рисунке 8 по оси X отложены товары, по оси Y указано насколько прогноз Forecast NOW! лучше, чем прогнозирование методом экспоненциального сглаживания. Как можно видеть из этого графика, точность прогнозирования Forecast NOW! почти всегда в два раза выше и почти никогда не хуже. На деле это означает, что использование Forecast NOW! позволит в два раза сократить запасы или снизить дефицит.

Скользящая средняя позволяет прекрасно сглаживать данные. Но ее главный недостаток заключатся в том, что каждое значение в исходных данных для нее имеет одинаковый вес. Например, для средней скользящей использующей период шести недель каждому значению для каждой недели уделяется 1/6 веса. В случае некоторых собранных статистических данных более актуальным значениям присваивается больший вес. Поэтому экспоненциальное сглаживание применятся для того, чтобы придать самым актуальным данным большего веса. Таким образом решается данная статистическая проблема.

Формула расчета метода экспоненциального сглаживания в Excel

Ниже на рисунке изображен отчет спроса на определенный продукт за 26 недель. Столбец «Спрос» содержит информацию о количестве проданного товара. В столбце «Прогноз» – формула:

В столбце «Скользящая средняя» определяется прогнозируемый спрос, рассчитанный с помощью обычного вычисления скользящей средней с периодом 6 недель:

В последнем столбце «Прогноз», с описанной выше формулой применяется метод экспоненциального сглаживания данных в которых значения последних недель имеет больший вес чем предыдущих.

Коэффициент «Альфа:» вводится в ячейке G1, он значит вес присвоения наиболее актуальным данным. В данном примере он имеет значение 30%. Остальные 70% веса распределяется на остальные данные. То есть второе значение с точки зрения актуальности (с право на лево) имеет вес равный 30% от оставшихся 70% веса – это 21%, третье значение имеет вес равен 30% от остальной части 70% веса – 14,7% и так далее.



График экспоненциального сглаживания

Ниже на рисунке изображен график спроса, среднее скользящие и прогноз методом экспоненциального сглаживания, который построен на основе исходных значений:


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

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