Введение в экспоненциальное сглаживание для прогнозирования временных рядов в Python

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

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

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

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

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

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

Экспоненциальное сглаживание может быть наиболее эффективным, когда параметры временного ряда медленно изменяются во времени.

Типы экспоненциального сглаживания

Основными типами методов прогнозирования экспоненциального сглаживания являются:

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

Простое или однократное экспоненциальное сглаживание (SES) — это метод прогнозирования временных рядов, используемый с одномерными данными без тренда и сезонности. Ему нужен единственный параметр, называемый альфа (a), также известный как коэффициент сглаживания. Альфа контролирует скорость, с которой влияние прошлых наблюдений уменьшается в геометрической прогрессии. Параметру часто присваивается значение от 0 до 1.

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

st = αxt+(1 – α)st-1= st-1+ α(xt – st-1)

здесь,

st = сглаженная статистика (простое средневзвешенное значение текущего наблюдения xt)

st-1 = предыдущая сглаженная статистика

α = коэффициент сглаживания данных; 0 < α < 1

т = период времени

2. Двойное экспоненциальное сглаживание

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

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

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

Формулы двойного экспоненциального сглаживания:

S1 = х1

В1 = х1-х0

Для t>1,

st = αxt + (1 – α)(st-1 + bt-1)

βt = β(ст – ст-1) + (1 – β)бт-1

здесь,

bt = лучшая оценка тренда в момент времени t

β = коэффициент сглаживания тренда; 0 < β <1

3. Тройное экспоненциальное сглаживание

Этот метод представляет собой наиболее продвинутый вариант экспоненциального сглаживания и используется для прогнозирования временных рядов, когда данные имеют линейные тенденции и сезонные закономерности. Этот метод применяет экспоненциальное сглаживание трижды: сглаживание уровня, сглаживание тренда и сезонное сглаживание. Добавлен новый параметр сглаживания, называемый гамма (g), для контроля влияния сезонной составляющей.

Метод тройного экспоненциального сглаживания называется экспоненциальным сглаживанием Холта-Винтерса, названным в честь его авторов Чарльза Холта и Питера Уинтерса.

Экспоненциальное сглаживание Холта-Винтерса имеет две категории в зависимости от характера сезонной составляющей:

  • Аддитивный метод Холта-Винтера — для сезонности, вызывающей привыкание.
  • Мультипликативный метод Холта-Винтера – для мультипликативной сезонности.

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

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

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

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

Параметры, указывающие тип изменения тренда или сезонности (например, являются ли они аддитивными или мультипликативными или их следует демпфировать), необходимо указать явно.

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

Давайте посмотрим, как реализовать экспоненциальное сглаживание в Python.

Библиотека Python Statsmodels предоставляет реализации экспоненциального сглаживания в Python.

Одиночное экспоненциальное сглаживание

Класс SimpleExpSmoothing Statsmodels позволяет реализовать одиночное экспоненциальное сглаживание или простое сглаживание в Python.

Сначала создается экземпляр SimpleExpSmoothing, которому передаются обучающие данные. Затем вызывается функция fit(), дающая конфигурацию подгонки, особенно значение альфа. Функция fit() возвращает экземпляр класса HoltWintersResults, содержащий изученные коэффициенты. Затем для объекта результата вызывается функция прогноза() или прогнозирования() для составления прогноза.

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

Класс SimpleExpSmoothing Statsmodels также позволяет реализовать двойное и тройное экспоненциальное сглаживание в Python.

Сначала создается экземпляр SimpleExpSmoothing, определяющий данные обучения и конфигурацию модели. Мы должны определить параметры конфигурации для тренда, затухающего, сезонного и Season_ periods. Затем вызывается функция fit() для подгонки модели к обучающим данным.

Функция fit() возвращает экземпляр класса HoltWintersResults, содержащий изученные коэффициенты. Затем для объекта результата вызывается функция прогноза() или прогнозирования() для составления прогноза.

Выберите правильную программу

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

Название программы

Учебный курс по науке о данных

Последипломная программа в области науки о данных

Профессиональный сертификационный курс по науке о данных

ГеоНАСНеамериканская программаВ
УниверситетКалтехКалтехИИТ Канпур
Длительность курса6 месяцев11 месяцев11 месяцев
Требуется опыт кодированияНетНетДа
Навыки, которые вы изучитеБолее 8 навыков, включая статистические выводы, построение и точную настройку моделей, обучение с учителем и без учителя и многое другое.8+ навыков, включая
Контролируемое и неконтролируемое обучение
Глубокое обучение
Визуализация данных и многое другое.
8+ навыков, включая
НЛП, визуализация данных, построение моделей и многое другое.
Дополнительные преимуществаДо 14 кредитов CEU Членство в кружке Caltech CTMEДо 14 кредитов CEU Членство в кружке Caltech CTMEЖивые мастер-классы от преподавателей IIT Kanpur и сертификат Академии E&ICT, IIT Kanpur
Расходы$$$$$$$$$$
Изучите программуИзучите программуИзучите программу

Заключительные слова

В этом уроке вы узнали, что такое экспоненциальное сглаживание для прогнозирования временных рядов в Python, его типы и способы реализации этого метода. Чтобы узнать больше о прогнозировании временных рядов или начать карьеру в области науки о данных, рассмотрите нашу высшую сертификацию Caltech DS Bootcamp.

Часто задаваемые вопросы

1. Какие три типа экспоненциального сглаживания существуют?

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

  • Простое или однократное экспоненциальное сглаживание
  • Двойное экспоненциальное сглаживание
  • Тройное экспоненциальное сглаживание

2. Что подразумевается под экспоненциальным сглаживанием?

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

3. Почему экспоненциальное сглаживание лучше всего?

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

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

4. Как рассчитать экспоненциальное сглаживание?

Простейшая формула для расчета экспоненциального сглаживания:

st = αxt+(1 – α)st-1= st-1+ α(xt – st-1)

здесь,

st = сглаженная статистика (простое средневзвешенное значение текущего наблюдения xt)

st-1 = предыдущая сглаженная статистика

α = коэффициент сглаживания данных; 0 < α < 1

т = период времени

5. В чем разница между скользящим средним и экспоненциальным сглаживанием?

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

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

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

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

6. Как экспоненциальное сглаживание используется в прогнозировании?

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *