EM algoritması neden yinelemeli olmalıdır?


9

Her biri rastgele değişken olan birimine sahip bir popülasyonunuz olduğunu varsayalım . olan herhangi bir birim için değerlerini gözlemlersiniz . Bir tahmin istiyoruz .N-Xben~Poisson(λ)n=N--n0Xben>0λ

Anların yöntemi ve cevabı almak için koşullu maksimum olasılık yolları var, ancak EM algoritmasını denemek istedim. EM algoritmasının burada alt yapısı, algoritmanın önceki yinelemesinden gelen değeri gösterir ve , parametreleri. (Aslında düşünüyorum parantez içinde kesir olmalıdır ; başka bir zaman bir sorum, ama bu doğru görünmüyor).

S(λ-1,λ)=λ(n+ntecrübe(λ-1)-1)+günlük(λ)Σben=1nxben+K,
-1Knn+1

Bunu somutlaştırmak için , olduğunu varsayın . Elbette, ve gözlemlenmez ve tahmin edilir.n=10Σxben=20N-n0λ

Aşağıdaki işlevi yinelediğimde, önceki yinelemenin maksimum değerini eklediğimde, doğru cevaba ulaşıyorum (CML, MOM ve basit bir simülasyon tarafından doğrulandı):

EmFunc <- function(lambda, lambda0){
  -lambda * (10 + 10 / (exp(lambda0) - 1)) + 20 * log(lambda)
}

lambda0 <- 2
lambda  <- 1

while(abs(lambda - lambda0) > 0.0001){
  lambda0 <- lambda
  iter    <- optimize(EmFunc, lambda0 = lambda0, c(0,4), maximum = TRUE)
  lambda  <- iter$maximum
}

> iter
$maximum
[1] 1.593573

$objective
[1] -10.68045

Ancak bu basit bir sorundur; tekrarlamadan en üst düzeye çıkaralım:

MaxFunc <- function(lambda){
  -lambda * (10 + 10 / (exp(lambda) - 1)) + 20 * log(lambda)
}

optimize(MaxFunc, c(0,4), maximum = TRUE)
$maximum
[1] 2.393027

$objective
[1] -8.884968

İşlevin değeri yinelemesiz yordamdan daha yüksektir ve sonuç diğer yöntemlerle tutarsızdır. İkinci prosedür neden farklı ve (sanırım) yanlış bir cevap veriyor?

Yanıtlar:


6

EM algoritması için objektif işlevinizi bulduğunuzda, ünite sayısını, gizli parametreniz olarak olarak adlandıracağım ile ele aldığınızı varsayıyorum . Bu durumda, (tekrar) verilen olasılığın üzerinden beklenen değerinin azaltılmış bir formunu temsil ettiğini varsayıyorum . Bu tam olasılıkla aynı değildir, çünkü bu verildiği gibi işlenir.xben=0ySy λ-1λ-1

Bu nedenle , tam olasılık için kullanamazsınız , çünkü bu, dağılımını nasıl değiştirdiği hakkında bilgi içermez (ve tam olasılığı en üst düzeye çıkardığınızda en olası değerlerini de seçmek istersiniz ). Bu nedenle, sıfır kesilmiş Poisson için tam maksimum olasılık işlevinizden farklıdır ve değerini en üst düzeye çıkardığınızda farklı (ve yanlış) bir cevap alırsınız .SλyySf(λ)=S(λ,λ)

Sayısal olarak, değerini en üst düzeye çıkarmak , mutlaka en az EM sonucunuz kadar büyük bir objektif işlevle sonuçlanır ve muhtemelen EM algoritmasının maksimum yakınlaşacağına dair bir garanti olmadığından daha büyüktür - sadece yakınsama en fazla olabilirlik işlevi!f(λ)f

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.