Tại sao thuật toán EM phải lặp đi lặp lại?


9

Giả sử rằng bạn có một dân số với đơn vị, mỗi đơn vị có một biến ngẫu nhiên . Bạn quan sát các giá trị cho bất kỳ đơn vị nào có . Chúng tôi muốn ước tính .X i ~ Poisson ( λ ) n = N - n 0 X i > 0 λNXiPoisson(λ)n= =N-n0XTôi>0λ

Có phương pháp về khoảnh khắc và cách khả năng tối đa có điều kiện để có câu trả lời, nhưng tôi muốn thử thuật toán EM. Tôi nhận được thuật toán EM là trong đó chỉ số chỉ ra giá trị từ lần lặp trước của thuật toán và không đổi đối với những thông số. (Tôi thực sự nghĩ rằng trong phân số trong ngoặc đơn phải là , nhưng điều đó có vẻ không chính xác; một câu hỏi cho một lần khác).-1Knn+1

Q(λ-1,λ)= =λ(n+nđiểm kinh nghiệm(λ-1)-1)+đăng nhập(λ)ΣTôi= =1nxTôi+K,
-1Knn+1

Để thực hiện cụ thể này, giả sử , . Tất nhiên, và không được quan sát và sẽ được ước tính.Σ x i = 20 N n 0 λn= =10ΣxTôi= =20Nn0λ

Khi tôi lặp lại chức năng sau, cắm vào giá trị tối đa của lần lặp trước đó, tôi đạt được câu trả lời đúng (được xác minh bằng CML, MOM và mô phỏng đơn giản):

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

Nhưng đây là một vấn đề đơn giản; hãy chỉ tối đa hóa mà không lặp lại:

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

Giá trị của hàm cao hơn trong thủ tục không lặp và kết quả không phù hợp với các phương pháp khác. Tại sao thủ tục thứ hai đưa ra một câu trả lời khác và (tôi đoán) không chính xác?

Câu trả lời:


6

Khi bạn tìm thấy hàm mục tiêu của mình cho thuật toán EM, tôi giả sử bạn đã xử lý số đơn vị với , mà tôi sẽ gọi là tham số tiềm ẩn của bạn. Trong trường hợp này, tôi (một lần nữa) giả sử đại diện cho dạng giảm của giá trị mong đợi so khả năng được đưa ra . Đây là không giống như đầy đủ khả năng, rằng được treadted như được đưa ra.y Q y λ - 1 λ - 1xTôi= =0yQy λ-1λ-1

Do đó, bạn không thể sử dụng cho toàn bộ khả năng, vì nó không chứa thông tin về cách thay đổi thay đổi phân phối của (và bạn cũng muốn chọn các giá trị có khả năng nhất của khi bạn tối đa hóa khả năng đầy đủ). Đây là lý do tại sao khả năng tối đa hoàn toàn cho Poisson bị cắt ngắn khác với hàm của bạn và tại sao bạn nhận được câu trả lời khác (và không chính xác) khi bạn tối đa hóa .λ y y Q f ( λ ) = Q ( λ , λ )QλyyQf(λ)= =Q(λ,λ)

f(λ)f

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.