Как вы используете EM-алгоритм для расчета MLE для формулировки скрытой переменной для модели Пуассона с нулевым раздуванием?


10

Модель регрессии Пуассона с нулевым определяется для выборки как и далее предполагается, что параметры и удовлетворяютY i = { 0 с вероятностью p i + ( 1 - p i ) e - λ i k с вероятностью ( 1 - p i ) e - λ i λ k i / k ! λ = ( λ 1 , , λ n ) p =(y1,,yn)

Yi={0with probability pi+(1pi)eλikwith probability (1pi)eλiλik/k!
λ=(λ1,,λn)p=(p1,,pn)

log(λ)=Bβlogit(p)=log(p/(1p))=Gγ.

Соответствующая логарифмическая правдоподобие регрессионной модели Пуассона с нулевым имеет вид

L(γ,β;y)=yi=0log(eGiγ+exp(eBiβ))+yi>0(yiBiβeBiβ)i=1nlog(1+eGiγ)yi>0log(yi!)

Здесь и являются матрицами проектирования. Эти матрицы могут быть одинаковыми в зависимости от характеристик, которые желательно использовать для двух процессов генерации. Однако они имеют одинаковое количество строк.GBG

Предполагая, что мы можем наблюдать когда из идеального, нулевого состояния, и когда из пуассоновского состояния, логарифмическая вероятность будетY i Z i = 0 Y iZi=1YiZi=0Yi

L(γ,β;y,z)=i=1nlog(f(zi|γ))+i=1nlog(f(yi|zi,β))

знак равноΣязнак равно1NZя(гяγ-журнал(1+егяγ))+-Σязнак равно1N(1-Zя)журнал(1+егяγ)+Σязнак равно1N(1-Zя)[YяВяβ-еВяβ-журнал(Yя!)]
Первые два слагаемых - это потеря в логистической регрессии для разделения из z_i = 1 . Второе слагаемое - это регрессия к точкам, порожденным пуассоновским процессом.Zязнак равно0Zязнак равно1

Но не скрытые переменные ненаблюдаемы? Цель состоит в том, чтобы максимизировать вероятность первого бревна. Но мы должны ввести скрытые переменные и получить новое логарифмическое правдоподобие. Затем, используя алгоритм EM, мы можем максимизировать второе логарифмическое правдоподобие. Но это предполагает, что мы знаем, что либо либо ?Z i = 1Zязнак равно0Zязнак равно1


Что такое ? Кроме того, большая часть этого вопроса, кажется, в значительной степени вырезана и вставлена ​​из более раннего, другого вопроса @Robby. Это ты? е
Макро

@ Макро: Макро да, это я. Я не уверен, что . Газета никогда не говорила. е
Дэмиен

Ответы:


11

Корень трудности, с которой вы столкнулись, заключается в предложении:

Затем, используя алгоритм EM, мы можем максимизировать второе логарифмическое правдоподобие.

Как вы заметили, вы не можете. Вместо этого вы максимизируете ожидаемое значение вероятности второго журнала (известное как «полная вероятность журнала данных»), где ожидаемое значение принимается за . Zя

Это приводит к итерационной процедуре, где на итерации вы вычисляете ожидаемые значения учитывая оценки параметров из итерации ( (это называется "E-step" ",) затем подставьте их в полную вероятность регистрации данных (см. ниже РЕДАКТИРОВКА, чтобы узнать, почему мы можем сделать это в этом случае), и максимизируйте это по отношению к параметрам, чтобы получить оценки для текущей итерации (" M-шаг " .)КTчасZя(К-1)Tчас

Вероятность регистрации полных данных для Пуассона с нулевым раздувом в простейшем случае - два параметра, скажем, и - позволяет существенно упростить, когда дело доходит до М-шага, и это в некоторой степени переносится в вашу форму. Я покажу вам, как это работает в простом случае с помощью некоторого кода R, чтобы вы могли увидеть суть этого. Я не буду упрощать как можно больше, так как это может привести к потере ясности, когда вы думаете о своей проблеме:λп

# Generate data
# Lambda = 1,  p(zero) = 0.1
x <- rpois(10000,1)
x[1:1000] <- 0

# Sufficient statistic for the ZIP
sum.x <- sum(x)

# (Poor) starting values for parameter estimates
phat <- 0.5
lhat <- 2.0

zhat <- rep(0,length(x))
for (i in 1:100) {
  # zhat[x>0] <- 0 always, so no need to make the assignment at every iteration
  zhat[x==0] <- phat/(phat +  (1-phat)*exp(-lhat))

  lhat <- sum.x/sum(1-zhat) # in effect, removing E(# zeroes due to z=1)
  phat <- mean(zhat)   

  cat("Iteration: ",i, "  lhat: ",lhat, "  phat: ", phat,"\n")
}

Iteration:  1   lhat:  1.443948   phat:  0.3792712 
Iteration:  2   lhat:  1.300164   phat:  0.3106252 
Iteration:  3   lhat:  1.225007   phat:  0.268331 
...
Iteration:  99   lhat:  0.9883329   phat:  0.09311933 
Iteration:  100   lhat:  0.9883194   phat:  0.09310694 

В вашем случае на каждом шаге вы будете делать взвешенную регрессию Пуассона, где весами будут 1-zhatполучать оценки и, следовательно, , а затем максимизировать:βλя

Σ(ЕZяжурналпя+(1-ЕZя)журнал(1-пя))

относительно вектора коэффициентов вашей матрицы чтобы получить оценки . Ожидаемые значения , снова рассчитываются на каждой итерации.p i E z i = p i / ( p i + ( 1 - p i ) exp ( - λ i ) )гпяЕZязнак равнопя/(пя+(1-пя)ехр(-λя))

Если вы хотите сделать это для реальных данных, в отличие от простого понимания алгоритма, R-пакеты уже существуют; Вот пример http://www.ats.ucla.edu/stat/r/dae/zipoisson.htm с использованием psclбиблиотеки.

РЕДАКТИРОВАТЬ: Я должен подчеркнуть, что то, что мы делаем, - это максимизация ожидаемого значения вероятности записи полного журнала, а НЕ максимизация вероятности полного журнала данных с подключением ожидаемых значений отсутствующих данных / скрытых переменных. Как это происходит, если вероятность того, что журнал полных данных является линейным по отсутствующим данным, как и здесь, два подхода одинаковы, но в остальном это не так.


@Cokes, вы должны добавить эту информацию в качестве собственного дополнительного ответа, а не изменять существующий ответ. Это изменение не должно быть одобрено.
gung - Восстановить Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.