Model Markov tersembunyi untuk prediksi acara

9

Pertanyaan : Apakah pengaturan di bawah ini merupakan implementasi yang masuk akal dari model Hidden Markov?

Saya memiliki satu set data 108,000pengamatan (diambil selama 100 hari) dan kira-kira 2000peristiwa di seluruh rentang waktu pengamatan. Data terlihat seperti gambar di bawah ini di mana variabel yang diamati dapat mengambil 3 nilai diskrit [1,2,3] dan kolom merah menyoroti waktu acara, yaitu tE 's:

masukkan deskripsi gambar di sini

Seperti yang ditunjukkan dengan persegi panjang merah pada gambar, saya telah membedah { hingga t E - 5 } untuk setiap acara, secara efektif memperlakukan ini sebagai "jendela pra-acara".tEtE5

Pelatihan HMM: Saya berencana untuk melatih Hidden Markov Model (HMM) berdasarkan semua "jendela pra-acara", menggunakan metodologi beberapa urutan pengamatan seperti yang disarankan pada Pg. 273 makalah Rabiner . Mudah-mudahan, ini akan memungkinkan saya untuk melatih HMM yang menangkap pola urutan yang mengarah ke suatu peristiwa.

HMM Prediksi: Lalu saya berencana untuk menggunakan HMM ini untuk memprediksi pada hari yang baru, di mana O b s e r v a t i o n s akan menjadi vektor jendela geser, diperbarui secara real-time mengandung pengamatan antara waktu saat t dan t - 5 sebagai hari berlangsung.log[P(Observations|HMM)]Observationstt5

Saya berharap untuk melihat kenaikan untuk O b s e r v a t i o n s yang menyerupai "pre-event jendela ". Seharusnya ini memungkinkan saya untuk memprediksi peristiwa sebelum terjadi.log[P(Observations|HMM)]Observations

Zhubarb
sumber
Anda dapat membagi data Anda untuk membangun model (katakanlah 0,7), lalu uji model Anda pada data yang tersisa. Hanya pemikiran, saya bukan spesialis di bidang ini.
Fernando
Ya terima kasih. Ini lebih cocok dengan HMM untuk tugas yang saya tidak yakin.
Zhubarb
@ Zhubarb Saya berurusan dengan masalah yang sama dan ingin mengikuti pendekatan HMM Anda. Di mana Anda berhasil melakukan ini? Atau apakah Anda akhirnya berulang ke regresi logistik / SVM, dll?
Javierfdr
@Javierfdr, saya akhirnya tidak mengimplementasikannya karena kesulitan implementasi dan kekhawatiran yang juga menjadi sorotan dalam jawabannya. Pada dasarnya, HMM datang dengan beban karena harus membangun model generatif yang luas, sedangkan perasaan saya sekarang adalah untuk masalah yang dihadapi, orang dapat lebih mudah lolos dengan model diskriminatif (SVM, Neural Net, dll.) Seperti yang Anda sarankan .
Zhubarb

Jawaban:

3

Satu masalah dengan pendekatan yang telah Anda jelaskan adalah Anda perlu mendefinisikan jenis peningkatan yang bermakna, yang mungkin sulit karena P ( O ) akan selalu sangat kecil secara umum. Mungkin lebih baik untuk melatih dua HMM, misalnya HMM1 untuk urutan pengamatan di mana peristiwa menarik terjadi dan HMM2 untuk urutan pengamatan di mana acara tidak terjadi. Kemudian diberikan urutan pengamatan O Anda memiliki P ( H H M 1 | O )P(HAI)P(HAI)HAI dan juga untuk HMM2. Maka Anda dapat memprediksi acara akan terjadi jika P ( H M M 1 | O )

P(HHM.1|HAI)=P(HAI|HM.M.1)P(HM.M.1)P(HAI)P(HAI|HM.M.1)P(HM.M.1)
P(HM.M.1|HAI)>P(HM.M.2|HAI)P(HM.M.1)P(HAI|HM.M.1)P(HAI)>P(HM.M.2)P(HAI|HM.M.2)P(HAI)P(HM.M.1)P(HAI|HM.M.1)>P(HM.M.2)P(HAI|HM.M.2).

Penafian : Apa yang berikut ini berdasarkan pada pengalaman pribadi saya, jadi ambillah apa adanya. Salah satu hal yang menyenangkan tentang HMM adalah mereka memungkinkan Anda untuk berurusan dengan urutan panjang variabel dan efek urutan variabel (berkat keadaan tersembunyi). Terkadang ini diperlukan (seperti pada banyak aplikasi NLP). Namun, sepertinya Anda memiliki apriori yang berasumsi bahwa hanya 5 pengamatan terakhir yang relevan untuk memprediksi peristiwa yang menarik. Jika asumsi ini realistis maka Anda mungkin lebih beruntung menggunakan teknik tradisional (regresi logistik, naif bayes, SVM, dll) dan hanya menggunakan 5 pengamatan terakhir sebagai fitur / variabel independen. Biasanya jenis model ini akan lebih mudah dilatih dan (menurut pengalaman saya) menghasilkan hasil yang lebih baik.

alto
sumber
hal=lHaig(P(HAI|hmm))hal1=-2504,hal2=-2403,hal3=-2450hal: Saya memilih 5 sebagai ukuran jendela saya secara sewenang-wenang, kemungkinan akan lebih lama dari itu dalam implementasi yang sebenarnya.
Zhubarb
1
P(HM.M.1)
@Berkan Adapun ukuran jendela, berdasarkan pengalaman pribadi saya, saya berharap apa yang saya katakan dalam masalah ini akan berlaku untuk setiap ukuran jendela tetap . Jelas semua hal yang saya katakan perlu diuji secara empiris untuk masalah khusus Anda.
alto
lHaig(P(HM.M.1))+lHaig(P(HAI|HM.M.1))>?lHaig(P(HM.M.2))+lHaig(P(HAI|HM.M.2))lHaig(P(HM.M.1))lHaig(P(HM.M.1))
lHaig(P(HM.M.1))+lHaig(P(HAI|HM.M.1))>?lHaig(P(HM.M.2))+lHaig(P(HAI|HM.M.2))lHaig(P(HM.M.1))HM.M.1=(52,000)/108,000