Saya memiliki satu set data yang terdiri dari deret waktu (8 poin) dengan sekitar 40 dimensi (jadi setiap deret waktu 8 per 40). Ouput yang sesuai (hasil yang mungkin untuk kategori) adalah eitheir 0 atau 1.
Apa yang akan menjadi pendekatan terbaik untuk merancang classifier untuk deret waktu dengan berbagai dimensi?
Strategi awal saya adalah mengekstraksi fitur dari deret waktu tersebut: rata-rata, std, variasi maksimum untuk setiap dimensi. Saya memperoleh dataset yang saya gunakan untuk melatih RandomTreeForest. Sadar akan kenaifan total ini, dan setelah mendapatkan hasil yang buruk, saya sekarang mencari model yang lebih baik.
Petunjuk saya adalah sebagai berikut: mengklasifikasikan seri untuk setiap dimensi (menggunakan algoritma KNN dan DWT), mengurangi dimensi dengan PCA dan menggunakan classifier akhir sepanjang kategori multidimensi. Menjadi relatif baru untuk ML, saya tidak tahu apakah saya benar-benar salah.
sumber
Jawaban:
Anda berada di jalur yang benar. Lihatlah menghitung beberapa fitur lagi, baik dalam waktu dan domain frekuensi. Selama jumlah sampel >> jumlah fitur, Anda tidak akan berpakaian berlebihan. Apakah ada literatur tentang masalah yang sama? Jika demikian, itu selalu memberikan titik awal yang bagus.
Coba classifier pohon yang ditingkatkan, seperti xgboost atau LightGBM. Mereka cenderung lebih mudah untuk menyetel hyperparameter, dan memberikan hasil yang baik dengan parameter default. Baik Random Forest dan classifier pohon yang ditingkatkan dapat mengembalikan fitur penting, sehingga Anda dapat melihat fitur mana yang relevan dengan masalah tersebut. Anda juga dapat mencoba menghapus fitur untuk memeriksa kovarians apa pun.
Namun yang paling penting, jika hasil Anda buruk, pastikan masalah Anda didefinisikan dengan benar. Periksa hasil Anda secara manual untuk memastikan tidak ada bug di saluran Anda.
sumber
Jika Anda menggunakan Python, ada beberapa paket yang dapat secara otomatis mengekstraksi ratusan atau ribuan fitur dari jangka waktu Anda, menghubungkannya dengan label Anda, memilih yang paling signifikan, dan melatih model untuk Anda.
https://github.com/blue-yonder/tsfresh
https://github.com/rtavenar/tslearn
sumber
Anda dapat menambahkan lebih banyak fitur ke dataset Anda seperti di bawah ini.
Anda dapat mencoba paket nold jika data Anda berasal dari proses yang sangat tidak linier.
maks, min, rata-rata, condong, kurtosis, dan jika mungkin beberapa statistik bergulir.
Saya mengerjakan sesuatu yang serupa, dan saya mengajukan pertanyaan terkait .
sumber
Saya setuju dengan Jan van der Vegt, standardisasi (misalnya, [-1, 1]) atau normalisasi N (0, 1) dikombinasikan dengan fungsi aktivasi bisa sangat penting dengan jaringan saraf. Saya akan memeriksa disertasi Pichaid Varoonchotikul: "Perkiraan banjir menggunakan jaringan saraf tiruan" untuk seluk beluk ANNs. Ini memiliki peringatan yang sangat menarik. Ngomong-ngomong, saya terbiasa mencoba dulu tanpa, tetapi ketika hasilnya tidak memuaskan, saya terbiasa melakukan uji coba dengan keduanya. Tidak yakin itu akan membantu tetapi saya akan memeriksa TSclust paket R dan dokumen terkait. Para penulis sangat ramah dan mereka akan membantu Anda menemukan model spesifik untuk melakukannya. Mereka ahli dalam analisis deret waktu! Semoga berhasil!
sumber