Расчет показателей сезонности для сложной сезонности


11

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

Проблема в том, что все примеры, которые я нашел, имеют дело с некой простой сезонностью. В моем случае у меня есть следующие проблемы: 1. Сезоны не происходят на одной и той же неделе каждый год: они подвижны. Марди-гра, одолжил, пасха и некоторые другие. 2. Есть времена года, которые меняются в зависимости от года. Например, существует сезон национальных праздников. В зависимости от того, близок ли праздник к выходным, клиенты покинут город или не покинут его. Так что это похоже на два сезона: один, когда клиенты покидают город, и другой, когда они не покидают город. 3. Иногда два (или 3) сезона происходят одновременно. Например, у нас был сезон "Марди-Гра", происходящий одновременно с сезоном Валентина.
4. Иногда времена года меняются по продолжительности. Например, «сезон Хэллоуина» начался ранее в этом году. Рождество также является еще одним примером, когда каждый год мы начинаем нести продукты.

Мне кажется, что мне нужно найти способ установить своего рода «сезонные профили», которые затем, в зависимости от конкретного сценария, каким-то образом добавляются для получения правильного сезонного индекса. Имеет ли это смысл?

Кто-нибудь знает, где я могу найти практическую информацию о том, как это сделать?

Спасибо Эдгард

Ответы:


7

Для описываемых вами видов сезонности подход с использованием фиктивной переменной, вероятно, является наилучшим. Однако это легче обрабатывать в среде ARIMA, чем в инфраструктуре экспоненциального сглаживания. где каждый Переменная соответствует одному из праздничных или фестивальных событий. Вот как функция в R будет соответствовать регрессионным переменным (как регрессия с ошибками ARIMA, а не как модель ARIMAX). Dт,к

yt=a+b1Dt,1++bmDt,m+NtNtARIMA
Dt,karima

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


Привет Квак и Роб. Спасибо за просмотр. Я хотел использовать экспоненциальное сглаживание, потому что это то, с чем я больше знаком. Я думаю, что мне нужно узнать, как использовать платформу ARIMA. Не могли бы вы порекомендовать хорошую книгу, которая помогла бы мне узнать достаточно много о фреймворке ARIMA, чтобы применить такой фиктивный подход к переменной? У меня есть «Прогнозирование, временные ряды и регрессия» Бауэрмана и Левенбах «Прогнозирование: практика и процесс управления спросом», которые я использовал, чтобы узнать об экспоненциальном сглаживании. Я не знаю, достаточно ли подробно они описывают то, что мне нужно. Спасибо!
Elriba

Бауэрман О'Коннелл и Келер вполне хороши для представления моделей ARIMA, но я не думаю, что это включает ARIMA с ковариатами. Вы можете попробовать мой учебник 1998 года, который охватывает моделирование и регрессию ARIMA с ошибками ARIMA на начальном уровне. См. Robjhyndman.com/forecasting для деталей.
Роб Хиндман

1

Простым решением будет включение в вашу спецификацию манекенов для событий:

(1)yt^=λ1yt1+...+λkytk+ϕ1Dt,1+ϕmDt,m

где - показатель, принимающий значение если на неделе есть событие (скажем, Mardi Gras) и 0 в противном случае, для всех событий, которые вы считаете важными. 1 т, м мDt,m1tmm

Первая часть спецификации по существу является экспоненциальными сглаживателями, но с весом, меняющимся в зависимости от запаздывания (и оценивается OLS).λ1yt1+...+λkytk

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

R для fit (1) довольно прост, предполагая, что dlsales стационарен, а D - ваша матрица фиктивных переменных:

fit<-arima(dlsales,order=c(4,0,0),seasonal = list(order = c(1, 0, 0),period=52),xreg = D)

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


2
На самом деле, функция арима в R не будет соответствовать вашей модели (1). arima () регрессирует с ошибками ARIMA, а ваше уравнение (1) является моделью ARMAX.
Роб Хиндман

Роб:> Я редактировал уравнение один. Можете ли вы указать источник, где объясняется разница (ы) между armax и регрессией с ошибками аримы (или, альтернативно, предоставить интуитивное объяснение). Кроме того, знаете ли вы о пакете R, который реализует модели ARMAX? Заранее спасибо.
user603

Модель ARMAX первого порядка с одной ковариатой имеет вид y_t = a + bx_t + cy_ {t-1} + e_t, где e_t - нулевое среднее. Соответствующая регрессия с ошибкой ARIMA имеет вид y_t = a + bx_t + n_t, где n_t = phi * n_ {t-1} + z_t, а z_t - это нулевое среднее значение.
Роб Хиндман

1
@kwak. Во-первых, n_t = phi n_ {t-1} + z_t есть AR (1). Процесс скользящего среднего порядка 1 будет иметь вид n_t = theta z_ {t-1} + z_t. Во-вторых, регрессия с ошибками MA эквивалентна модели MAX. Но как только вы добавляете AR-термины в процессе ошибки, между этими двумя классами нет эквивалентности. В-третьих, функция arimax () в TSA подходит для моделей передаточных функций, частным случаем которых является регрессия с ошибками ARIMA. Он не подходит для моделей ARIMAX. Я мог бы написать в блоге об этом, поскольку трудно найти различные классы моделей, которые можно сравнивать и обсуждать где угодно.
Роб Хиндман

2
Я попытался обобщить различные модели на robjhyndman.com/researchtips/arimax
Роб Хиндман
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.