Obliczanie wskaźników sezonowości dla złożonej sezonowości


11

Chcę prognozować artykuły detaliczne (według tygodnia) za pomocą wygładzania wykładniczego. W tej chwili utknąłem w sposobie obliczania, przechowywania i stosowania indeksów sesonalności.

Problem polega na tym, że wszystkie przykłady, które znalazłem, dotyczą pewnego rodzaju sezonowości. W moim przypadku mam następujące problemy: 1. Pory roku nie występują w tym samym tygodniu co roku: są ruchome. Mardi-gras, Wielki Post, Wielkanoc i kilka innych. 2. Są pory roku, które zmieniają się w zależności od roku. Na przykład jest święto narodowe. W zależności od tego, czy wakacje są blisko weekendu, klienci opuszczą miasto. To tak jakby mieć dwa sezony: jeden, w którym klienci opuszczają miasto, i drugi, w którym nie opuszczają miasta. 3. Czasami występują dwie (lub 3) pory roku. Na przykład mieliśmy sezon „Mardi-Gras” występujący w tym samym czasie co sezon walentynkowy.
4. Czasami pory roku zmieniają się w czasie. Na przykład „sezon Halloween” rozpoczął się na początku tego roku. Święta Bożego Narodzenia to także kolejny przykład, w którym wydaje się, że każdego roku zaczynamy wcześniej nosić produkty.

Wydaje mi się, że muszę znaleźć sposób na ustanowienie pewnego rodzaju „profili sezonowych”, które następnie, w zależności od konkretnego scenariusza, zostaną w jakiś sposób dodane, aby uzyskać prawidłowy wskaźnik sezonowy. Czy to ma sens?

Czy ktoś wie, gdzie mogę znaleźć praktyczne informacje, jak to zrobić?

Dzięki, Edgard

Odpowiedzi:


7

Pod względem opisywanych sezonowości najlepsze jest prawdopodobnie podejście zmienne. Jest to jednak łatwiejsze w obsłudze w środowisku ARIMA niż w trybie wygładzania wykładniczego. gdzie każdazmiennaDt,kodpowiada jednemu z wydarzeń wakacyjnych lub festiwalowych. W ten sposóbfunkcja w R dopasuje zmienne regresji (jako regresja z błędami ARIMA, a nie jako model ARIMAX).

yt=za+b1ret,1++bmret,m+N.tN.tARIMA
ret,karima

Jeśli naprawdę chcesz pozostać przy strukturze wygładzania wykładniczego, dyskutuj o tym, jak uwzględnić zmienne towarzyszące w mojej książce z 2008 r. Na temat wygładzania wykładniczego . Możesz także spojrzeć na mój niedawny artykuł na temat wygładzania wykładniczego ze złożoną sezonowością, chociaż rodzaje komplikacji sezonowych, które omawiamy, są trudniejsze niż opisujący poruszający festiwal.


Cześć Kwak i Rob. Dzięki za obejrzenie tego. Chciałem zastosować wygładzanie wykładnicze, ponieważ to jest bardziej znane mi. Myślę, że muszę nauczyć się korzystać z frameworka ARIMA. Czy mógłbyś polecić dobrą książkę, która pomogłaby mi dowiedzieć się wystarczająco dużo o architekturze ARIMA, aby zastosować takie fałszywe podejście do zmiennych? Mam „Prognozowanie, szeregi czasowe i regresję” Bowermana oraz „Prognozowanie: praktyka i proces zarządzania popytem” Levenbacha, których uczyłem się o wygładzaniu wykładniczym. Nie wiem, czy są wystarczająco szczegółowe, aby uzyskać to, czego potrzebowałbym. Dzięki!
elriba

Bowerman O'Connell i Koehler są całkiem dobrzy do wprowadzania modeli ARIMA, ale nie sądzę, że zawiera ARIMA z współzmiennymi. Możesz wypróbować mój podręcznik z 1998 roku, który obejmuje modelowanie i regresję ARIMA z błędami ARIMA na poziomie wprowadzającym. Szczegółowe informacje można znaleźć na stronie robjhyndman.com/forecasting .
Rob Hyndman,

1

Prostym rozwiązaniem byłoby uwzględnienie manekinów zdarzeń w specyfikacji:

(1)yt^=λ1yt-1+...+λkyt-k+ϕ1ret,1+ϕmret,m

ret,m1tmm

λ1yt-1+...+λkyt-k

Zakłada to, że masz co najmniej 20 obserwacji dla każdego zdarzenia (tj. 20 „mardi gras”). Jeśli tak nie jest, możesz spróbować połączyć kilka wydarzeń razem (np. Mardi gras i święto pracy).

R do dopasowania (1) jest dość proste, zakładając, że dlsales jest stacjonarny, a D jest macierzą zmiennych zastępczych:

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

Zaczynając od tego miejsca, możesz zadawać bardziej szczegółowe pytania dotyczące części mojej odpowiedzi, które nie są ci znane (nie wiem, jaki jest twój poziom w statystykach).


2
W rzeczywistości funkcja arima w R nie pasuje do twojego modelu (1). arima () wykonuje regresję z błędami ARIMA, a twoje równanie (1) jest modelem ARMAX.
Rob Hyndman

Rob:> Zredagowałem równanie pierwsze. Czy możesz wskazać źródło, w którym wyjaśniono różnicę między pachą a regresją z błędami arima (lub alternatywnie można podać intuicyjne wyjaśnienie) Czy znasz również pakiet R, który implementuje modele ARMAX? Z góry dziękuję.
user603

Model ARMAX pierwszego rzędu z jedną zmienną towarzyszącą to y_t = a + bx_t + cy_ {t-1} + e_t, gdzie e_t oznacza średnią zero. Odpowiadająca regresja z błędem ARIMA to y_t = a + bx_t + n_t gdzie n_t = phi * n_ {t-1} + z_t i z_t oznacza średnią zero.
Rob Hyndman,

1
@kwak. Po pierwsze, n_t = phi n_ {t-1} + z_t to AR (1). Proces średniej ruchomej rzędu 1 byłby n_t = theta z_ {t-1} + z_t. Po drugie, regresja z błędami MA odpowiada modelowi MAX. Ale po dodaniu terminów AR w procesie błędu nie ma równoważności między dwiema klasami. Po trzecie, funkcja arimax () w TSA pasuje do modeli funkcji przesyłania, których szczególnym przypadkiem jest regresja z błędami ARIMA. Nie pasuje do modeli ARIMAX. Mógłbym napisać o tym na blogu, ponieważ trudno jest znaleźć różne klasy modeli porównywane i omawiane gdziekolwiek.
Rob Hyndman,

2
Próbowałem podsumować różne modele na stronie robjhyndman.com/researchtips/arimax
Rob Hyndman
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.