Menguji signifikansi puncak dalam kepadatan spektral

20

Kami terkadang menggunakan plot kerapatan spektral untuk menganalisis periodisitas dalam deret waktu. Biasanya kami menganalisis plot dengan inspeksi visual dan kemudian mencoba menarik kesimpulan tentang periodisitas. Tetapi apakah ahli statistik telah mengembangkan tes untuk memeriksa apakah ada lonjakan dalam plot secara statistik berbeda dari white noise? Sudahkah para ahli R mengembangkan paket apa pun untuk analisis kerapatan spektral dan untuk melakukan tes semacam itu? Hebat jika seseorang bisa membantu.

Salam,
P.

Pantera
sumber
1
Ditekan oleh @Wesley, saya menghapus pikiran cepat saya tentang fungsi autokorelasi dan periodogram (mungkin dia memang seorang guru analisis domain frekuensi, tapi saya pribadi tidak berpikir Bartlett, saat bekerja dengan autokorelasi dalam domain waktu), tetapi masih berpikir bahwa saya saran kedua tentang bootspecdenssemoga bermanfaat.
Dmitrij Celov
Saya mendasarkan asumsi saya tentang tanggapan orang-orang terhadap 'apa yang dimaksud dengan autokorelasi?' pada tampilan literatur, di mana hampir semua contoh di mana autokorelasi digunakan dari standar, domain waktu yang dihitung, autokorelasi Barlett. Dan, sayangnya, ini buruk! :) Saya sangat menghargai saran bootspecdensdari Dmitrij; menantikan untuk memeriksanya.
Wesley Burr

Jawaban:

9

Anda harus menyadari bahwa memperkirakan spektrum daya menggunakan periodogram tidak dianjurkan, dan sebenarnya sudah merupakan praktik buruk sejak ~ 1896. Ini adalah penaksir tidak konsisten untuk apa pun yang kurang dari jutaan sampel data (dan bahkan kemudian ...), dan umumnya bias. Hal yang sama persis berlaku untuk menggunakan estimasi standar autokorelasi (yaitu Bartlett), karena mereka adalah pasangan transformasi Fourier. Asalkan Anda menggunakan penduga yang konsisten, ada beberapa opsi yang tersedia untuk Anda.

Yang terbaik dari ini adalah perkiraan beberapa jendela (atau lancip) dari spektrum daya. Dalam hal ini, dengan menggunakan koefisien setiap jendela pada frekuensi yang diinginkan, Anda dapat menghitung Statistik F Harmonik terhadap hipotesis nol white noise. Ini adalah alat yang sangat baik untuk mendeteksi komponen saluran dalam kebisingan, dan sangat disarankan. Ini adalah pilihan default dalam komunitas pemrosesan sinyal untuk mendeteksi periodikitas kebisingan berdasarkan asumsi stasioneritas.

Anda dapat mengakses metode estimasi spektrum multitaper dan uji-F terkait melalui multitaperpaket dalam R (tersedia melalui CRAN). Dokumentasi yang disertakan dengan paket harus cukup untuk membuat Anda pergi; uji-F adalah opsi sederhana dalam pemanggilan fungsi spec.mtm.

Referensi asli yang mendefinisikan kedua teknik ini dan memberikan algoritma bagi mereka adalah Estimasi Spektrum dan Analisis Harmonik , DJ Thomson, Prosiding IEEE, vol. 70, hal. 1055-1096, 1982.

Berikut adalah contoh menggunakan set data yang disertakan dengan multitaperpaket.

require(multitaper);
data(willamette);
resSpec <- spec.mtm(willamette, k=10, nw=5.0, nFFT = "default",
                    centreWithSlepians = TRUE, Ftest = TRUE,
                    jackknife = FALSE, maxAdaptiveIterations = 100,
                    plot = TRUE, na.action = na.fail) 

Parameter yang harus Anda perhatikan adalah k dan nw : ini adalah jumlah windows (atur ke 10 di atas) dan produk bandwidth waktu (5.0 di atas). Anda dapat dengan mudah meninggalkan ini pada nilai-nilai kuasi-default untuk sebagian besar aplikasi. The centreWithSlepians perintah menghapus perkiraan yang kuat dari mean dari time series menggunakan proyeksi ke jendela Slepian - ini juga direkomendasikan, karena meninggalkan berarti dalam menghasilkan banyak daya pada frekuensi rendah.

Saya juga akan merekomendasikan memplot output spektrum dari 'spec.mtm' pada skala log, karena membersihkan secara signifikan. Jika Anda memerlukan informasi lebih lanjut, cukup kirim dan saya senang memberikannya.

Wesley Burr
sumber
Kepada Burr, Silva dan Celov - terima kasih banyak atas jawaban dan saran Anda yang menarik. Saya berharap untuk menguji estimator ini. Salam Hormat
Pantera
(+1) malam ini saya memikirkan dengan seksama saran Anda, dan memutuskan bahwa domain waktu memang merupakan hal terakhir (karena terpotongnya lag dan sifat lemah dalam sampel kecil) untuk mencoba mencari perilaku bersepeda. Yang secara pribadi saya khawatirkan adalah asumsi untuk statistik F dan properti ukuran sampel kecil dari skema yang disarankan. Yah dan mungkin itu baik untuk memulai pertanyaan terpisah mengenai pemilihan jendela optimal, karena memang ada banyak.
Dmitrij Celov
Memang ada banyak pilihan jendela, walaupun dua yang paling umum adalah Discrete Prolate Spheroidal Sequences (atau Slepians ) dan sinus taper. Jika Anda mencari konsentrasi energi maksimal dalam bandwidth lokal, Slepian telah terbukti optimal, dan sebenarnya adalah output dari bentuk persamaan integral dari kerapatan spektral (lihat makalah yang saya sebutkan untuk perincian lengkap). Sejauh statistik F pergi, tentu ada beberapa masalah dengan derajat kebebasan, tetapi secara keseluruhan mereka bekerja dengan baik, dengan ~ 2k-2 dof tersedia.
Wesley Burr
Periodogram yang dihaluskan juga menggunakan lancip, memungkinkan untuk FFT, buku David Stoffer mengajarkan Anda cara menghitung interval kepercayaan juga. multitaperPaket ini tampaknya telah menggunakan teknik yang lebih maju untuk meruncing dan menghitung interval kepercayaan. Tetapi saya pikir idenya sama, menurut David Stoffer. Ini adalah satu-satunya hal yang dapat saya pikirkan bahwa mengajar vanili peridogoram sebenarnya masih masuk akal saat ini.
stucash
ok jadi Anda adalah salah satu penulis paket ini dan Anda telah menggunakan beberapa kata yang sangat kuat terhadap periodogram. Saya harap suatu hari Anda dapat kembali dengan lebih banyak bukti. Pro dan kontra umum untuk Periodogram sudah dikenal, seperti varians peledaknya, itulah sebabnya itu bukan penaksir yang konsisten untuk spektrum tetapi periodogram yang dihaluskan tidak terlalu buruk, tidak seburuk yang Anda nyatakan di sini.
stucash
3

Kami telah mencoba upaya untuk mengatasi masalah ini dengan transformasi wavelet dari tes berbasis spektral baru-baru ini dalam makalah ini . Pada dasarnya, Anda perlu mempertimbangkan distribusi ordinasi periodogram, mirip dengan artikel Fisher, yang disebutkan dalam jawaban sebelumnya. Makalah lain dari Koen adalah ini . Kami baru-baru ini menerbitkan paket R hwwntest .

Delyan Savchev
sumber
Savchev, terima kasih banyak atas komentar dan referensi Anda. Saya berharap dapat menguji paket-R Anda.
Pantera
2

f(ωk)

Anda bisa mendapatkan rincian lebih lanjut tentang tes dalam MB Priestley, Analisis Spektral dan Rangkaian Waktu , Academic Press, London, 1981, halaman 406.

Di R, paket GeneCycle berisi fungsi fisher.g.test():

library(GeneCycle)
?fisher.g.test

Semoga ini membantu.

Washington S. Silva
sumber
ini hebat tetapi paket uji g bergantung pada fungsi periodogramnya sendiri yang memiliki opsi sangat terbatas untuk menghitung spektrum daya ...
stucash