Bagaimana cara menambahkan komponen periodik ke model regresi linier?

17

Saya memiliki beberapa data frekuensi kumulatif. Garis sepertinya cocok dengan data dengan sangat baik, tetapi ada goyangan siklik / periodik di baris. Saya ingin memperkirakan kapan frekuensi kumulatif akan mencapai nilai tertentu c . Ketika saya memetakan nilai residu vs pas, saya mendapatkan perilaku sinusoidal yang indah.y=ax+bc

Sekarang, untuk menambahkan komplikasi lain, perhatikan bahwa dalam plot residual

teks alternatif

ada dua siklus yang memiliki nilai lebih rendah dari yang lain, yang mewakili efek akhir pekan yang juga harus diperhitungkan.

Jadi, kemana saya harus pergi dari sini? Bagaimana saya bisa menggabungkan beberapa istilah cosinus, sinus, atau siklik ke dalam model regresi untuk kira-kira. memperkirakan kapan frekuensi kumulatif akan sama dengan ?c

Ryan Rosario
sumber

Jawaban:

9

Anda dapat mencoba stl()metode yang luar biasa - ini terurai (menggunakan loess()fitting yang diulang ) menjadi tren dan musiman dan sisanya. Ini mungkin hanya mengambil osilasi Anda di sini.

Dirk Eddelbuettel
sumber
8

Jika Anda mengetahui frekuensi osilasi, Anda dapat menyertakan dua prediktor tambahan, sin (2π wt) dan cos (2π wt) - atur w untuk mendapatkan panjang gelombang yang diinginkan - dan ini akan memodelkan osilasi. Anda membutuhkan kedua istilah tersebut agar sesuai dengan amplitudo dan sudut fase. Jika ada lebih dari satu frekuensi, Anda akan memerlukan istilah sinus dan kosinus untuk setiap frekuensi.

Jika Anda tidak tahu apa frekuensinya, cara standar untuk mengisolasi beberapa frekuensi adalah dengan cara detrend data (dapatkan residu dari fit linear, seperti yang telah Anda lakukan) dan jalankan transformasi Fourier diskrit terhadap residual. Cara cepat dan kotor untuk melakukan ini adalah di MS-Excel, yang memiliki alat Analisis Fourier di Add-In Analisis Data. Jalankan analisis terhadap residu, ambil nilai absolut dari transformasi, dan buat grafik hasilnya. Puncak akan menjadi komponen frekuensi utama Anda yang ingin Anda modelkan.

Saat Anda menambahkan prediktor siklik ini, perhatikan baik-baik nilai-p mereka dalam regresi Anda, dan jangan berlebihan. Gunakan hanya frekuensi yang signifikan secara statistik. Sayangnya, ini mungkin membuat pemasangan frekuensi rendah sedikit sulit.

Mike Anderson
sumber
2
Ketika Anda memperkirakan frekuensi dari data (seperti dengan analisis Fourier) dan kemudian memasukkannya sebagai istilah sin / cos dalam regresi, nilai-p mereka akan menjadi tidak berarti.
whuber
4

Mari kita mulai dengan mengamati bahwa kuadrat terkecil yang cocok untuk data ini kemungkinan tidak tepat. Jika data individu yang terakumulasi diasumsikan, seperti biasa, memiliki komponen acak kesalahan, maka kesalahan dalam data kumulatif ( bukan yang frekuensi kumulatif -yang ini sesuatu yang berbeda dari apa yang Anda miliki) adalah jumlah kumulatif dari semua istilah kesalahan. Ini membuat data kumulatif heteroscedastic (mereka menjadi lebih dan lebih bervariasi dari waktu ke waktu) dan berkorelasi positif. Karena data ini berperilaku sangat teratur, dan ada banyak dari mereka, ada sedikit masalah dengan kecocokan Anda akan mendapatkan, tetapi perkiraan kesalahan Anda, prediksi Anda (yang merupakan inti dari pertanyaan itu), dan terutama kesalahan prediksi standar Anda bisa jadi jauh.

Prosedur standar untuk menganalisis data tersebut dimulai dengan nilai asli. Ambil perbedaan sehari-hari untuk menghilangkan komponen sinusoidal frekuensi tinggi. Ambil perbedaan mingguan dari mereka untuk menghapus kemungkinan siklus minggu-ke-minggu. Analisis apa yang tersisa. Pemodelan ARIMA adalah pendekatan fleksibel yang kuat, tetapi mulailah secara sederhana: buat grafik data yang berbeda untuk melihat apa yang terjadi, kemudian beralih dari sana. Perhatikan juga, bahwa dengan data kurang dari dua minggu perkiraan Anda tentang siklus mingguan akan buruk dan ketidakpastian ini akan mendominasi ketidakpastian dalam prediksi.

whuber
sumber
2

Jelas osilasi dominan memiliki periode satu hari. Sepertinya ada juga komponen frekuensi rendah yang berkaitan dengan hari dalam seminggu, jadi tambahkan komponen dengan frekuensi satu minggu (yaitu satu-tujuh dari sehari) dan beberapa harmonik pertamanya. Itu memberikan model bentuk:

E(y)=c+a0cos(2πt)+b0sin(2πt)+a1cos(2πt/7)+b1sin(2πt/7)+a2cos(4πt/7)+b2sin(4πt/7)+

ty

onestop
sumber
-2

Mengapa tidak hanya menggunakan GA untuk menemukan amplitudo, periode, dan fase dari seri Sine (atau cosinus) secara berurutan, kemudian digabungkan. Optimalkan yang berikut: (n (n-1) / ((np-1) ^ 2 (np-2))) RSS

Mark Campbell
sumber
1
Tidak jelas bagaimana ini menjawab pertanyaan tentang menghitung fungsi frekuensi kumulatif terbalik. Dan apa yang Anda maksud dengan "GA"? Algoritma genetika? Sesuatu yang lain
Whuber