Penggunaan prinsip pemrosesan sinyal yang meragukan untuk mengidentifikasi tren

10

Saya mengusulkan untuk mencoba dan menemukan tren dalam beberapa data jangka panjang yang sangat bising. Data pada dasarnya adalah pengukuran mingguan dari sesuatu yang bergerak sekitar 5mm selama periode sekitar 8 bulan. Data ke akurasi 1mm dan sangat bising secara teratur mengubah +/- 1 atau 2mm dalam seminggu. Kami hanya memiliki data hingga mm terdekat.

Kami berencana untuk menggunakan beberapa pemrosesan sinyal dasar dengan transformasi fourier cepat untuk memisahkan noise dari data mentah. Asumsi dasarnya adalah jika kita mencerminkan set data kita dan menambahkannya ke akhir set data kita yang ada, kita dapat membuat panjang gelombang penuh data dan oleh karena itu data kita akan muncul dalam transformasi fourier cepat dan mudah-mudahan kita dapat memisahkannya .

Mengingat ini kedengarannya agak meragukan bagi saya, apakah ini suatu metode yang layak untuk dijernihkan atau apakah metode ini mencerminkan dan menambahkan set data kami yang entah bagaimana cacat secara mendasar? Kami melihat pendekatan lain seperti menggunakan filter low pass juga.

Ian Turner
sumber
Bagaimana dengan transformasi Fourier lambat (standar).
Apakah ini pengukuran GPS yang dapat dikoreksi secara berbeda untuk pergerakan lempeng?
whuber
Sebenarnya itu adalah pergerakan terowongan sementara pekerjaan konstruksi sedang berlangsung di sekitarnya. Kami memperkirakan pergerakan akan sangat mengikuti kurva S selama periode pemantauan.
Ian Turner

Jawaban:

9

Kedengarannya cerdik bagi saya karena perkiraan tren akan bias di dekat titik di mana Anda splice pada data palsu. Pendekatan alternatif adalah regresi nonparametrik yang lebih halus seperti loess atau splines.

Rob Hyndman
sumber
8

Jika Anda ingin memfilter tren jangka panjang menggunakan pemrosesan sinyal, mengapa tidak menggunakan low-pass?

Hal paling sederhana yang dapat saya pikirkan adalah rata-rata bergerak eksponensial.

James Roth
sumber
Kami telah melihatnya. Berfungsi baik-baik saja tetapi dalam kasus ini kebisingannya masih terlihat agak terlalu kuat dan jika kita mengubah parameter untuk meratakan distribusi yang cukup, nampaknya tren tersebut terlalu banyak berkurang. Mungkin dalam hal ini tidak ada solusi untuk data dan itu hanya sedikit terlalu berisik.
Ian Turner
1
Rata-rata bergerak secara eksponensial adalah kasus khusus dari kernel yang lebih halus (dengan asumsi Anda menggunakan MA 2-sisi daripada 1-sisi). Taksiran yang lebih baik yang merupakan generalisasi dari ini adalah loess atau splines - lihat jawaban saya.
Rob Hyndman
7

Saya pikir Anda bisa mendapatkan beberapa distorsi pada titik tempel karena tidak semua gelombang yang mendasarinya akan terhubung dengan sangat baik.

Saya akan menyarankan menggunakan transformasi Hilbert Huang untuk ini. Lakukan pemisahan menjadi fungsi mode intrinsik dan lihat apa yang tersisa sebagai residu saat menghitungnya.

Peter Smit
sumber
7

Anda dapat menggunakan transformasi wavelet diskrit (cepat :)) . Paket wavethresh di bawah R akan melakukan semua pekerjaan. Ngomong-ngomong, saya suka solusi @James karena sederhana dan sepertinya langsung menuju ke titik.

robin girard
sumber
Sepakat; wavelet sangat baik untuk memilih perilaku non-stasioner dalam tingkat kebisingan yang tinggi. Anda harus berhati-hati dengan DWT. Ini bukan rotasi-invarian (meskipun ada modifikasi DWT yang, lihat misalnya Percival dan Walden 2000), sehingga Anda dapat kehilangan transien tajam tergantung pada titik awal untuk data Anda. Juga, sebagian besar implementasi DWT melakukan sirkulasi data implisit, sehingga Anda masih perlu mengendalikannya.
Kaya
Jika ingatan saya baik, paket wavethresh berisi terjemahan denoising invarian (referensi saya adalah Coifman 1995) (Perhatikan bahwa Anda berbicara tentang rotasi, bukankah kita berbicara tentang sinyal temporal?).
robin girard
Apakah Anda berbicara tentang MODWT (Maximum Overlap Discrete Wavelet Transform)?
RockScience
@ fRed: nop, ini kertasnya, Coifman dan Donoho: citeseerx.ist.psu.edu/viewdoc/…
robin girard
4

Sebagian besar waktu ketika saya mendengar "tren jangka panjang", saya memikirkan tren jangka panjang ke atas atau tren penurunan jangka panjang , tidak ada yang dapat ditangkap dengan baik oleh transformasi Fourier. Tren satu arah seperti itu lebih baik dianalisis dengan menggunakan regresi linier . (Transformasi dan periodier Fourier lebih tepat untuk hal-hal yang naik dan turun).

Regresi linier mudah dilakukan di sebagian besar spreadsheet. (a) Tampilkan persamaan untuk garis regresi (b) Membuat XY Scattergraphs dengan Spreadsheets

Regresi linier mencoba memperkirakan data Anda dengan garis lurus. Transformasi Fourier mencoba memperkirakan data Anda dengan beberapa gelombang sinus yang ditambahkan bersamaan. Ada teknik lain ("regresi non-linear") yang mencoba memperkirakan data Anda ke polinomial atau bentuk lainnya.

David Cary
sumber
2

Transformasi Fourier mengasumsikan stationarity sinyal akal luas dan linear time invariance (LTI). Walaupun kuat untuk beberapa pelanggaran kondisi ini, saya tidak berpikir itu tepat untuk analisis tren karena asumsi stasioneritas, yaitu Anda mencoba untuk mengukur sesuatu yang melanggar salah satu asumsi dasar FFT.

Saya setuju dengan poster-poster di atas; mirroring data Anda dan menambahkan data mirroring ke akhir seri waktu Anda cerdik. Saya akan menyarankan bahwa pemasangan model regresi linier dengan tren waktu seperti yang disebutkan di atas mungkin lebih tepat.

Jika Anda ingin memeriksa periodisitas, Anda dapat menghapus tren dengan pemfilteran lulus tinggi dan melakukan analisis Fourier. Jika tren tetap terlihat setelah pemfilteran, Anda dapat mengurangi garis regresi linier yang sesuai dari sinyal asli sebelum FFT.

BGreene
sumber