Fitur untuk klasifikasi deret waktu

43

Saya mempertimbangkan masalah klasifikasi (multi-kelas) berdasarkan seri waktu dari panjang variabel , yaitu, untuk menemukan fungsi melalui representasi global dari seri waktu oleh serangkaian fitur yang dipilih dari ukuran tetap independen dari , dan kemudian gunakan metode klasifikasi standar pada set fitur ini. Saya tidak tertarik dengan perkiraan, yaitu memprediksif ( X T ) = y [ 1 .. K ]Tv i D T ϕ ( X T ) = v 1 , , v DR ,

f(XT)=y[1..K]for XT=(x1,,xT)with xtRd ,
viDT
ϕ(XT)=v1,,vDR ,
xT+1. Sebagai contoh, kita dapat menganalisis cara seseorang berjalan untuk memprediksi jenis kelamin orang tersebut.

Apa saja fitur standar yang dapat saya perhitungkan? Sebagai contoh, kita dapat dengan jelas menggunakan mean dan varians dari seri (atau momen urutan yang lebih tinggi) dan juga melihat ke dalam domain frekuensi, seperti energi yang terkandung dalam beberapa interval Transformasi Fourier Disk dari seri (atau Transformasi Wavelet Diskrit ).

Emile
sumber

Jawaban:

45

Fitur statistik sederhana

  • Berarti di masing-masing dimensid
  • Standar deviasi dari dimensid
  • Skewness , Kurtosis , dan momen tingkat tinggi dimensid
  • Maksimum dan Minimum nilai-nilai

Analisis waktu terkait fitur serie

  • The Cross-Korelasi antara masing-masing dimensi dan Auto-Korelasidd×d1 d
  • Pesanan bagian autoregresif (AR), terintegrasi (I) dan moving average (MA) dari model ARIMA yang diperkirakan
  • Parameter bagian AR
  • Parameter bagian MA

Fitur terkait frekuensi domain

Lihat Morchen03 untuk studi fitur hemat energi pada DFT dan DWT

  • frekuensi puncak dalam amplitudo dalam DFT untuk dimensi detrendeddk d
  • k -kapile DFT ini
Emile
sumber
1
Emile, Pertanyaan ini mirip dengan yang baru saja saya ajukan ( stats.stackexchange.com/questions/51475/… ). Apakah Anda dapat memposting kode R apa pun untuk fitur DFT?
B_Miner
Apakah ada metode berdasarkan pada bentuk untuk seri panjang waktu variabel?
Simone
8

Emile, saya pikir fitur yang tercantum dalam jawaban Anda adalah titik awal yang cukup bagus, meskipun seperti biasa, saya pikir beberapa keahlian domain (atau setidaknya pemikiran panjang yang baik) tentang masalah Anda sama pentingnya.

Anda mungkin ingin mempertimbangkan untuk menyertakan fitur yang dihitung dari turunan (atau integral) dari sinyal Anda. Sebagai contoh, saya akan bertaruh bahwa akselerasi / deselerasi yang cepat adalah prediktor yang cukup baik untuk mengemudi yang cenderung kecelakaan. Informasi itu jelas masih ada dalam sinyal posisi, tetapi hampir tidak eksplisit.

Anda mungkin juga ingin mempertimbangkan untuk mengganti koefisien Fourier dengan representasi paket wavelet atau wavelet. Keuntungan utama dari wavelet adalah mereka memungkinkan Anda untuk melokalkan fitur baik dalam frekuensi maupun waktu, sedangkan koefisien Fourier tradisional dibatasi hanya untuk waktu. Ini mungkin sangat berguna jika data Anda mengandung komponen yang menghidupkan / mematikan secara tidak teratur atau memiliki gelombang seperti gelombang persegi yang dapat bermasalah untuk metode Fourier.

Matt Krause
sumber
6

Seperti jawaban lain yang disarankan, ada sejumlah besar karakteristik deret waktu yang dapat digunakan sebagai fitur potensial. Ada fitur sederhana seperti rata-rata, fitur terkait seri waktu seperti koefisien model AR atau fitur yang sangat canggih seperti statistik uji augmented dickey fuller.

Tinjauan Komprehensif atas kemungkinan fitur deret waktu

Paket python tsfresh mengotomatiskan ekstraksi fitur-fitur tersebut. Dokumentasinya menjelaskan berbagai fitur terhitung. Anda dapat menemukan halaman dengan fitur yang dihitung di sini .

Penafian: Saya adalah salah satu penulis tsfresh.

MaxBenChrist
sumber
5

Saya sarankan Anda, alih-alih menggunakan pendekatan klasik untuk mengekstraksi fitur rekayasa tangan, memanfaatkan autoencoder . Autoencoder memainkan peran penting dalam ekstraksi fitur arsitektur pembelajaran yang mendalam.

Autoencoder mencoba mempelajari fungsi . Dengan kata lain, ia mencoba untuk mempelajari perkiraan fungsi identitas, sehingga menghasilkan yang mirip dengan .X T X Tf(XT)XTX^TXT

Fungsi identitas tampaknya merupakan fungsi yang sangat sepele untuk dipelajari; tetapi dengan menempatkan kendala pada jaringan, seperti dengan membatasi jumlah unit tersembunyi, kita dapat menemukan struktur yang menarik tentang data.

Extractor Fitur

Dengan cara ini, Anda inginkan akan setara dengan nilai-nilai output dari lapisan yg terdekat dr pusat dalam autoencoder dalam, Jika Anda membatasi jumlah unit tersembunyi di yg terdekat dr pusat untuk .ϕ(XT)=v1,,vDRD

Selain itu, Anda dapat menggunakan banyak rasa autoencoder untuk menemukan solusi terbaik untuk masalah Anda.

moh
sumber
4

Makalah yang ditautkan akan agak mencerahkan, karena tertarik pada masalah yang kurang lebih sama dalam konteks lain.

Abstrak kertas (di Internet Archive)

Kertas PDF

bpa
sumber
1

Bergantung pada lamanya deret waktu Anda, pendekatan yang biasa adalah untuk menyatukan data menjadi beberapa segmen, misalnya 10 detik.

Namun, seringkali sebelum memecah seri-waktu menjadi segmen-segmen, perlu untuk melakukan beberapa preprocessing seperti penyaringan dan penolakan artifak. Anda kemudian dapat menghitung berbagai fitur seperti yang didasarkan pada frekuensi (yaitu mengambil FFT untuk setiap zaman), waktu (misalnya rata-rata, varian dll dari seri waktu dalam zaman itu) atau morfologi, (yaitu bentuk sinyal / time-series di setiap zaman).

Biasanya fitur yang digunakan untuk mengklasifikasikan segmen (zaman) seri-waktu / sinyal bersifat spesifik-domain tetapi analisis Wavelet / Fourier hanyalah alat untuk memungkinkan Anda memeriksa sinyal Anda dalam domain frekuensi / waktu-frekuensi daripada menjadi fitur dalam diri mereka sendiri.

Dalam masalah klasifikasi setiap zaman akan memiliki label kelas misalnya 'bahagia' atau 'sedih', Anda kemudian akan melatih classifier untuk membedakan antara zaman 'bahagia' dan 'sedih' menggunakan 6 fitur yang dihitung untuk setiap zaman.

Jika setiap seri waktu mewakili satu kasus untuk klasifikasi, Anda harus menghitung setiap fitur di semua sampel dari seri waktu. FFT hanya relevan di sini jika sinyal linier invarian waktu (LTI), yaitu jika sinyal dapat dianggap stasioner selama seluruh seri waktu, jika sinyal tidak stasioner selama periode bunga, analisis wavelet mungkin lebih tepat. Pendekatan ini akan berarti bahwa setiap deret waktu akan menghasilkan satu vektor fitur dan akan menjadi satu kasus untuk klasifikasi.

BGreene
sumber
Saya selalu merasa bahwa memecah seri waktu, proses yang berkesinambungan secara alami, ke dalam periode diskrit (atau zaman), menghasilkan hilangnya informasi. Kecuali ada zaman alami dalam seri ini, bagaimana seseorang memilih zaman? Kemungkinan zaman dapat ditemukan yang sesuai dengan hasil yang diinginkan.
Cam.Davidson.Pilon
1
Tidak yakin bahwa suatu zaman dapat ditemukan sesuai dengan setiap hasil tetapi untuk masalah praktis Dengan sinyal non-stasioner Anda perlu mencari cara untuk mempertimbangkan variasi temporal akun (jika suatu sinyal / rangkaian waktu dijelaskan secara analitis secara memadai atau tidak linier dengan waktu yang berbeda) ini tidak perlu). Panjang zaman sekali lagi adalah spesifik domain tetapi biasanya dipilih agar cukup pendek sehingga sinyalnya stasioner di bawah periode waktu (zaman) yang menarik.
BGreene
BGreene, dapatkah Anda menjelaskan apa manfaat mempartisi seri ke zaman untuk memilih fitur yang digunakan dalam klasifikasi? Saya melihat partisi ini sebagai pembantu untuk perhitungan selanjutnya (yaitu FFT), tetapi bukan sebagai sesuatu yang berkaitan dengan pemilihan fitur itu sendiri. Mungkin itu terkait dengan "morfologi" yang Anda sebutkan.
Emile
Pemartisian ke zaman tidak ada hubungannya dengan pemilihan fitur. Jika Anda memiliki sinyal yang panjang (misalnya rekaman 10 jam sampel @ 100Hz) maka untuk memeriksa bagaimana sinyal berubah dari waktu ke waktu Anda perlu memecahnya menjadi zaman. Dalam masalah klasifikasi setiap zaman akan memiliki label kelas misalnya 'bahagia' atau 'sedih', Anda kemudian akan melatih classifier untuk membedakan antara zaman 'bahagia' dan 'sedih' menggunakan 6 fitur yang dihitung untuk setiap zaman.
BGreene
Ok :) Jelas tidak ada hubungannya dengan pertanyaan awal saya. Saya mempertimbangkan kasus di mana kelas memberi label seluruh seri. Saya akan mengedit pertanyaan saya untuk menambahkan contoh klarifikasi.
Emile