MCMC가 단일 값으로 수렴합니까?


13

jags와 rjags 패키지를 사용하여 계층 적 모델을 맞추려고합니다. 내 결과 변수는 y이며, 이는 베르누이 시험의 순서입니다. 저는 P와 M이라는 두 가지 범주로 수행되는 38 명의 인간 과목을 가지고 있습니다. 나의 분석에 따르면, 모든 화자는 P 범주에서 의 성공 확률과 M 범주에서 θ p × θ m 의 성공 확률 을가 집니다. 또한 P 및 M에 대한 일부 커뮤니티 수준 하이퍼 매개 변수가 있다고 가정합니다 pμ m .θpθp×θmμpμm

따라서 모든 스피커에 대해 : θ mb e t a ( μ m × κ m , ( 1 μ m) ) × κ m ) 여기서 κ pκ mθpbeta(μp×κp,(1μp)×κp)θmbeta(μm×κm,(1μm)×κm)κpκm분포의 피크가 약 μ m 인 방법을 제어합니다 .μpμm

또한 , μ m ~ b e t a ( A m , B m ) .μpbeta(Ap,Bp)μmbeta(Am,Bm)

내 jags 모델은 다음과 같습니다.

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)
}

내가 가진 문제는 내가 적응을위한 5000 반복이 모델을 실행할 때, 다음 1000 개 샘플을 채취한다는 것입니다 MmuKm하나의 값으로 수렴했다. 4 개의 체인으로 실행했으며 각 체인의 값이 같지 않지만 각 체인에는 단일 값이 있습니다.

MCMC 방법을 사용하여 계층 적 모델을 피팅하는 데 익숙하지 않아서 이것이 얼마나 나쁜지 궁금합니다. 이 모델이 적합하지 않다는 것을 표시로 삼아야합니까, 이전의 내용에 문제가 있거나 코스에 해당하는 것입니까?

μmκm


내가 당신을 올바르게 이해하고 있다면,이 매개 변수는 각 체인에서 하나의 고정 값으로 "수렴"합니다 (일부 반복 후에는 전혀 변경되지 않습니다). 그러나 그 값은 실행하는 모든 체인마다 다릅니다? 정말 미친 듯이 대도시 헤이스팅스 단계처럼 나쁜 소리. 그것은 당신의 모델 일 수 있고, JAGS 일 수 있으며, 두 가지의 조합 일 수 있습니다. 아마도이 모델은 맞추기에는 너무 오래 걸리지 않기 때문에 특히 적응 기간 동안 더 많은 체인을 먼저 실행하려고합니다.
JMS

따라서 5000 회 더 반복하여 모델을 업데이트했지만 문제가되는 매개 변수는 버지 않았습니다. 나는 그들이 이런 식으로 지역 최소에 빠질 수 있다는 것을 몰랐다.
JoFrhwld 2016 년

1
빠른 sususstions : 1. n = 1 인 dbin을 사용해보십시오. 그리고 경계를 사용하여 p의 값을 제한하십시오. p.bound [i] <-max (0, min (1, p [i]))
Manoel Galdino

1
몇 가지 명확한 질문 : 1. P 범주에 속하는 38 명의 과목과 M 범주에 속하는 38 명의 과목, 예 : length (y) = 76? 2. 하이퍼 파라미터의 이론적 근거와 실험에 대한 더 많은 배경 정보를 제공 할 수 있습니까? 나에게는 약간 혼란 스럽다.
Manoel Galdino 2016 년

1
나는 아마도 theta [j, 1] ~ dbeta (1.1, 1.1) 또는 무언가에서와 같이 모든 하이퍼 파라미터를 수정하고 하이퍼 프라이어로 넘어 가기 전에 어떤 결과를 얻는 지 알 것입니다. 또한, θ [j, 2]의 선행은 일반적으로 베타 자체가 아니며, 결과적으로 쎄타 [j, 2] <쎄타 [j, 1] 인 2 개의 베타의 곱이다. 의도 한 것 같습니다. 왜 호기심에서?
jbowman

답변:


2

이것은 더 많은 의견이지만, 평판이 충분하지 않아서 대답 할 수도 있습니다.

MCMC 샘플러에 대한 제한된 경험을 통해 하이퍼 파라미터가 너무 좁을 때 매개 변수가 고정되어있는 경향이 있습니다. 매개 변수의 확산을 제어하면 솔루션 공간이 효율적으로 샘플링되지 않습니다.

하이퍼 파라미터에 더 큰 값을 가져 와서 어떻게되는지보십시오.

기술 문서 는 MCMC 샘플러를 이해하는 데 많은 도움 이 되었습니다. 이 샘플러는 Gibbs (사용중인 샘플러)와 Hybrid Monte Carlo의 두 샘플러로 구성되어 있으며 매개 변수 및 하이퍼 파라미터에 대한 사전, 하이퍼 프리 어 및 값을 선택하는 방법을 빠르게 설명합니다.


0

이것은 체인 구조의 문제 일 수 있습니다. 당신이 어디서 시작하는지에 따라 다릅니다. MCMC를 사용하려면 체인이 반복되기를 원하므로 시작 위치에 관계없이 상태 공간의 다른 모든 상태에 도달 할 수 있습니다. 체인이 반복되지 않으면 상태 공간의 하위 세트에 갇힐 수 있습니다. MCMC의 아이디어는 체인이 결국 감길 수있는 기존의 고정 분포를 갖는 것입니다.이 고정 분포는 일반적으로 체인의 어떤 상태에있을 가능성이 높으며 설명 된대로 단일 지점에서 감겨지지 않습니다. . 알고리즘을 확인할 수 없지만 실수가 있습니다. Markov 체인이 반복되지 않는 문제를 정의했을 수도 있습니다.

MCMC에 대해 잘 알고 싶다면 MCMC의 모든 측면을 설명하는 기사가있는 Markov Chain Monte Carlo 핸드북을 살펴 보는 것이 좋습니다. 2011 년 CRC Press에 의해 출판되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.