Saya telah melampirkan gambar seri waktu yang saya bicarakan. Bagian atas adalah seri asli, bagian bawah adalah seri yang dibedakan.
Setiap titik data adalah pembacaan rata-rata 5 menit dari strain gauge. Alat ukur regangan ini ditempatkan pada mesin. Area bising sesuai dengan area di mana mesin dihidupkan, area yang bersih adalah saat mesin dimatikan. Jika Anda melihat area yang dilingkari merah, ada beberapa langkah aneh dalam pembacaan yang ingin saya deteksi secara otomatis.
Saya benar-benar bingung bagaimana saya bisa melakukan ini - ada ide?
time-series
change-point
mohamedmoussa
sumber
sumber
Jawaban:
Tampaknya Anda mencari paku dalam interval waktu yang relatif tenang . "Relatif" berarti dibandingkan dengan nilai-nilai terdekat yang khas, yang menyarankan perataan seri. Sebuah kuat halus diinginkan justru karena tidak harus dipengaruhi oleh paku lokal beberapa. "Tenang" berarti variasi di sekitar yang halus itu kecil. Sekali lagi, perkiraan variasi lokal yang kuat diperlukan. Akhirnya, "lonjakan" akan menjadi residu besar sebagai kelipatan dari variasi lokal.
Untuk menerapkan resep ini , kita perlu memilih (a) seberapa dekat arti "terdekat", (b) resep untuk menghaluskan, dan (c) resep untuk menemukan variasi lokal. Anda mungkin harus bereksperimen dengan (a), jadi mari kita menjadikannya parameter yang mudah dikontrol. Pilihan yang baik dan tersedia untuk (b) dan (c) masing-masing adalah Lowess dan IQR . Berikut ini adalah
R
implementasinya:Sebagai contoh penggunaannya, pertimbangkan data simulasi ini di mana dua lonjakan berturut-turut ditambahkan ke periode tenang (dua berturut-turut harus lebih sulit untuk dideteksi daripada satu lonjakan terisolasi):
Berikut ini plot diagnostiknya:
Terlepas dari semua kebisingan di data asli, plot ini dengan indah mendeteksi paku (yang relatif kecil) di tengah. Otomatis deteksi dengan memindai
f(x)
nilai-nilai lebih besar (lebih besar dari sekitar 5 dalam nilai absolut: percobaan untuk melihat apa yang paling baik dengan data sampel).Deteksi palsu pada waktu 273 adalah outlier lokal acak. Anda dapat memperhalus tes untuk mengecualikan (sebagian besar) nilai palsu tersebut dengan memodifikasi
f
untuk mencari nilai diagnostikr/z
dan nilai IQR rendah yang berjalan bersamaanz
. Namun, meskipun diagnostik memiliki skala dan interpretasi universal (tanpa unit), makna IQR "rendah" tergantung pada unit data dan harus ditentukan dari pengalaman.sumber
Berikut adalah saran dua sen.
MenunjukkanXt seri yang dibedakan. DiberikanΔ > 0 dan sebuah titik t , tentukan
Karena katakanlahΔ=50 , nilai dari a(Δ,t) mencirikan zona mati / hidup dengan nilai rendah / tinggi.
Langkah anomali adalah sebuah titikt dimana |Xt|>αa(Δ,t) - Anda harus melakukan penyetelan α,Δ untuk mendeteksi apa yang Anda inginkan, dan menghindari false positive ketika mesin menyala. Saya akan coba dulu denganΔ=50 dan α=4 .
Atau, Anda bisa melihat point dimana a(δ,t)>αa(Δ,t) untuk sebuah δ≪Δ (misalnya δ=10 , Δ=100 ), yang dapat membantu fine tuning (dalam hal ini, Anda akan mengambil nilai yang lebih kecil untuk α ).
sumber