Kesamaan statistik dari deret waktu


15

Seandainya seseorang memiliki deret waktu dari mana seseorang dapat mengambil berbagai pengukuran seperti periode, maksimum, minimum, rata-rata dll. Dan kemudian menggunakannya untuk membuat model gelombang sinus dengan atribut yang sama, adakah pendekatan statistik yang dapat digunakan untuk mengukur seberapa dekat data aktual sesuai dengan model yang diasumsikan? Jumlah titik data dalam seri akan berkisar antara 10 dan 50 poin.

Pikiran pertama saya yang sangat sederhana adalah menganggap suatu nilai pada pergerakan arah dari gelombang sinus, yaitu +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1 +1, melakukan hal yang sama dengan data aktual, dan kemudian entah bagaimana mengukur tingkat kesamaan gerakan terarah.

Sunting: Setelah lebih memikirkan apa yang benar-benar ingin saya lakukan dengan data saya, dan mengingat jawaban terhadap pertanyaan awal saya, yang saya butuhkan adalah algoritma pengambilan keputusan untuk memilih antara asumsi yang bersaing: yaitu bahwa data saya pada dasarnya linier (atau trending) dengan noise yang mungkin memiliki elemen siklik; data saya pada dasarnya adalah siklus tanpa tren arah untuk dibicarakan; data pada dasarnya hanyalah noise; atau sedang transisi antara salah satu dari negara-negara ini.

Pikiranku sekarang adalah mungkin menggabungkan beberapa bentuk analisis Bayesian dan metrik Euclidean / LMS. Langkah-langkah dalam pendekatan ini adalah

Buat diasumsikan gelombang sinus dari pengukuran data

Pasang garis lurus LMS ke data

Turunkan metrik Euclidean atau LMS untuk keberangkatan dari data asli untuk masing-masing di atas

Buat Bayesian sebelumnya untuk masing-masing berdasarkan metrik ini yaitu 60% dari keberangkatan gabungan melampirkan satu, 40% ke yang lain, karenanya mendukung 40%

geser jendela satu titik data di sepanjang data dan ulangi di atas untuk mendapatkan% metrik baru untuk set data yang sedikit berubah ini - ini adalah bukti baru - lakukan analisis Bayesian untuk membuat posterior dan mengubah probabilitas yang mendukung setiap asumsi

ulangi sepanjang kumpulan data keseluruhan (3000+ titik data) dengan jendela geser ini (panjang jendela 10-50 poin data). Harapan / maksud adalah untuk mengidentifikasi asumsi dominan / disukai pada setiap titik dalam kumpulan data dan bagaimana ini berubah seiring waktu

Setiap komentar tentang metodologi potensial ini akan disambut, terutama tentang bagaimana saya benar-benar dapat mengimplementasikan bagian analisis Bayesian.

Jawaban:



5

Jika Anda memiliki model spesifik yang ingin Anda bandingkan: Saya akan merekomendasikan Least-squares sebagai metrik untuk memperkecil dan memberi skor nilai parameter yang mungkin terhadap dataset tertentu. Yang harus Anda lakukan pada dasarnya adalah memasukkan estimasi parameter Anda, menggunakannya untuk menghasilkan nilai yang diprediksi, dan menghitung rata-rata kuadrat deviasi dari nilai yang sebenarnya.

Namun, Anda mungkin mempertimbangkan untuk sedikit memutar pertanyaan: "Model mana yang paling cocok dengan data saya?" Dalam hal ini saya akan menyarankan membuat asumsi dari istilah kesalahan yang terdistribusi normal ~ sesuatu yang bisa diperdebatkan mirip dengan asumsi kuadrat terkecil. Kemudian, tergantung pada pilihan model Anda , Anda dapat membuat asumsi tentang bagaimana Anda berpikir parameter model lain didistribusikan (menetapkan Bayesian prior) dan menggunakan sesuatu seperti paket MCMC dari R untuk sampel dari distribusi parameter. Kemudian Anda bisa melihat cara posterior & varians untuk mendapatkan gambaran model mana yang paling cocok.


Jika saya memiliki dua model yang mungkin cocok dengan data saya, gelombang sinus seperti yang dijelaskan dalam pertanyaan asli saya dan kesesuaian garis lurus LMS, dapatkah saya membandingkan deviasi kuadrat rata-rata dari nilai data sebenarnya dari gelombang sinus dengan residu dari LMS fit line dan kemudian memilih model dengan nilai keseluruhan yang lebih rendah dengan alasan bahwa model ini menunjukkan kecocokan yang lebih akurat terhadap data? Jika demikian, apakah mungkin juga valid untuk membagi data menjadi dua dan melakukan hal yang sama dengan masing-masing setengah secara terpisah, menggunakan gelombang sinus / LMS yang cocok untuk melihat bagaimana setiap model dapat meningkatkan / semakin buruk seiring waktu?
babelproofreader

Saya tidak yakin. Saran saya adalah menggunakan metrik Least Squares, tetapi saya tidak mengatakan untuk menjalankan regresi linier. Anda mungkin memeriksa Regresi Berkala .
M. Tibbits

Mengenai pertanyaan Anda yang lain, dapatkah Anda memotong data menjadi dua, saya akan sangat berhati-hati dalam melakukannya - karena itu akan menggandakan frekuensi minimum yang dapat Anda pertimbangkan. Saya pikir Anda mungkin akhirnya perlu melihat koefisien Fourier (mengambil FFT atau DCT dan mundur pada mereka?!? - Tidak yakin ). Atau mungkin regresi berkala seperti yang disebutkan di atas.
M. Tibbits

3

"Pikiran pertama Anda yang sederhana" yang secara kualitatif hanya mewakili gerakan arah adalah sama semangatnya dengan algoritma SAX Keogh untuk membandingkan deret waktu. Saya sarankan Anda melihatnya: Eamonn Keogh & Jessica Lin: SAX .

Dari hasil edit Anda, sepertinya Anda sekarang berpikir untuk mengatasi masalah secara berbeda, tetapi Anda mungkin menemukan bahwa SAX menyediakan sebagian dari teka-teki tersebut.


0

Sementara saya agak terlambat ke pesta, jika Anda berpikir tentang sesuatu yang sinusoidal, transformasi wavelet adalah alat yang baik untuk dimiliki di saku Anda juga. Secara teori, Anda dapat menggunakan transformasi wavelet untuk menguraikan urutan menjadi berbagai "bagian" (misalnya, gelombang dengan bentuk / frekuensi berbeda, komponen non-gelombang seperti tren, dll). Bentuk spesifik dari transformasi gelombang yang digunakan satu ton adalah transformasi Fourier, tetapi ada banyak pekerjaan di bidang ini. Saya ingin dapat merekomendasikan paket saat ini, tetapi saya belum melakukan analisis sinyal bekerja cukup lama. Saya ingat beberapa paket Matlab yang mendukung fungsi pada nada ini, bagaimanapun.

Arah lain yang harus ditempuh jika Anda hanya mencoba menemukan tren dalam data siklik adalah sesuatu seperti tes Tren Mann-Kendall. Ini digunakan banyak untuk hal-hal seperti mendeteksi perubahan cuaca atau kualitas air, yang memiliki pengaruh musiman yang kuat. Itu tidak memiliki lonceng dan peluit dari beberapa pendekatan yang lebih maju, tetapi karena ini adalah uji statistik veteran, cukup mudah untuk menafsirkan dan melaporkan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.