Метод экспоненциального сглаживания скользящей средней в Excel. Модели экспоненциального сглаживания и прогнозирования временных рядов

Задачи прогнозирования построены на изменении неких данных во времени (продаж, спроса, поставок, ВВП, выбросов углерода, численности населения…) и проецировании этих изменений на будущее. К сожалению, выявленные на исторических данных, тренды могут нарушаться множеством непредвиденных обстоятельств. Так что данные в будущем могут существенно отличаться от произошедшего в прошлом. В этом и состоит проблема прогнозирования.

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

Скачать заметку в формате или , примеры в формате

Исходные данные

Допустим, вы фанат «Властелина Колец», и вот уже три года изготавливаете и торгуете мечами (рис. 1). Отобразим продажи графически (рис. 2). За три года спрос удвоился - может быть, это тренд? Мы вернемся к этой мысли чуть позже. На графике есть несколько пиков и спадов, что может быть признаком сезонности. В частности, пики приходятся на месяцы с номерами 12, 24 и 36, которые оказываются декабрями. Но может быть это лишь случайность? Давайте выясним.

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

Методы экспоненциального сглаживания основываются на прогнозировании будущего по данным из прошлого, где более новые наблюдения весят больше, чем старые. Такое взвешивание возможно благодаря константам сглаживания. Первый метод экспоненциального сглаживания, который мы опробуем, называется простым экспоненциальным сглаживанием (ПЭС, simple exponential smoothing, SES). Он использует лишь одну константу сглаживания.

При простом экспоненциальном сглаживании предполагается, что ваш временной ряд данных состоит из двух компонентов: уровня (или среднего) и некоей погрешности вокруг этого значения. Нет никакого тренда или сезонных колебаний - есть просто уровень, вокруг которого колеблется спрос, тут и там окруженный небольшими погрешностями. Отдавая предпочтение более новым наблюдениям, ПЭС может явиться причиной сдвигов этого уровня. Говоря языком формул,

Спрос в момент времени t = уровень + случайная погрешность около уровня в момент времени t

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

Создадим несколько уровней. Рассчитаем исходный уровень в первый год:

уровень 0 = среднее значение спроса за первый год (месяцы 1-12)

Для спроса на мечи он равен 163. Мы используем уровень 0 (163) как прогноз спроса на месяц 1. Спрос в месяц 1 равен 165, то есть он на 2 меча выше уровня 0 . Стоит обновить приближение исходного уровня. Уравнение простого экспоненциального сглаживания:

уровень 1 = уровень 0 + несколько процентов × (спрос 1 – уровень 0)

уровень 2 = уровень 1 + несколько процентов × (спрос 2 – уровень 1)

И т.д. «Несколько процентов» - называется константой сглаживания, и обозначается альфой. Это может быть любое число от 0 до 100% (от 0 до 1). Выбирать значение альфы вы научитесь позже. В общем случае значение для разных моментов времени:

Уровень текущий период = уровень предыдущий период +
альфа × (спрос текущий период – уровень предыдущий период)

Будущий спрос равен последнему вычисленному уровню (рис. 3). Поскольку вы не знаете, чему равна альфа, установите для начала в ячейке С2 значение 0,5. После того, как модель будет построена, найдите такую альфа, чтобы сумма квадратов ошибки – Е2 (или стандартное отклонение – F2) были минимальны. Для этого запустите опцию Поиск решения . Для этого пройдите по меню ДАННЫЕ –> Поиск решения , и установите в окне Параметры поиска решения требуемые значения (рис. 4). Чтобы отразить результаты прогноза на диаграмме, для начала выберите диапазон А6:В41, и постройте простую линейную диаграмму. Далее кликните на диаграмме правой кнопкой мыши, выберите опцию Выбрать данные. В открывшемся окне создайте второй ряд и вставьте в него предсказания из диапазона А42:В53 (рис. 5).

Возможно, у вас есть тренд

Чтобы проверить это предположение достаточно подогнать линейную регрессию под данные спроса и выполнить тест на соответствие критерию Стьюдента на подъеме этой линии тренда (как в ). Если уклон линии ненулевой и статистически значимый (в проверке по критерию Стьюдента величина р менее 0,05), у данных есть тренд (рис. 6).

Мы воспользовались функцией ЛИНЕЙН, которая возвращает 10 описательных статистик (если вы ранее не пользовались этой функцией, рекомендую ) и функцией ИНДЕКС, которая позволяет «вытащить» только три требуемые статистики, а не весь набор. Получилось, что наклон равен 2,54, и он значим, так как тест Стьюдента показал, 0,000000012 существенно меньше 0,05. Итак, тренд есть, и осталось включить его в прогноз.

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

Часто оно называется двойным экспоненциальным сглаживанием, потому что имеет не один параметр сглаживания - альфа, а два. Если у временной последовательности линейный тренд, то:

спрос за время t = уровень + t × тренд + случайное отклонение уровня в момент времени t

Экспоненциальное сглаживание Холта с корректировкой тренда имеет два новых уравнения, одно - для уровня по мере его продвижения во времени, а другое - тренд. Уравнение уровня содержит сглаживающий параметр альфа, а уравнение тренда – гамма. Вот как выглядит новое уравнение уровня:

уровень 1 = уровень 0 + тренд 0 + альфа × (спрос 1 – (уровень 0 + тренд 0))

Обратите внимание, что уровень 0 + тренд 0 - это просто одношаговый прогноз от исходных значений к месяцу 1, поэтому спрос 1 – (уровень 0 + тренд 0) - это одношаговое отклонение. Таким образом, основное уравнение приближения уровня будет следующим:

уровень текущий период = уровень предыдущий период + тренд предыдущий период + альфа × (спрос текущий период – (уровень предыдущий период) + тренд предыдущий период))

Уравнение обновления тренда:

тренд текущий период = тренд предыдущий период + гамма × альфа × (спрос текущий период – (уровень предыдущий период) + тренд предыдущий период))

Холтовское сглаживание в Excel аналогично простому сглаживанию (рис. 7), и, как и выше, цель – найти два коэффициента, минимизируя сумму квадратов ошибок (рис. 8). Чтобы получить исходные значения уровня и тренда (в ячейках С5 и D5 на рис. 7), постройте график за первые 18 месяцев продаж и добавьте к нему линию тренда с уравнением. Исходное значение тренда 0,8369 и исходный уровень 155,88 занесите в ячейки С5 и D5. Прогнозные данные можно представить графически (рис. 9).

Рис. 7. Экспоненциальное сглаживание Холта с корректировкой тренда; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Выявление закономерностей в данных

Есть способ испытать прогностическую модель на прочность - сравнить погрешности сами с собой, сдвинутыми на шаг (или несколько шагов). Если отклонения случайны, то улучшить модель нельзя. Однако, возможно, в данных о спросе есть сезонный фактор. Концепция погрешности, коррелирующей с собственной версией за другой период, называется автокорреляцией (подробнее об автокорреляции см. ). Чтобы рассчитать автокорреляцию, начните с данных об ошибке прогноза за каждый период (столбец F на рис. 7 переносим в столбец В на рис. 10). Далее определите среднюю ошибку прогноза (рис. 10, ячейка В39; формула в ячейке: =СРЗНАЧ(B3:B38)). В столбце С рассчитайте отклонение ошибки прогноза от среднего; формула в ячейке С3: =B3-B$39. Далее последовательно сдвигайте столбец С на столбец вправо и строку вниз. Формулы в ячейках D39: =СУММПРОИЗВ($C3:$C38;D3:D38), D41: =D39/$C39, D42: =2/КОРЕНЬ(36), D43: =-2/КОРЕНЬ(36).

Что может значить для одного из столбцов D:O «синхронное движение» со столбцом С. Например, если столбцы С и D синхронны, то число, отрицательное в одном из них, должно быть отрицательным и в другом, положительное в одном, положительное – в другом. Это означает, что сумма произведений двух столбцов будет значительной (отличия накапливаются). Или, что тоже самое, чем ближе значение в диапазоне D41:О41 к нулю, тем ниже корреляция столбца (соответственно от D до О) со столбцом С (рис. 11).

Одна автокорреляция выше критического значения. Погрешность, сдвинутая на год, коррелирует сама с собой. Это означает 12-месячный сезонный цикл. И это неудивительно. Если вы посмотрите на график спроса (рис. 2), то окажется, что есть пики спроса на каждое Рождество и провалы в апреле-мае. Рассмотрим технику прогнозирования, учитывающую сезонность.

Мультипликативное экспоненциальное сглаживание Холта-Винтерса

Метод называется мультипликативным (от multiplicate - умножать), поскольку использует умножение для учета сезонности:

Спрос в момент t = (уровень + t × тренд) × сезонная поправка для момента t × все оставшиеся нерегулярные поправки, которые мы не можем учесть

Сглаживание Холта-Винтерса также называют тройным экспоненциальным сглаживанием, потому что у него три сглаживающих параметра (альфа, гамма и сезонный фактор – дельта). Например, если имеется 12-месячный сезонный цикл:

Прогноз на месяц 39 = (уровень 36 + 3 × тренд 36) х сезонность 27

Анализируя данные, необходимо выяснить, что в серии данных является трендом, а что - сезонностью. Чтобы выполнить вычисления по методу Холта-Винтерса, необходимо:

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

Начните с исходных данных (столбцы А и В на рис. 12) и добавьте столбец С со сглаженными значениями на основе скользящего среднего. Так как сезонность имеет 12-месячные циклы, имеет смысл использовать среднее за 12 месяцев. С этим средним есть небольшая проблема. 12 – четное число. Если вы сглаживаете спрос за месяц 7, стоит ли считать его средним спросом с 1-го по 12-й месяц или со 2-го по 13-й? Чтобы справиться с этим затруднением, нужно сгладить спрос с помощью «скользящего среднего 2×12». Т.е., взять половину от двух средних с 1 по 12-й месяц и со 2 по 13. Формула в ячейке С8: =(СРЗНАЧ(B3:B14)+СРЗНАЧ(B2:B13))/2.

Сглаженные данных для месяцев 1–6 и 31–36 получить нельзя, так как не хватает предыдущих и последующих периодов. Для наглядности исходные и сглаженные данные можно отразить на диаграмме (рис. 13).

Теперь в столбце D разделите оригинальную величину на сглаженную и получите приблизительное значение сезонной поправки (столбец D на рис. 12). Формула в ячейке D8: =B8/C8. Обратите внимание на всплески в 20% выше нормального спроса в месяцах 12 и 24 (декабрь), в то время как весной наблюдаются провалы. Эта техника сглаживания дала вам две точечные оценки для каждого месяца (всего 24 месяца). В столбце Е найдено среднее значение этих двух факторов. Формула в ячейке Е1: =СРЗНАЧ(D14;D26). Для наглядности уровень сезонных колебаний можно представить графически (рис. 14).

Теперь можно получить данные, скорректированные на сезонные колебания. Формула в ячейке G1: =B2/E2. Постройте график на основе данных столбца G, дополните его линией тренда, выведите уравнение тренда на диаграмму (рис. 15), и используйте коэффициенты в последующих расчетах.

Сформируйте новый лист, как показано на рис. 16. Значения в диапазон Е5:Е16 подставьте с рис. 12 области Е2:Е13. Значения С16 и D16 возьмите из уравнения линии тренда на рис. 15. Значения констант сглаживания установите для начала на отметке 0,5. Растяните значения в строке 17 на диапазон месяцев с 1 по 36. Запустите Поиск решения для оптимизации коэффициентов сглаживания (рис. 18). Формула в ячейке В53: =(C$52+(A53-A$52)*D$52)*E41.

Теперь в сделанном прогнозе нужно проверить автокорреляции (рис. 18). Так как все значения расположились между верхней и нижней границами, вы понимаете, что модель неплохо поработала над пониманием структуры значений спроса.

Построение доверительного интервала прогноза

Итак, у нас есть вполне рабочий прогноз. Как установить верхние и нижние границы, которые можно использовать для построения реалистичных предположений? В этом вам поможет симуляция Монте-Карло, с которой вы уже встречались в (см. также ). Смысл заключается в том, чтобы сгенерировать будущие сценарии поведения спроса и определить группу, в которую попадают 95% из них.

Удалите с листа Excel прогноз из ячеек В53:В64 (см. рис. 17). Вы запишете туда спрос на основе симуляции. Последнюю можно сгенерировать с помощью функции НОРМОБР. Для будущих месяцев вам достаточно снабдить ее средним (0), стандартным распределением (10,37 из ячейки $Н$2) и случайным числом от 0 до 1. Функция вернет отклонение с вероятностью, соответствующей колоколообразной кривой. Поместите симуляцию одношаговой погрешности в ячейку G53: =НОРМОБР(СЛЧИС();0;H$2). Растянув эту формулу вниз до G64, и вы получите симуляции ошибки прогноза для 12 месяцев одношагового прогноза (рис. 19). Ваши значения симуляций будут отличаться от приведенных на рисунке (на то она и симуляция!).

С погрешностью прогноза у вас есть все, что нужно для обновления уровня, тренда и сезонного коэффициента. Так что выделите ячейки C52:F52 и растяните их до строки 64. В результате у вас имеются симулированная ошибка прогноза и сам прогноз. Идя от обратного, можно спрогнозировать значения спроса. Вставьте в ячейку В53 формулу: =F53+G53 и растяните ее до В64 (рис. 20, диапазон В53:F64). Теперь вы можете нажимать на кнопку F9, каждый раз обновляя прогноз. Разместите результаты 1000 симуляций в ячейках А71:L1070, каждый раз транспонируя значения из диапазона В53:В64 в диапазон А71:L71, A72:L72, … A1070:L1070. Если вас это напрягает напишите код VBA.

Теперь у вас есть по 1000 сценариев на каждый месяц, и вы можете использовать функцию ПЕРСЕНТИЛЬ, чтобы получить верхние и нижние границы в середине 95%-ного доверительно интервала. В ячейке А66 формула: =ПЕРСЕНТИЛЬ(A71:A1070;0,975), а в ячейке А67: =ПЕРСЕНТИЛЬ(A71:A1070;0,025).

Как обычно, для наглядности данные можно представить в графическом виде (рис. 21).

На графике есть два интересных момента:

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

Написано по материалам книги Джона Формана . – М.: Альпина Паблишер, 2016. – С. 329–381

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

Проблемы

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

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

Экспоненциальное сглаживание имеет вычислительные преимущества перед скользящим средним. Здесь, чтобы вычислить , необходимо знать только значения , и , (вместе со значением α). Например, если компании нужно спрогнозировать спрос для 5000 наименований изделий в каждый период времени, то в этом случае необходимо хранить 10001 значений данных (5000 значений , 5000 значений , и значение α), в то время как для выполнения прогноза на основе скользящего среднего по 8 узлам требовалось 40000 значений данных. В зависимости от поведения данных, возможно, потребуется хранить различные значения α для каждого изделия, но даже в этом случае количество хранимой информации значительно меньше, чем при использовании скользящего среднего. Положительная особенность экспоненциального сглаживания состоит в том, что, сохраняя α и последний прогноз, все предыдущие прогнозы также неявно сохраняются.

Рассмотрим некоторые свойства модели экспоненциального сглаживания. Для начала заметим, что если t > 2, то в формуле (1) t можно заменить на t–1, т.е. Подставив это выражение в первоначальную формулу (1), получим

Выполняя последовательно аналогичные подстановки, получим следующее выражение для

Поскольку из неравенства 0 < α < 1 следует, что 0 < 1 – α < 1, то Другими словами, наблюдение , имеет больший вес, чем наблюдение , которое, в свою очередь, имеет больший вес, чем . Это иллюстрирует основное свойство модели экспоненциального сглаживания - коэффициенты при убывают при уменьшении номера k. Также можно показать, что сумма всех коэффициентов (включая коэффициент при ), равна 1.

Из формулы (2) видно, что значением является взвешенная сумма всех предыдущих наблюдений (включая последнее наблюдение ). Последнее слагаемое суммы (2) является не статистическим наблюдением, а «предположением» (можно предположить, например, что ). Очевидно, что с ростом t влияние , на прогноз уменьшается, и в определенный момент им можно будет пренебречь. Даже если значение α достаточно малое (такое, что (1 – α) приблизительно равно 1), значение будет быстро убывать.

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

Перед Виктором возникла проблема: как наилучшим образом подобрать значение α. Вновь, в этом поможет средство Поиск решения. Чтобы найти оптимальное значение α (т.е. такое, при котором прогнозная кривая будет менее всего отклоняться от кривой значений временного ряда), выполните следующие действия.

  1. Выберите команду Сервис -> Поиск решения.
  2. В открывшемся диалоговом окне Поиск решения установите целевую ячейку G16 (см. лист «Экспо») и укажите, что ее значение должно быть минимальным.
  3. Укажите, что изменяемой ячейкой является ячейка В1.
  4. Введите ограничения В1 > 0 и B1 < 1
  5. Щелкнув на кнопке Выполнить, получите результат, показанный на рис. 8.

Опять, как и в методе взвешенного скользящего среднего, наилучший прогноз будет получен, если назначить весь вес последнему наблюдению. Следовательно, оптимальное значение α равно 1, при этом среднее абсолютных отклонений равно 6,82 (ячейка G16). Виктор получил прогноз, который уже видел ранее.

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

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

Метод Хольта (экспоненциальное сглаживание с учетом тренда)

,

Метод Хольта позволяет прогнозировать на k периодов времени вперед. Метод, как видно, использует два параметра α и β. Значения этих параметров находятся в пределах от 0 до 1. Переменная L, указывает на долгосрочный уровень значений или базовое значение данных временного ряда. Переменная Т указывает на возможное возрастание или убывание значений за один период.

Рассмотрим работу этого метода на новом примере. Светлана работает аналитиком в большой брокерской фирме. На основе имеющихся у нее квартальных отчетов компании Startup Airlines она хочет спрогнозировать доход этой компании в следующем квартале. Имеющиеся данные и диаграмма, построенная на их основе, находятся в рабочей книге Startup.xls (рис. 9). Видно, что данные имеют явный тренд (почти монотонно возрастают). Светлана хочет применить метод Хольта, чтобы спрогнозировать значение прибыли на одну акцию на тринадцатый квартал. Для этого необходимо задать начальные значения для L и Т Есть несколько вариантов выбора: 1) L равно значению прибыли на одну акцию за первый квартал и T = 0; 2) L равно среднему значению прибыли на одну акцию за 12 кварталов и T равно среднему изменению за все 12 кварталов. Существуют и другие варианты начальных значений для L и Т, но Светлана выбрала первый вариант.

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

Выбрать команду Сервис -> Поиск решения.

В открывшемся диалоговом окне Поиск решения задать ячейку F18 целевой и указать, что ее значение следует минимизировать.

В поле Изменяя ячейки ввести диапазон ячеек В1:В2. Добавить ограничения В1:В2 > 0 и В1:В2 < 1.

Кликнуть на кнопке Выполнить.

Полученный прогноз показан на рис. 10.

Как видно, оптимальными оказались значения α = 0,59 и β = 0,42, при этом среднее абсолютных ошибок в процентах равно 38%.

Учет сезонных изменений

При прогнозировании на основе данных временного ряда следует учитывать сезонные изменения Сезонные изменения - это колебания вверх и вниз с постоянным периодом в значениях переменной.

Например, если посмотреть на объемы продаж мороженого по месяцам, то можно увидеть в теплые месяцы (с июня по август в северном полушарии) более высокий уровень продаж, чем зимой, и так каждый год. Здесь сезонные колебания имеют период в 12 месяцев. Если используются данные, собранные по неделям, то структура сезонных колебаний будет повторяться через каждые 52 недели Другой пример анализируются еженедельные отчеты о количестве постояльцев, которые оставались на ночь в отеле, расположенном в бизнес-центре города Предположительно можно сказать, что большое число клиентов ожидается в ночи на вторник, среду и четверг, меньше всего клиентов будет в ночи на субботу и воскресенье, и среднее число постояльцев ожидается в ночи на пятницу и понедельник. Такая структура данных, отображающая количество клиентов в разные дни недели, будет повторяться через каждые семь дней.

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

1) На основе исходных данных определяется структура сезонных колебаний и период этих колебаний.

3) На основе данных, из которых исключена сезонная составляющая, делается наилучший возможный прогноз.

4) К полученному прогнозу добавляется сезонная составляющая.

Проиллюстрируем этот подход на данных об объемах сбыта угля (измеряемого в тысячах тонн) в США на протяжении девяти лет Фрэнк работает менеджером в компании Gillette Coal Mine, ему необходимо спрогнозировать спрос на уголь на ближайшие два квартала. Он ввел данные по всей угольной отрасли в рабочую книгу Уголь.xls и построил по этим данным график (рис. 11). На графике видно, что объемы продаж выше среднего уровня в первом и четвертом кварталах (зимнее время года) и ниже среднего во втором и третьем кварталах (весенне-летние месяцы).

Исключение сезонной составляющей

Сначала необходимо вычислить среднее значение всех отклонений за один период сезонных изменений. Чтобы исключить сезонную составляющую в пределах одного года, используются данные за четыре периода (квартала). А чтобы исключить сезонную составляющую из всего временного ряда, вычисляется последовательность скользящих средних по T узлам, где T - продолжительность сезонных колебаний Для выполнения необходимых вычислений Фрэнк использовал столбцы С и D, как показано на рис. ниже. Столбец С содержит значения скользящего среднего по 4 узлам на основе данных, которые находятся в столбце В.

Теперь надо назначить полученные значения скользящего среднего средним точкам последовательности данных, на основе которых эти значения были вычислены. Эта операция называется центрированием значений. Если T нечетное, то первое значение скользящего среднего (среднее значений от первой до T-й точки) надо присвоить (T + 1)/2 точке (например, если T = 7, то первое скользящее среднее будет назначено четвертой точке). Аналогично среднее значений от второй до (T + 1)-й точки центрируется в (T + 3)/2 точке и т. д. Центр n-го интервала находится в точке (T+(2n-1))/2.

Если T четное, как в рассматриваемом случае, то задача несколько усложняется, поскольку здесь центральные (средние) точки расположены между точками, по которым вычислялось значение скользящего среднего. Поэтому центрированное значение для третьей точки вычисляется как среднее первого и второго значений скользящего среднего. Например, первое число в столбце D отцентрированных средних на рис. 12, слева равняется (1613 + 1594)/2 = 1603. На рис. 13 показаны графики исходных данных и отцентрированных средних.

Далее находим отношения значений точек данных к соответствующим значениям отцентрированных средних. Поскольку точкам в начале и конце последовательности данных нет соответствующих отцентрированных средних (см. первые и последние значения в столбце D), такое действие на эти точки не распространяется. Эти отношения показывают степень отклонения значений данных относительно типового уровня, определяемого отцентрированными средними. Заметим, что значения отношений для третьих кварталов меньше 1, а для четвертых - больше 1.

Эти отношения являются основой для создания сезонных индексов. Для их вычисления группируются вычисленные отношения по кварталам, как показано на рис. 15 в столбцах G-О.

Затем находятся средние значения отношений по каждому кварталу (столбец Е на рис. 15). Например, среднее всех отношений для первого квартала равно 1,108. Это значение является сезонным индексом первого квартала, на основе которого можно сделать вывод, что объем сбыта угля за первый квартал составляет в среднем около 110,8% относительного среднего годового объема сбыта.

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

Наконец, чтобы исключить из исходных данных сезонную составляющую, следует поделить значения исходных данных на соответствующий сезонный индекс. Результаты этой операции приведены в столбцах F и G (рис. 16). График данных, которые уже не содержат сезонной составляющей, представлен на рис. 17.

Прогнозирование

На основе данных, из которых исключена сезонная составляющая, строится прогноз. Для этого используется соответствующий метод, который учитывает характер поведения данных (например, данные имеют тренд или относительно постоянны). В этом примере прогноз строится с помощью простого экспоненциального сглаживания. Оптимальное значение параметра α находится с помощью средства Поиск решения. График прогноза и реальных данных с исключенной сезонной составляющей приведены на рис. 18.

Учет сезонной структуры

Теперь нужно учесть в полученном прогнозе (1726,5) сезонную составляющую. Для этого следует умножить 1726 на сезонный индекс первого квартала 1,108, в результате чего получим значение 1912 Аналогичная операция (умножение 1726 на сезонный индекс 0,784) даст прогноз на второй квартал, равный 1353. Результат добавления сезонной структуры к полученному прогнозу показан на рис. 19.

Варианты заданий:

Задача 1

Дан временной ряд

t
x

1. Постройте график зависимости x = x(t).

  1. Используя простое скользящее среднее по 4 узлам, спрогнозируйте спрос в 11-й момент времени.
  2. Подходит ли такой метод прогнозирования для этих данных или нет? Почему?
  3. Подберите линейную функцию приближения данных методом наименьших квадратов.

Задача 2

Пользуясь моделью прогнозов доходов компании Startup Airlines (Startup.xls) выполните:

Задача 3

Для временного ряда

t
x

выполните:

  1. Используя взвешенное скользящее среднее по 4 узлам, и назначив веса 4/10, 3/10, 2/10, 1/10, спрогнозируйте спрос в 11-й момент времени. Больший вес следует назначать более поздним наблюдениям.
  2. Является ли данное приближение более предпочтительным по отношению к простому скользящему среднему по 4 узлам? Почему?
  3. Найдите среднее абсолютных отклонений.
  4. С помощью средства Поиск решения найдите оптимальные веса узлов. Насколько уменьшилась ошибка приближения?
  5. Воспользуйтесь для прогноза методом экспоненциального сглаживания. Какой их использованных методов дает лучший рещультат?

Задача 4

Проанализируйте временной ряд

Время
Спрос
  1. Воспользуйтесь методом взвешенного скользящего среднего по 4 узлам, назначив веса 4/10, 3/10, 2/10, 1/10, чтобы получить прогноз в моменты времени 5-13. Больший вес следует назначать более поздним наблюдениям.
  2. Найдите среднее абсолютных отклонений.
  3. Считаете ли вы, что данное приближение более предпочтительно по сравнению с моделью простого скользящего среднего по 4 узлам? Почему?
  4. С помощью средства Поиск решения найдите оптимальные веса узлов. На сколько удалось уменьшить значение ошибки?
  5. Воспользуйтесь для прогноза методом экспоненциального сглаживания. Какой их использованных методов дает лучший результат?

Задача 5

Дан временной ряд

Задача 7

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

Используя простое скользящее среднее по 3 узлам, спрогнозируйте значения в узлах с 4 до 11.

Используя взвешенное скользящее среднее по 3 узлам, спрогнозируйте значения в узлах с 4 до 11. Для определения оптимальных весов воспользуйтесь средством Поиск решения.

Методом экспоненциального сглаживания спрогнозируйте значения в узлах 2-11. Определите оптимальное значение параметра α с помощью средства Поиск решения.

Какой из полученных прогнозов наиболее точный и почему?

Задача 8

Дан временной ряд

  1. Постройте график этого временного ряда. Соедините точки отрезками прямых.
  2. Используя простое скользящее среднее по 4 узлам, спрогнозируйте спрос для узлов 5–13.
  3. Найдите среднее абсолютных отклонений.
  4. Целесообразно ли использовать данный метод прогнозирования для представленных данных?
  5. Является ли данное приближение более предпочтительным по отношению к простому скользящему среднему по 3 узлам? Почему?
  6. Постройте по данным линейный и квадратичный тренд.
  7. Воспользуйтесь для прогноза методом экспоненциального сглаживания. Какой их использованных методов дает лучший рещультат?

Задача 10

В рабочей книге Business_Week.xls приведены данные из журнала Business Week по ежемесячным объемам продаж автомобилей за 43 месяца.

  1. Исключите из этих данных сезонную составляющую.
  2. Определите наилучший метод прогнозирования для имеющихся данных.
  3. Чему равен прогноз для 44-го периода?

Задача 11

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

Задача 12

В рабочей книге Банк.xls приведены показатели работы банка. Рассмотрите следующие методы прогнозирования значений этого временного ряда.

В качестве прогноза используется среднее значение показателя за все предыдущие недели.

Метод взвешенного скользящего среднего (с числом узлов на ваше усмотрение). Попробуйте использовать несколько различных значений узлов. Для определения оптимальных весов воспользуйтесь средством Поиск решения.

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

Какой из предложенных выше методов прогнозирования вы бы порекомендовали для прогноза значений данного временного ряда?

Литература


Похожая информация.


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

Метод экспоненциального сглаживания наиболее эффективен при разработке среднесрочных прогнозов. Он приемлем при прогнозировании только на один период вперед. Его основные достоинства простота процедуры вычислений и возможность учета весов исходной информации. Рабочая формула метода экспоненциального сглаживания:

При прогнозировании данным методом возникает два затруднения:

  • выбор значения параметра сглаживания α;
  • определение начального значения Uo.

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

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

Точного метода для выбора оптимальной величины параметра сглаживания α нет. В отдельных случаях автор данного метода профессор Браун предлагал определять величину α, исходя из длины интервала сглаживания. При этом α вычисляется по формуле:

где n – число наблюдений, входящих в интервал сглаживания.

Задача выбора Uo (экспоненциально взвешенного среднего начального) решается следующими способами:

  • если есть данные о развитии явления в прошлом, то можно воспользоваться средней арифметической и приравнять к ней Uo;
  • если таких сведений нет, то в качестве Uo используют исходное первое значение базы прогноза У1.

Также можно воспользоваться экспертными оценками.

Отметим, что при изучении экономических временных рядов и прогнозировании экономических процессов метод экспоненциального сглаживания не всегда «срабатывает». Это обусловлено тем, что экономические временные ряды бывают слишком короткими (15-20 наблюдений), и в случае, когда темпы роста и прироста велики, данный метод не «успевает» отразить все изменения.

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

Задача . Имеются данные, характеризующие уровень безработицы в регионе, %

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

Решение методом экспоненциального сглаживания

1) Определяем значение параметра сглаживания по формуле:

где n – число наблюдений, входящих в интервал сглаживания. α = 2/ (10+1) = 0,2

2) Определяем начальное значение Uo двумя способами:
І способ (средняя арифметическая) Uo = (2,99 + 2,66 + 2,63 + 2,56 + 2,40 + 2,22 + 1,97 + 1,72 + 1,56 + 1,42)/10 = 22,13/10 = 2,21
II способ (принимаем первое значение базы прогноза) Uo = 2,99

3) Рассчитываем экспоненциально взвешенную среднюю для каждого периода, используя формулу

где t – период, предшествующий прогнозному; t+1 – прогнозный период; Ut+1 - прогнозируемый показатель; α - параметр сглаживания; Уt - фактическое значение исследуемого показателя за период, предшествующий прогнозному; Ut - экспоненциально взвешенная средняя для периода, предшествующего прогнозному.

Например:
Uфев = 2,99*0,2 +(1-0,2) * 2,21 = 2,37 (І способ)
Uмарт = 2,66*0,2+(1-0,2) * 2,37 = 2,43 (І способ) и т.д.

Uфев = 2,99*0,2 +(1-0,2) * 2,99 = 2,99 (II способ)
Uмарт = 2,66*0,2+(1-0,2) * 2,99 = 2,92 (II способ)
Uапр = 2,63*0,2+(1-0,2) * 2,92 = 2,86 (II способ) и т.д.

4) По этой же формуле вычисляем прогнозное значение
Uноябрь= 1,42*0,2+(1-0,2) * 2,08 = 1,95 (І способ)
Uноябрь= 1,42*0,2+(1-0,2) * 2,18 = 2,03 (ІІ способ)
Результаты заносим в таблицу.

5) Рассчитываем среднюю относительную ошибку по формуле:

ε = 209,58/10 = 20,96% (І способ)
ε = 255,63/10 = 25,56% (ІІ способ)

В каждом случае точность прогноза является удовлетворительной поскольку средняя относительная ошибка попадает в пределы 20-50%.

Решив данную задачу методами скользящей средней и наименьших квадратов , сделаем выводы.

Насколько 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! позволит в два раза сократить запасы или снизить дефицит.