MCMC hội tụ đến một giá trị duy nhất?


12

Tôi đang cố gắng để phù hợp với một mô hình phân cấp bằng cách sử dụng jags và gói rjags. Biến kết cục của tôi là y, là một chuỗi các thử nghiệm bernoulli. Tôi có 38 đối tượng người đang biểu diễn theo hai loại: P và M. Dựa trên phân tích của tôi, mọi diễn giả đều có xác suất thành công ở loại P là và xác suất thành công ở loại M là θ p × θ m . Tôi cũng giả sử rằng có một số siêu tham số cấp cộng đồng cho P và M: μ pμ m .θpθp×θmμpμm

Vì vậy, đối với mỗi loa: θ m ~ b đ t một ( μ m × κ m , ( 1 - μ m ) × κ m ) nơi κ pκ mθpbeta(μp×κp,(1μp)×κp)θmbeta(μm×κm,(1μm)×κm)κpκmkiểm soát mức phân phối cực đại ở khoảng μ m .μpμm

Cũng , μ m ~ b đ t một ( Một m , B m ) .μpbeta(Ap,Bp)μmbeta(Am,Bm)

Đây là mô hình jags của tôi:

model{
## y = N bernoulli trials
## Each speaker has a theta value for each category
for(i in 1:length(y)){
    y[i] ~ dbern( theta[ speaker[i],category[i]])
}

## Category P has theta Ptheta
## Category M has theta Ptheta * Mtheta
## No observed data for pure Mtheta
##
## Kp and Km represent how similar speakers are to each other 
## for Ptheta and Mtheta
for(j in 1:max(speaker)){
    theta[j,1] ~ dbeta(Pmu*Kp, (1-Pmu)*Kp)
    catM[j] ~ dbeta(Mmu*Km, (1-Mmu)*Km)
    theta[j,2] <- theta[j,1] * catM[j]
}

## Priors for Pmu and Mmu
Pmu ~ dbeta(Ap,Bp)
Mmu ~ dbeta(Am,Bm)

## Priors for Kp and Km
Kp ~ dgamma(1,1/50)
Km ~ dgamma(1,1/50)

## Hyperpriors for Pmu and Mmu
Ap ~ dgamma(1,1/50)
Bp ~ dgamma(1,1/50)
Am ~ dgamma(1,1/50)
Bm ~ dgamma(1,1/50)
}

Vấn đề tôi gặp phải là khi tôi chạy mô hình này với 5000 lần lặp để điều chỉnh, sau đó lấy 1000 mẫu MmuKmđã hội tụ thành các giá trị đơn. Tôi đã chạy nó với 4 chuỗi và mỗi chuỗi không có cùng một giá trị, nhưng trong mỗi chuỗi chỉ có một giá trị duy nhất.

Tôi khá mới để điều chỉnh các mô hình phân cấp bằng các phương thức MCMC, vì vậy tôi tự hỏi điều này tệ đến mức nào. Tôi có nên coi đây là một dấu hiệu cho thấy mô hình này là vô vọng để phù hợp, rằng có điều gì đó không ổn với các linh mục của tôi, hoặc đây là mệnh cho khóa học?

μmκm


Nếu tôi hiểu bạn một cách chính xác, các tham số này "hội tụ" trên một giá trị cố định trong mỗi chuỗi (sau một số lần lặp, nó không thay đổi gì cả), nhưng giá trị đó có khác nhau đối với mỗi chuỗi bạn chạy không? Điều đó nghe có vẻ tồi tệ, giống như có thể là một bước thực sự đáng sợ của Metropolis Hastings. Nó có thể là mô hình của bạn, nó có thể là JAGS, nó có thể là sự kết hợp của cả hai. Có lẽ mô hình này không mất quá nhiều thời gian để phù hợp, vì vậy trước tiên tôi nên thử chạy (nhiều) chuỗi dài hơn, đặc biệt là cho giai đoạn thích ứng.
JMS

Vì vậy, tôi đã cập nhật mô hình với 5000 lần lặp nữa và các tham số trong câu hỏi không nhúc nhích. Tôi không nhận ra họ có thể rơi vào cực tiểu địa phương như thế này.
JoFrhwld

1
đường nhanh: 1. Hãy thử sử dụng dbin, với n = 1. Và sử dụng giới hạn để giới hạn giá trị của p. Một cái gì đó như thế này: p.bound [i] <- max (0, min (1, p [i]))
Manoel Galdino

1
Một vài câu hỏi làm rõ: 1. bạn có 38 môn thuộc loại P và 38 môn thuộc loại M, chẳng hạn như chiều dài (y) = 76? 2. Bạn có thể cung cấp thêm thông tin cơ bản về lý do căn bản của hyperparamters và thử nghiệm không? Nó hơi khó hiểu với tôi.
Manoel Galdino

1
Có lẽ tôi chỉ cần sửa tất cả các siêu đường kính, như trong theta [j, 1] ~ dbeta (1.1, 1.1) hoặc một cái gì đó, và xem kết quả bạn nhận được trước khi cố gắng chuyển sang một siêu nhân. Ngoài ra, kết quả trước đó của theta [j, 2] là sản phẩm của hai betas, nói chung, bản thân nó không phải là bản beta và dĩ nhiên là theta [j, 2] <theta [j, 1]. Có vẻ như bạn dự định điều này; Chỉ tò mò thôi, tại sao?
jbowman

Câu trả lời:


2

Đây là một nhận xét nhiều hơn, nhưng vì tôi không có đủ danh tiếng nên tôi cũng có thể trả lời.

Từ kinh nghiệm hạn chế của tôi với các bộ lấy mẫu MCMC, những gì tôi đã quan sát được là các tham số có xu hướng cố định khi các siêu đường kính quá hẹp. Khi chúng kiểm soát sự lan truyền của các tham số, chúng ngăn không gian giải pháp được lấy mẫu một cách hiệu quả.

Hãy thử lấy các giá trị lớn hơn cho các siêu đường kính và xem điều gì sẽ xảy ra.

Bài viết kỹ thuật này đã giúp tôi rất nhiều để hiểu các mẫu lấy mẫu MCMC. Nó bao gồm hai bộ lấy mẫu, Gibbs (cái bạn đang sử dụng) và Hybrid Monte Carlo, và giải thích nhanh chóng cách chọn linh mục, siêu nhân và giá trị cho các tham số và siêu âm.


0

Đây có thể là một vấn đề về cấu trúc của chuỗi. Nơi bạn kết thúc phụ thuộc vào nơi bạn bắt đầu. Để sử dụng MCMC, bạn muốn chuỗi được lặp lại, điều đó có nghĩa là bất kể bạn bắt đầu từ đâu, bạn có thể đến mọi trạng thái khác trong không gian trạng thái. Nếu chuỗi không được lặp lại, bạn có thể bị mắc kẹt trong một tập hợp con của không gian trạng thái. Ý tưởng của MCMC là có một phân phối cố định hiện có mà chuỗi cuối cùng sẽ kết thúc. Phân phối cố định này thường có xác suất dương cho bất kỳ trạng thái nào trong chuỗi và không bị kẹt ở một điểm như bạn mô tả . Tôi không thể kiểm tra thuật toán của bạn nhưng có lẽ bạn có lỗi trong đó. Cũng có thể là bạn đã xác định một vấn đề trong đó chuỗi Markov của bạn không tái diễn.

Nếu bạn muốn có kiến ​​thức về MCMC, tôi khuyên bạn nên xem Sổ tay của Markov Chain Monte Carlo có các bài viết mô tả mọi khía cạnh của MCMC. Nó được xuất bản bởi CRC Press vào năm 2011.

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.