Jak rozłożyć szereg czasowy z wieloma składnikami sezonowymi?

22

Mam szereg czasowy, który zawiera podwójne składniki sezonowe i chciałbym rozłożyć szereg na następujące składniki szeregu czasowego (trend, składnik sezonowy 1, składnik sezonowy 2 i składnik nieregularny). O ile mi wiadomo, procedura STL do dekompozycji serii w R dopuszcza tylko jeden komponent sezonowy, więc próbowałem dekomponować serię dwa razy. Po pierwsze, ustaw częstotliwość jako pierwszy składnik sezonowy za pomocą następującego kodu:

ser = ts(data, freq=48)
dec_1 = stl(ser, s.window="per")

Następnie zdekomponowałem nieregularny składnik rozłożonej serii ( dec_1), ustawiając częstotliwość na drugą składową sezonową, tak aby:

ser2 = ts(dec_1$time.series[,3], freq=336)
dec_2 = stl(ser2, s.window="per")

Nie jestem zbyt pewny tego podejścia. I chciałbym wiedzieć, czy istnieją inne sposoby dekompozycji serii, która ma wiele sezonowości. Zauważyłem również, że tbats()funkcja w pakiecie prognozy R pozwala dopasować model do szeregu o wielu sezonowości, jednak nie mówi, jak rozłożyć z nim szereg.

as
źródło
Witam i witam na stronie. Czy w przypadku dwóch składników sezonowych mają one różną częstotliwość, np. Czy jeden tydzień, a drugi raz w miesiącu?
Michelle
1
Rozdział 14 Roba Hyndmana, Koehlera, Orda i Snydera „Prognozowanie z wygładzaniem wykładniczym” obejmuje to. Hyndman ma również pakiet prognostyczny w języku R. Wydaje mi się, że przypominam sobie Hyndmana, który napisał na tej stronie na ten temat, ale mógł być na swoim blogu.
zbicyclist
@Michelle Cześć dzięki za odpowiedź. Tak, dwa sezonowe składniki mają różną częstotliwość. Pierwszy z nich ma częstotliwość 48 (dzienna sezonowość), podczas gdy drugi ma częstotliwość 336 (tygodniowa sezonowość). To półgodzinne szeregi czasowe.
as
@zbicyclist Uważam, że pakiet prognostyczny, o którym jesteś, to pakiet „prognozy”, o którym wspomniałem w oryginalnym poście. Zajrzałem do funkcji tbats tego pakietu, ale nie mówi, jak go używać do dekompozycji. Zajrzę do książki, aby sprawdzić, czy mogę znaleźć więcej ilustracji.
as
2
Oto o czym myślałem. To było na blogu Hyndmana. robjhyndman.com/papers/complex-seasonality
zbicyclist

Odpowiedzi:

13

forecastbats()tbats()x(t)t

Zobacz http://robjhyndman.com/papers/complex-seasonality/ dla formuł, a Hyndman i in. (2008) dla lepszego opisu modeli ETS. BATS i TBATS są rozszerzeniem ETS.

Na przykład:

fit <- bats(myTimeseries)
fit$x

W takim przypadku każdy rząd xbędzie na harmonicznej podobnej do Fouriera.

Są też plot.tbats()i plot.bats()funkcje automatycznego rozłożony i wyświetlić składniki.

moc
źródło