Olay tahmini için gizli Markov modeli


9

Soru : Aşağıdaki kurulum bir Gizli Markov modelinin mantıklı bir uygulaması mı?

108,000(100 gün 2000boyunca alınan) bir veri setim ve tüm gözlem süresi boyunca yaklaşık olaylarım var. Veriler, gözlenen değişkenin 3 ayrık değer alabileceği ve kırmızı sütunların olay sürelerini vurguladığı aşağıdaki şekle benzer , yani 'ler:[1,2,3]tE

resim açıklamasını buraya girin

Şekilde kırmızı dikdörtgenlerle gösterildiği gibi, her olay için { - } ' ve etkin bir şekilde "olay öncesi pencereleri" olarak ele .tEtE5

HMM Eğitimi: Ben planlıyoruz yetiştirmek Pg üzerinde önerildiği gibi birden gözlem dizileri metodolojisini kullanarak, tüm "olay öncesi pencereleri" dayalı bir Gizli Markov modelleri (HMM). 273 adet Rabiner gazetesi . Umarım bu, bir olaya yol açan dizi kalıplarını yakalayan bir HMM eğitmeme izin verecektir.

HMM Tahmini: Sonra bu HMM'yi tahmin etmek için kullanmayı planlıyorum log[P(Observations|HMM)] yeni bir günde, Observations geçerli zaman arasındaki gözlemleri içerecek şekilde gerçek zamanlı olarak güncellenen kayan bir pencere vektörü olacak t ve t5 gün geçtikçe.

Görmeyi umuyorum log[P(Observations|HMM)] için artış Observations"olay öncesi pencereleri" ne benzer. Bu aslında olayları gerçekleşmeden önce tahmin etmeme izin vermelidir.


Bir model oluşturmak için verilerinizi bölebilirsiniz (diyelim 0.7), ardından modelinizi kalan veriler üzerinde test edebilirsiniz. Sadece bir düşünce, bu alanda uzman değilim.
Fernando

Evet teşekkür ederim. HMM'lerin emin olmadığım göreve uygunluğu daha fazla.
Zhubarb

@Zhubarb Benzer bir sorunla ilgileniyorum ve HMM yaklaşımınızı takip etmek istiyorum. Nerede başarılı oldunuz? Yoksa sonunda lojistik regresyon / SVM, vb.
Javierfdr

@Javierfdr, uygulamadaki zorluk ve alto'nun cevabında vurguladığı endişeler nedeniyle bunu uygulamamıştım. Esasen, HMM'ler geniş bir üretken model oluşturmak zorunda kalmanın yükü ile gelirken, şu anki bağırsak hissim eldeki problem için, önerdiğiniz gibi ayrımcı bir modelle (SVM, Nöral Net, vb.) .
Zhubarb

Yanıtlar:


3

Tanımladığınız yaklaşımla ilgili bir sorun, ne tür bir artışın P(Ö) anlamlıdır, bu zor olabilir P(Ö)genel olarak her zaman çok küçük olacaktır. İki SMM eğittik ilgi olay olay gözlem dizileri için meydana gelir ve HMM2 nerede gözlem dizileri için HMM1 söylemek iyi olabilir vermez oluşur. Sonra bir gözlem dizisi verildiÖ var

P('H'HM1|Ö)=P(Ö|'HMM1)P('HMM1)P(Ö)αP(Ö|'HMM1)P('HMM1)
ve aynı şekilde HMM2 için. O zaman olayın gerçekleşeceğini tahmin edebilirsiniz
P('HMM1|Ö)>P('HMM2|Ö)P('HMM1)P(Ö|'HMM1)P(Ö)>P('HMM2)P(Ö|'HMM2)P(Ö)P('HMM1)P(Ö|'HMM1)>P('HMM2)P(Ö|'HMM2).

Feragatname : Takip eden şey benim kişisel deneyimime dayanıyor, bu yüzden ne olduğuna göre al. HMM'ler ile ilgili güzel şeylerden biri, değişken uzunluk dizileri ve değişken sipariş efektleri (gizli durumlar sayesinde) ile başa çıkmanıza izin vermesidir. Bazen bu gereklidir (birçok NLP uygulamasında olduğu gibi). Bununla birlikte, sadece son 5 gözlemin ilgili olayı tahmin etmekle ilgili olduğunu varsaydığınız bir önsezi var gibi görünüyor. Bu varsayım gerçekçi ise, geleneksel teknikleri (lojistik regresyon, saf bayes, SVM, vb.) Kullanarak ve sadece son 5 gözlemi özellikler / bağımsız değişkenler olarak kullanarak önemli ölçüde daha fazla şansınız olabilir. Tipik olarak bu tür modellerin eğitilmesi daha kolay olacak ve (tecrübelerime göre) daha iyi sonuçlar üretecektir.


@ alto, teşekkür ederim. Dediğin gibi, bakacağımp=lÖg(P(Ö|hmm))ve benzeri değerler p1=-2504,p2=-2403,p3=-2450vb. psorunlu olabilir. Bu arada, HMM2 eğitimi zor olacak. HMM2 (olay yok) için sahip olduğum puan sayısı çok daha yüksek olacak ve pıtırtı değil, sadece gürültü olabilir. Ne düşünüyorsun? Not : Pencere boyutum keyfi olarak 5'i seçtim, gerçek bir uygulamadan daha uzun olması muhtemeldir.
Zhubarb

1
@Berkan Bahsettiğiniz herhangi bir sorunun (olay dizilerinden daha fazla olay dizisi ve hiçbir olay için sadece gürültü) 2 HMM yaklaşımını dışlaması gerektiğini düşünmüyorum. Öncekini aldıysanızP('HMM1)hesaba kattığımda (bu konuda orijinal cevabımı güncelledim) o zaman dengesiz sınıf dağılımını ayarlamanız gerekebilir (olaylardan daha fazla olay yok), ancak bununla başa çıkmanın birçok yolu vardır. Örneğin verdiğim bu cevaba bakınız .
alto

@Berkan Pencere boyutuna gelince, kendi kişisel deneyimime dayanarak, bu konuda söylediğim şeylerin herhangi bir sabit pencere boyutu için beklemesini bekliyorum . Açıkçası, söylediğim tüm şeylerin kendi probleminiz için ampirik olarak test edilmesi gerekecek.
alto

Cevabınızı güncellediğiniz için teşekkürler, şimdi çok daha net. Logaritmalarla çalışacağım için karşılaştırma yapacağım:lÖg(P('HMM1))+lÖg(P(Ö|'HMM1))>?lÖg(P('HMM2))+lÖg(P(Ö|'HMM2)). Şimdi,lÖg(P('HMM1)) ileri algoritması kullanılarak hesaplanır, nasıl hesaplarım lÖg(P('HMM1))? Ti sadece atadığımdan önce mi?
Zhubarb

Cevabınızı güncellediğiniz için teşekkürler, şimdi çok daha net. Logaritmalarla çalışacağım için karşılaştırma yapacağım:lÖg(P('HMM1))+lÖg(P(Ö|'HMM1))>?lÖg(P('HMM2))+lÖg(P(Ö|'HMM2)). Şimdi,lÖg(P('HMM1))ileri algoritması kullanılarak hesaplanır. Frekanslara dayalı basit MLE kullanarak log (P (HMM1)) hesaplayabilir miyim? yani verilen dava için,'HMM1=(5*2,000)/108,000burada pay HMM1 ve paydaların altına düşen nokta sayısı veri kümesinin boyutudur.
Zhubarb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.