Чому алгоритм ЕМ повинен бути ітеративним?


9

Припустимо, у вас є сукупність з одиниць, кожна з випадковою змінною . Ви спостерігаєте значення для будь-якої одиниці, для якої . Ми хочемо оцінити .NXiPoisson(λ)n=Nn0Xi>0λ

Існують метод моментів та умовно-максимальна ймовірність способів отримання відповіді, але я хотів спробувати алгоритм ЕМ. Я отримую алгоритм ЕМ де індексом вказується значення попередньої ітерації алгоритму, а постійне відносно параметри. (Я фактично вважаю, що у фракції в дужках має бути , але це не здається точним; питання іншим разом).

Q(λ1,λ)=λ(n+nexp(λ1)1)+log(λ)i=1nxi+K,
1Knn+1

Щоб зробити це конкретним, припустимо, що , . Звичайно, і не помічені, і слід оцінити.n=10xi=20Nn0λ

Коли я повторюю наступну функцію, підключаючи максимальне значення попередньої ітерації, я досягаю правильної відповіді (перевірена CML, MOM та простим моделюванням):

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

Але це проста проблема; давайте просто максимізувати без повторень:

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

Значення функції вище, ніж у неітераційній процедурі, і результат є невідповідним іншим методологіям. Чому друга процедура дає іншу та (я вважаю) неправильну відповідь?

Відповіді:


6

Коли ви знайшли вашу цільову функцію для алгоритму ЕМ, я припускаю, що ви розглянули кількість одиниць з , яку я буду називати , як свій прихований параметр. У цьому випадку я (знову ж таки) припускаю, що являє собою зменшену форму очікуваного значення над ймовірності, заданої . Це не те саме, що повна ймовірність, тому що протектовано як задано.xi=0yQy λ1λ1

Тому ви не можете використовувати для повної вірогідності, оскільки це не містить інформації про те, як зміна змінює розподіл (і ви хочете вибрати найбільш ймовірні значення також, коли ви максимізуєте повну ймовірність). Ось чому повна максимальна ймовірність нульового усіченого Пуассона відрізняється від вашої функції , і чому ви отримуєте іншу (і неправильну) відповідь, коли ви максимізуєте .QλyyQf(λ)=Q(λ,λ)

Числово, максимізація обов'язково призведе до об'єктивної функції, щонайменше такої ж великої, як ваш результат ЕМ, і, ймовірно, більшої, оскільки немає гарантії, що алгоритм ЕМ зблизиться до максимуму - він повинен лише сходитися до максимум функції ймовірності !f(λ)f

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.