Экспоненциальное сглаживание в MS EXCEL

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

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

Примечание: Перед прочтением этой статьи рекомендуется прочитать про Скользящее среднее.

Примечание: В англоязычной литературе для экспоненциального сглаживания используется термин Single Exponential Smoothing (SES).
 
При усреднении методом скользящего среднего веса, присвоенные наблюдениям, одинаковы и равны 1/n, где n – количество периодов усреднения. Например, в случае усреднения за 3 периода скользящее среднее равно: 

Yскол.i=(Yi+ Yi-1+ Yi-2)/3 = Yi/3+ Yi-1/3+ Yi-2/3

В случае Экспоненциального сглаживания формула выглядит следующим образом:

Yэксп.i=альфа*Yi-1+ (1-альфа)*Yэксп.i-1
или 
Yэксп.i= Yэксп.i-1 + альфа*(Yi-1 - Yэксп.i-1)

где 0<альфа<1, i>2

Параметр альфа определяет степень сглаживания. При малых значениях альфа (0,1 – 0,2) имеет место сильное сглаживание. При значениях близких к 1, сглаженный ряд практически повторяет исходный ряд с задержкой (лагом) на один период. Для медленно меняющегося ряда часто берут небольшие значения альфа=0,1; а для быстро меняющегося 0,3-0,5.

Примечание: Формулы представляют собой рекуррентное соотношение – это когда последующий член ряда вычисляется на основе предыдущего.

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

Надстройка Пакет анализа

Получить Экспоненциально сглаженный ряд можно с помощью надстройки Пакет анализа (Analysis ToolPak). Надстройка доступна из вкладки Данные, группа Анализ. 

СОВЕТ: Подробнее о других инструментах надстройки Пакет анализа и ее подключении – читайте в статье.

Разместим исходный числовой ряд в диапазоне B7:B32.

Для наглядности пронумеруем каждое значение ряда (столбец А). 
Вызовем надстройку Пакет анализа, выберем инструмент Экспоненциальное сглаживание. 

и нажмем ОК.

В появившемся диалоговом окне в поле Входной интервал введите ссылку на диапазон с данными ряда, т.е. на B7:B32.

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

Поле Фактор затухания, как и параметр альфа в вышеуказанной формуле, определяет степень сглаживания ряда. Фактор затухания равен (1- альфа). Чем больше Фактор затухания тем глаже получается ряд. Установим значение 0,8.

В поле Выходной интервал достаточно ввести ссылку на левую верхнюю ячейку диапазона с результатами (укажем ячейку D7).

Также поставим галочки в поле Вывод графика и Стандартные погрешности (будет выведен столбец с расчетами погрешностей, англ. Standard Errors).
Нажмем ОК.

В результате работы надстройки, MS EXCEL разместил значения ряда, полученного методом Экспоненциального сглаживания, в столбце D (см. файл примера лист Пакет анализа). 

В ячейке D7 содержится текстовое значение ошибки #Н/Д, т.к. для получения первого значения Экспоненциального сглаживания требуется значение исходного ряда за предыдущий период. 

Первое значение сглаженного ряда, точнее формула =B7, содержится в ячейке D8. Второе значение вычисляется с помощью формулы =0,2*B8+0,8*D8

Таким образом, Фактор затухания (0,8) определяет вес (вклад) предыдущего значения сглаженного ряда. Соответственно, (1-Фактор затухания)=альфа определяет вес предыдущего значения исходного ряда.

Диаграмма 

Для отображения рядов MS EXCEL создал диаграмму типа график. Сглаженный ряд на диаграмме называется «Прогноз» (ряд красного цвета).

Первое значение сглаженного ряда, которое равно ошибке #Н/Д, отражаются как 0, и может ввести в заблуждение (особенно, если последующие значения ряда близки к 0). Поэтому его лучше удалить из ячейки D7.

Примечание: Значение #Н/Д в ячейке D7 является просто текстовым значением, что принципиально отличается от результата возвращаемого формулами, например, функцией НД(), хотя визуально они неразличимы. При построении диаграммы текстовые значения всегда отображаются как 0. Но, если ошибка #Н/Д является результатом формулы, то воспринимается диаграммой как пустая ячейка и на ней не отображается. 

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

Вычисление погрешности 

В столбце E, начиная с ячейки Е11, MS EXCEL разместил формулы для вычисления погрешностей (англ. Standard Errors): 

=КОРЕНЬ(СУММКВРАЗН(B8:B10;D8:D10)/3)

Т.е. данная погрешность вычисляется по формуле:


Значения y – это значения исходного ряда в период i. Значения «y с крышечкой» - значения ряда, полученного методом Экспоненциального сглаживания, в тот же в период i. Значение n для экспоненциального сглаживания всегда равно 3, т.е. ошибка вычисляется за 3 последних периода. 

Подробнее об этой погрешности см. соответствующий раздел в статье про Скользящее среднее.

Почему экспоненциальное? 

Как было показано в статье про Взвешенное скользящее среднее веса значений исходного ряда берутся в зависимости от их удаленности от текущего периода. Например, для 3-х периодов усреднения для Взвешенного скользящего среднего можно использовать формулу:

Yскол.i=0,5*Yi+ 0,4*Yi-1+ 0,1*Yi-2 

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

Чтобы это показать воспользуемся формулой 

Yэксп.i=альфа*Yi-1+ (1-альфа)*Yэксп.i-1

и вычислим Yэксп.5, т.е. значения сглаженного ряда для 5-го периода. После очевидных преобразований получим:

Yэксп.5=альфа*[(1-альфа)0* Yэксп.4+ (1-альфа)1* Yэксп.3+(1-альфа)2* Yэксп.2] +(1-альфа)3* Y1

Таким образом, вес 4-го (предыдущего) члена ряда =(1-альфа)0, а вес 3-го =(1-альфа)1 и т.д. Пусть t – текущий период (в нашем случае =5). Вес (t-i)-го члена ряда =(1-альфа)t-1-i. Т.к. (1-альфа)<1, то с ростом i растет и вес, и для члена t-1 достигает максимума =1.

Как известно, экспоненциальный рост y=a*EXP(b*x) в случае дискретной области определения с равными интервалами x называют геометрическим ростом (значения экспоненциальной функции y=a*EXP(b*x) являются в этом случае членами геометрической прогрессии m^x). 

В нашем случае, приравняв i-й вес (1-альфа)t-1-i соответствующему значению экспоненциальной функции a*EXP(b*i) получим уравнение, которое позволит вычислить коэффициенты a и b (понадобится еще одно уравнение, например, для i-1 веса).

Решив систему из 2-х уравнений получим, a= EXP((t-1)*LN(1-альфа)) и b= LN(1-альфа).

В файле примера для 26-го члена сглаженного ряда (t=26) вычислены веса всех предыдущих членов. На диаграмме ниже показано, что веса уменьшаются с ростом i в геометрической прогрессии, что соответствует экспоненциальной функции y=0,0038*exp(0,2231*x), где x=i. Вычисления параметров экспоненциальной кривой сделаны с помощью надстройки Поиск решения.

Экспоненциальное сглаживание с настраиваемым Фактором затухания

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

Значения ряда вычисляются с помощью формулы:

=ЕСЛИ(A10=1;B10;(1-$B$6)*B10+$B$6*C10)

в ячейке В6 содержится значение Фактора затухания.

Выбор значения Фактора затухания для удобства осуществляется с помощью элемента управления Счетчик с шагом 0,1.
 

 



Комментарии

Только для авторизованных пользователей

(только для авторизованных пользователей)

© Copyright 2013 - 2021 Excel2.ru. All Rights Reserved