Deseasonalisasi data dengan analisis fourier

8

Saya memiliki data yang memiliki dua perilaku mendasar. Pertama ada periodisitas di dalamnya. Itu terlihat seperti kurva sinus. Kedua titik data memiliki pertumbuhan yang konstan di dalamnya. Jadi, jika saya memiliki 100 titik data tanpa pertumbuhan apa pun, itu akan terlihat seperti kurva sinus. Tetapi karena tingkat pertumbuhan di dalamnya. ada peningkatan besarnya dari titik 1 ke titik 100.

Saya tidak yakin apa istilah yang tepat untuk mencari di google. Apakah ada metode untuk analisis data semacam ini?

pengguna1243255
sumber
Mirip dengan stats.stackexchange.com/a/213455/17230 ? Regresi harmonik, atau regresi dengan istilah Fourier, saya pikir. Idenya dapat digunakan dalam berbagai jenis model deret waktu.
Scortchi
dapatkah kamu memposting plot? lebih banyak konteks?
Matthew Gunn

Jawaban:

5

Istilah yang Anda cari adalah "tren dan dekomposisi musiman dari rangkaian waktu". Google ini.

Ada banyak pendekatan. Jika Anda benar-benar hanya memiliki 100 poin maka Fourier tidak akan bekerja dengan baik. Pendekatan berbasis Yule-Walker dapat bekerja lebih baik. Ada juga pendekatan berbasis filter. Misalnya, filter pass band Google seperti bpassm dari Atlanta Fed. Gagasannya adalah Anda memfilter komponen frekuensi yang berbeda dari seri, sehingga frekuensi rendah akan menjadi tren, frekuensi menengah sinyal, dan frekuensi tinggi - musiman dll.

Ada satu set kode lengkap dalam contoh matlab ini . Ini akan membawa Anda selangkah demi selangkah melalui proses deseasoning, ini bekerja cukup baik untuk data ekonomi dalam pengalaman saya

Aksakal
sumber
1
Cintai contoh ini. Ini yang saya cari.
user1243255
6

Model auto-regresif klasik dapat menangani siklus! Akan kembali, Yule (1927) dan Walker (1931) memodelkan periodisitas bintik matahari menggunakan persamaan bentuk:

yt+1=Sebuah+b1yt+b2yt-1+ϵt+1

Aktivitas Sunspot cenderung beroperasi pada siklus 11 tahun, dan meskipun itu tidak segera jelas, dimasukkannya dua istilah auto-regresif dapat menciptakan perilaku siklik! Model auto-regresif sekarang ada di mana-mana dalam analisis deret waktu modern. The Biro Sensus Amerika Serikat menggunakan model ARIMA untuk menghitung penyesuaian musiman.

Secara umum, Anda dapat memuat model ARIMA yang melibatkan:

  • hal order istilah regresif otomatis (seperti di atas)
  • q memesan rata-rata bergerak
  • d perbedaan (untuk mendapatkan data stasioner)

Jika Anda terjun ke matematika , ada hubungan antara model ARIMA dan representasi dalam domain frekuensi dengan transformasi Fourier. Anda dapat mewakili proses seri waktu stasioner menggunakan model auto-regresif, model rata-rata bergerak, atau kepadatan spektral.

Langkah praktis ke depan:

  1. Pertama-tama Anda perlu mendapatkan deret waktu stasioner . Misalnya dengan produk domestik bruto atau konsumsi agregat, orang biasanya mengambil logaritma dan menghitung perbedaan pertama. (Ide adalah bahwa distribusi lebih dari persen perubahan dalam konsumsi agregat tidak berubah-ubah sepanjang waktu.) Untuk mendapatkan deret waktu stasioner dari konsumsi agregat .ΔctCt

Δct=catatanCt-catatanCt-1
  1. Setelah Anda memiliki seri waktu stasioner, mudah untuk menyesuaikan model AR (n) auto-regresif. Anda hanya bisa melakukan kuadrat. Untuk model AR (2), Anda dapat menjalankan regresi.

yt=Sebuah+b1yt-!+b2yt-2+ϵt

Tentu saja Anda bisa menjadi lebih mewah, tetapi seringkali hal-hal sederhana dapat bekerja dengan sangat baik. Ada paket yang dikembangkan dengan baik untuk analisis deret waktu dalam R, EViews, Stata, dll ...

Matthew Gunn
sumber
3

Jika data Anda adalah deret waktu, Anda mungkin ingin melihat perataan tiga eksponensial, juga dikenal sebagai metode Holt-Winters. Ini dapat mengakomodasi musiman tambahan (di mana amplitudo musiman tidak tumbuh dengan tren naik dari waktu ke waktu) dan musiman multiplikasi. Inilah perbedaannya:

aditif vs musiman multiplisatif

Bagian ini di buku ramalan online gratis Hyndman's & Athanasopoulos menjelaskan Holt-Winters. Berikut adalah keseluruhan taksonomi dari metode smoothing eksponensial, berdasarkan Gardner (2006, International Journal of Forecasting ) . Untuk benar-benar model seri seperti, ekstrak tren, musiman dan kesalahan komponen dan perkiraan, saya sarankan ets()fungsi dalam forecastpaket untuk R .

Stephan Kolassa
sumber