Bagaimana cara menguraikan deret waktu dengan berbagai komponen musiman?

22

Saya memiliki deret waktu yang berisi komponen musiman ganda dan saya ingin menguraikan deret tersebut menjadi komponen deret waktu berikut (tren, komponen musiman 1, komponen musiman 2, dan komponen tidak teratur). Sejauh yang saya tahu, prosedur STL untuk mendekomposisi seri dalam R hanya memungkinkan satu komponen musiman, jadi saya telah mencoba mendekomposisi seri dua kali. Pertama, dengan mengatur frekuensi menjadi komponen musiman pertama menggunakan kode berikut:

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

Kemudian, saya mendekomposisi komponen tidak beraturan dari seri terurai ( dec_1) dengan mengatur frekuensi menjadi komponen musiman kedua, sehingga:

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

Saya tidak terlalu percaya diri dengan pendekatan ini. Dan saya ingin tahu apakah ada cara lain untuk menguraikan seri yang memiliki banyak musiman. Juga, saya perhatikan bahwa tbats()fungsi dalam paket perkiraan R memungkinkan seseorang untuk mencocokkan model ke seri dengan beberapa musiman, namun tidak disebutkan bagaimana cara menguraikan seri dengan itu.

kartu as
sumber
Halo dan selamat datang di situs ini. Untuk dua komponen musiman Anda, apakah mereka memiliki periodisitas yang berbeda, misalnya apakah satu mingguan dan satu bulanan?
Michelle
1
Bab 14 dari Rob Hyndman, Koehler, Ord & Snyder "Peramalan dengan Penghalusan Eksponensial" mencakup hal ini. Hyndman juga memiliki paket perkiraan di R. Saya ingat Hyndman pernah memposting di situs ini tentang topik ini, tetapi mungkin ada di blog-nya.
zbicyclist
@Michelle Hai, terima kasih atas jawabannya. Ya dua komponen musiman memiliki periodisitas yang berbeda. Yang pertama memiliki periodisitas 48 (musiman harian), sedangkan yang kedua memiliki periodisitas 336 (musiman mingguan). Ini adalah seri waktu setengah jam.
ace
@ zbicyclist Saya yakin paket peramalan yang sedang Anda bahas adalah paket 'ramalan' yang saya sebutkan di posting asli. Saya telah melihat fungsi tbats dari paket ini tetapi ia tidak mengatakan bagaimana menggunakannya untuk penguraian. Saya akan memeriksa buku itu untuk melihat apakah saya dapat menemukan ilustrasi lebih lanjut.
ace
2
Inilah yang saya pikirkan. Itu ada di blog Hyndman. robjhyndman.com/papers/complex-seasonality
zbicyclist

Jawaban:

13

forecastbats()tbats()x(t)t

Lihat http://robjhyndman.com/papers/complex-seasonality/ untuk formula dan Hyndman et al (2008) untuk deskripsi yang lebih baik dari model ETS. BATS dan TBATS adalah perpanjangan dari ETS.

Sebagai contoh:

fit <- bats(myTimeseries)
fit$x

Dalam hal ini, setiap baris xakan berada pada harmonik fourier-like.

Ada juga plot.tbats()dan plot.bats()fungsi untuk secara otomatis menguraikan dan melihat komponen.

kekuasaan
sumber