Algoritma untuk Deteksi Anomali Seri Waktu

24

Saat ini saya menggunakan AnomalyDetection Twitter di R: https://github.com/twitter/AnomalyDetection . Algoritma ini menyediakan deteksi anomali seri waktu untuk data dengan musiman.

Pertanyaan: apakah ada algoritma lain yang mirip dengan ini (mengendalikan musiman tidak masalah)?

Saya mencoba untuk mencetak sebanyak mungkin algoritma deret waktu pada data saya sehingga saya dapat memilih yang terbaik / ansambel.

Eric Miller
sumber

Jawaban:

16

Algoritma Twitter didasarkan pada

Rosner, B., (Mei 1983), "Poin Persentase untuk Prosedur Banyak-outlier ESD Umum", Technometrics, 25 (2), hlm. 165-172

Saya yakin ada banyak teknik dan kemajuan sejak tahun 1983 !. Saya telah menguji data internal saya, dan deteksi anomali Twitter tidak mengidentifikasi outlier yang jelas. Saya akan menggunakan pendekatan lain juga untuk menguji pencilan dalam deret waktu. Yang terbaik yang saya temui adalah prosedur deteksi outlier Tsay yang diimplementasikan dalam perangkat lunak SAS / SPSS / Autobox dan SCA. Semuanya adalah sistem komersial. Ada juga paket tsoutliers yang bagus tetapi membutuhkan spesifikasi arimamodel agar dapat bekerja secara efisien. Saya memiliki masalah dengan pengaturan standar auto.arimaterkait dengan optimasi dan pemilihan model.

Artikel Tsay adalah karya mani dalam deteksi outlier dalam deret waktu. Jurnal terkemuka dalam penelitian peramalan International Journal of Forecasting menyebutkan bahwa artikel Tsay adalah salah satu karya yang paling banyak dikutip dan makalah yang paling berpengaruh dalam artikel yang ditautkan di atas (juga lihat di bawah). Difusi dari pekerjaan penting ini dan algoritma pendeteksian pencilan lainnya dalam peramalan perangkat lunak (terutama dalam perangkat lunak sumber terbuka) jarang terjadi.

masukkan deskripsi gambar di sini

peramal cuaca
sumber
14

Berikut adalah opsi untuk Deteksi Anomali di R pada 2017.

Paket AnomalyDetection Twitter

  • Bekerja dengan menggunakan Seasonal Hybrid ESD (SH-ESD);
  • Dibangun berdasarkan uji ESD Umum untuk mendeteksi anomali;
  • Dapat mendeteksi anomali lokal dan global;
  • Menggunakan dekomposisi deret waktu dan metrik statistik yang kuat (mis. Median bersama dengan ESD)
  • Mempekerjakan pendekatan piecewise untuk seri waktu yang lama;
  • Juga memiliki metode ketika cap waktu tidak tersedia;
  • Dapat menentukan arah anomali, jendela minat, beralih perkiraan piecewise, dan memiliki dukungan visual.

Paket anomalyDetection (berbeda dari Twitter)

  • berbagai pendekatan termasuk jarak Mahalanobis, analisis faktor, analisis paralel Horn, inspeksi blok, analisis komponen utama;
  • Memiliki metode untuk menangani hasil.

paket tsoutliers

  • Mendeteksi pencilan dalam deret waktu mengikuti prosedur Chen dan Liu ( https://www.jstor.org/stable/2290724?seq=1#page_scan_tab_contents );
  • Pencilan diperoleh berdasarkan estimasi parameter model yang 'tidak terkontaminasi', perkiraan efek pencilan menggunakan regresi linier berganda, dan memperkirakan parameter model dan efek secara bersama-sama.
  • Mempertimbangkan outlier inovatif, outlier aditif, perubahan level, perubahan sementara dan perubahan level musiman.

anomali-acm

  • Bekerja dengan menghitung vektor fitur pada setiap deret waktu (mis. Mencakup korelasi lag, kekuatan musiman, entropi spektral) kemudian menerapkan dekomposisi komponen utama yang kuat pada fitur-fitur tersebut, dan akhirnya menerapkan berbagai metode deteksi pencilan bivariat untuk dua komponen utama pertama;
  • Memungkinkan seri paling tidak biasa, berdasarkan vektor fitur mereka, untuk diidentifikasi;
  • Paket berisi set data nyata dan sintetis dari Yahoo.

paket pelangi

  • Menggunakan bagplots dan boxplots;
  • Identifikasi pencilan dengan kedalaman atau kepadatan terendah.

paket kmodR

  • Menggunakan implementasi k-means yang diusulkan oleh Chawla dan Gionis pada 2013 ( http://epubs.siam.org/doi/pdf/10.1137/1.9781611972832.21 );
  • Berguna untuk membuat (berpotensi) klaster yang lebih ketat daripada k-means standar dan secara bersamaan menemukan outlier dengan murah dalam ruang multidimensi.

metode washeR

Tampilan tugas CRAN untuk Metode Statistik yang Kuat

  • Berbagai pendekatan untuk menggunakan metode statistik yang kuat untuk mendeteksi outlier.

EDIT 2018

anomalize: Tidy Anomaly Detection

Berhubung dgn sibernetika
sumber
Adakah saran mana yang bisa saya gunakan untuk data deret waktu, tetapi tanpa musiman? Bisakah saya menggunakan paket twitter dalam kasus itu?
MikeHuber
Paket Twitter menangani anomali lokal dan global. Seperti yang mereka katakan dalam dokumen mereka, "anomali global biasanya meluas di atas atau di bawah musim yang diharapkan dan karenanya tidak tunduk pada musiman dan tren yang mendasarinya." Jadi ya, Anda dapat menggunakan paket Twitter untuk berpotensi mendeteksi anomali dalam rangkaian waktu tanpa musim. blog.twitter.com/engineering/en_us/a/2015/…
Cybernetic
8

Saya telah menemukan beberapa sumber yang dapat membantu Anda tetapi mereka tidak akan semudah / semudah menjalankan skrip R di atas data Anda: - Numenta memiliki sumber terbuka platform NuPIC mereka yang digunakan untuk banyak hal termasuk deteksi anomali . - Proyek Atlas Netflix akan segera merilis alat pendeteksi outlier / anomali sumber terbuka. - Prelert memiliki mesin pendeteksi anomali yang datang sebagai aplikasi sisi server. Uji coba mereka menawarkan penggunaan terbatas yang dapat memenuhi kebutuhan Anda.

Sebagai alternatif, perusahaan saya, Insignum , memiliki produk dalam versi beta yang mencerna data deret waktu dan mendeteksi anomali dengan cara yang sepenuhnya otomatis dan Anda hanya menerima peringatan melalui email ketika anomali terdeteksi. Jangkau di Twitter atau Linkedin dan dengan senang hati saya akan memberi tahu Anda lebih banyak.

Andrew Thompson
sumber
3

Autobox (perusahaan saya) menyediakan deteksi outlier. Algoritma Twitter mendapatkan outlier besar, tetapi melewatkan yang lebih kecil dibandingkan dengan Autobox .

Butuh waktu lama untuk menjalankan, tetapi hasilnya lebih baik untuk menemukan outlier yang lebih kecil dan juga perubahan musiman yang juga outlier. Di bawah ini adalah model yang menemukan 79 outlier menggunakan 8.560 pengamatan pertama dari 14.398 pengamatan asli. Versi standar maks keluar dari 10.000 pengamatan, tetapi bisa dimodifikasi untuk lebih, tetapi tidak ada alasan nyata untuk memiliki data sebanyak itu ketika Anda ingin mengidentifikasi dan merespons outlier.

Kami dipengaruhi oleh pekerjaan yang dilakukan oleh Tsay pada outlier, pergeseran level, dan perubahan varians dan pekerjaan Chow tentang perubahan parameter bersama dengan pekerjaan kami sendiri dalam mendeteksi perubahan dalam musiman,

Jika Anda mengunduh uji coba 30 hari dan memuat data contoh Twitter dan tentukan frekuensinya menjadi 60 dan menyimpan 3 file pemicu dalam folder instalasi (noparcon.afs, novarcon.afs, notrend.afs) dan buat file yang disebut stepupde. afs dengan 100.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Tom Reilly
sumber