주사위는 몇면입니까? JAGS에서의 베이지안 추론


9

문제

알려지지 않은 수의면으로 죽는 것과 비슷한 시스템에 대해 추론하고 싶습니다. 다이를 여러 번 굴린 후 다이의 변 수 θ에 해당하는 매개 변수에 대한 확률 분포를 추론하고 싶습니다.

직관

40 개의 롤 후에 10 개의 빨간색, 10 개의 파란색, 10 개의 녹색 및 10 개의 노란색이 관찰 된 경우 θ가 4에서 정점에 도달하는 것으로 보이며 각 측면의 롤링 바이어스는 1/4을 중심으로 한 분포입니다.

θ는 사소한 하한값을 가지며, 데이터에서 관찰 된 다른 변의 수입니다.

상한은 여전히 ​​알려져 있지 않습니다. 편향이 낮은 5면이있을 수 있습니다. 다섯 번째 범주가없는 데이터가 많을수록 사후 확률은 θ = 4입니다.

접근하다

여기에 적절한 것으로 보이는 비슷한 문제 (R 및 rjags를 통해)에 JAGS를 사용했습니다.

데이터와 관련하여 obs <- c(10, 10, 10, 10)위 예의 관측치에 해당한다고 가정 해 봅시다.

나는 관찰이 다항 분포로 모델링해야한다고 생각 obs ~ dmulti(p, n), p ~ ddirch(alpha)하고 n <- length(obs).

θ는에 의해 암시 된 범주의 수와 연결되어 alpha있으므로 alpha가능한 다른 범주의 범주를 포함 하도록 어떻게 모델링 할 수 있습니까?

대안?

나는 베이지안 분석에 익숙하지 않아서 잘못된 트리를 완전히 짖을 수도 있습니다.이 문제에 대해 다른 통찰력을 제공 할 수있는 대체 모델이 있습니까?

많은 감사합니다! 데이비드

답변:


6

수년에 걸쳐 많은 관심을 받아 왔으며 많은 다른 추정 문제 (예 : 마크 회수)를 포괄하는 '종 표본 추출'이라는 흥미로운 문제입니다. JAGS는이 경우 도움이되지 않습니다 .JAGS는 다양한 반복 차원에서 Markov 체인을 처리 할 수 ​​없습니다. 가역 점프 MCMC와 같은 문제를 위해 설계된 MCMC 체계에 의지해야합니다.

다음은 설명하는 특정 모델에 적합한 한 가지 방법입니다 . Jeff Miller ( arxived ) 의 작업에서 처음 접한 방법입니다 .

파트 I (원래 질문)

내가 할 한 가지 가정은 주어진 범주를 관찰하면 더 낮은 순위의 범주가 있음을 의미합니다. 즉,면 9에서 다이 롤을 관찰하면면 1-8이 존재 함을 의미합니다. 그것은하지 않습니다 이런 식으로 - 범주는 임의의 수 -하지만 내 예를 그렇게 가정합니다. 이는 다른 종 추정 문제와 달리 0 값을 관찰 할 수 있음을 의미합니다.

다항식 표본이 있다고 가정 해 보겠습니다.

Y={y1,y2,,ym,ym+1,,yn}M({p1,p2,,pm,pm+1,,pn})

여기서 은 관측 된 최대 범주이고, 은 (알 수없는) 범주 수이며, 모든 은 0입니다. 매개 변수 은 유한하므로 매개 변수 은 유한하며 그것을위한 선행. 를 지원하기 전에 적절하고 별개의 모든 것이 작동합니다. 예를 들어 0으로 잘린 포아송을 예로 들어 보겠습니다.mn{ym+1,,yn}n[1,)

nP(λ),n>0

다항식 확률에 앞서 편리한 것은 Dirichlet입니다.

P={p1,,pn}D({α1,,αn})

그리고 간단히 .α1=α2==αn=α~

문제를 다루기 쉽도록 가중치를 소외시킵니다.

p(Y|α~,n)=Pp(Y|P,n)p(P|α~,n)dP

이 경우 잘 연구 된 Dirichlet- 다항식 분포를 이끄는 것 입니다. 목표는 조건부 후부를 추정하는 것입니다.

p(n|Y,α~,λ)=p(Y|n,α~)p(n|λ)p(Y|α~,λ)

여기서 및 는 고정 하이퍼 파라미터 라고 가정 합니다. 다음을 쉽게 알 수 있습니다.α~λ

(와이|α~,λ)==1(와이|,α~)(|λ)

여기서 여기서 입니다. 이 무한 시리즈는 이전의 꼬리가 너무 무겁지 않은 한 오히려 빠르게 수렴해야하므로 대략적인 편입니다. 잘린 포아송의 경우 형식은 다음과 같습니다.(와이|,α~)=0<미디엄

(와이|α~,λ)=1(이자형λ1)=미디엄Γ(α~)나는=1Γ(와이나는+α~)Γ(α~+나는=1와이나는)Γ(α~)λ!

이어지는 :

(|와이,α~,λ)=Γ(α~)나는=1Γ(와이나는+α~)Γ(α~+나는=1와이나는)Γ(α~)λ!(제이=미디엄Γ(제이α~)나는=1제이Γ(와이나는+α~)Γ(제이α~+나는=1제이와이나는)Γ(α~)제이λ제이제이!)1

어떤에 대한 지원이 . Bayes 규칙 분모의 무한 계열을 너무 많은 노력없이 근사 할 수 있으므로이 경우 MCMC가 필요하지 않습니다.[미디엄,)

R의 조잡한 예는 다음과 같습니다.

logPosteriorN <- function(max, Y, lambda, alpha){
    m <- length(Y)
    sumy <- sum(Y)
    pp <- sapply(1:max, function(j){
        prior <- log(lambda)*j - log(exp(lambda)-1) - lgamma(j+1)
        posterior <- lgamma(alpha*j) + sum(lgamma(Y + alpha)) - j*lgamma(alpha) - lgamma(sumy + j*alpha)
        if( j > m ) { posterior <- posterior + (j-m)*lgamma(alpha) } 
        else if( j < m ) { posterior = -Inf }
        prior + posterior
        })
    evidence <- log(sum(exp(pp))) # there's no check that this converges
    pp - evidence
}

## with even representation of sides
Y <- c(10, 10, 10, 10)
post <- logPosteriorN(30, Y, 10, 1.2)
plot(1:30, exp(post), pch=19, type="b")

## with uneven representation of sides
Y <- c(1, 2, 1, 0, 0, 2, 1, 0, 1)
post <- logPosteriorN(30, Y, 10, 1.2)
plot(1:30, exp(post), pch=19, type="b")

직관이 정확합니다. 범주 간 희소 샘플링으로 인해 전체 범주 수에 대한 불확실성이 커집니다. 를 알 수없는 매개 변수로 취급 하려면 MCMC와 및 의 대체 업데이트를 사용해야 합니다.α~α~

물론 이것은 추정에 대한 한 가지 접근법입니다. 약간의 검색만으로 쉽게 베이지안과 비 베이지 맛을 찾을 수 있습니다.

파트 II (답변 답변)

와이={와이1,,와이미디엄,와이미디엄+1,,와이} 은 대응 확률 갖는 부분적으로 관측 된 다항식 벡터입니다 : Ω={ω1,,ω미디엄,ω미디엄+1,,ω}

아르 자형(와이|Ω,)=Γ(나는=1와이나는+1)나는=1Γ(와이나는+1)나는=1ω나는와이나는

여기서 , 및 이지만 그렇지 않으면 인덱스는 임의적입니다. 이전과 마찬가지로 문제는 실제 개수의 을 추론하는 것이며 , 0으로 자른 포아송 (Poisson)과 같은 시작합니다 . 와이와이1와이미디엄>0와이미디엄+1와이=0

아르 자형(|λ)=λ(특급{λ}1)!, +

또한 이전과 마찬가지로 다항식 확률 를 대칭 하이퍼 파라미터 분배 된 Dirichlet으로 , 즉 주어진 , Ωα~

아르 자형(Ω|α~,)=Γ(α~)Γ(α~)나는=1ω나는α~1

확률 벡터에 통합 (marginalizing)하면 다항식 Dirichlet이 제공됩니다.

아르 자형(와이|α~,)=아르 자형(와이|Ω,)아르 자형(Ω|α~,)=Γ(α~)Γ(나는=1와이나는+α~)Γ(α~)나는=1Γ(와이나는+α~)

여기서 우리는 위의 파트 I의 모델과 다릅니다. 1 부에서는 범주에 대한 암시 적 순서가있었습니다. 예를 들어, 형 다이에서 범주 (측면)에는 암시 적 순서가 있으며 모든 범주에 대한 관찰은 의미합니다. 더 적은 카테고리의 존재 . Part II에는 암시적인 순서가없는 부분적으로 관찰 된 다항식 랜덤 벡터가 있습니다. 다시 말해서, 데이터는 데이터 포인트를 관측 된 카테고리 로 정렬되지 않은 파티션으로 나타낸다 . 관찰되지 않은 범주에 의해 증가한 비 순차 파티션을 표시하겠습니다 .나는{1}제이<나는미디엄와이미디엄[와이]

동일한 수의 범주 에 대해 조건부 정렬되지 않은 파티션의 확률은 동일한 파티션을 초래하는 범주의 순열 수를 고려하여 찾을 수 있습니다.

아르 자형([와이]|α~,)=!(미디엄)!아르 자형(와이|α~,)

그리고 이것은 을 통해 통합되어 다음 을 제공 할 수 있습니다 :

아르 자형([와이]|α~,λ)=제이=미디엄아르 자형([와이]|α~,)아르 자형(|λ)

Bayes의 규칙을 사용하여 사후 검색 :

아르 자형(|[와이],α~,λ)=아르 자형([와이]|,α~)아르 자형(|λ)아르 자형([와이]|α~,λ)

위의 정의에서 연결하면됩니다. 다시 말하지만 분모는 빠르게 수렴되는 무한 계열입니다.이 간단한 모델에서는 MCMC가 적절한 근사치를 제공 할 필요가 없습니다.

1 부에서 R 코드를 수정하여 :

logPosteriorN_2 <- function(max, Y, lambda, alpha){
    m <- length(Y)
    sumy <- sum(Y)
    pp <- sapply(1:max, function(j){
        prior <- log(lambda)*j - log(exp(lambda)-1) - lgamma(j+1)
        likelihood <- lchoose(j, m) + lgamma(m + 1) + lgamma(alpha*j) + sum(lgamma(Y + alpha)) - j*lgamma(alpha) - lgamma(sumy + j*alpha)
        if( j > m ) { likelihood <- likelihood + (j-m)*lgamma(alpha) } 
        else if( j < m ) { likelihood = -Inf }
        prior + likelihood
        })
    evidence <- log(sum(exp(pp))) # there's no check that this converges
    pp - evidence
}

Y_1 <- rep(10, 15)
pos_1 <- logPosteriorN_2(50, Y_1, 6, 1)
plot(1:50, exp(pos_1))

매우 완전한 답변을 주셔서 감사합니다. (매우 느린 응답에 대해 죄송합니다). 나는 이런 유형의 질문으로 돌아 왔고 여전히 수학을 통해 노력하고 있습니다. 내 시스템에서 범주는 순서가 아니므 로 주어진 범주관측이 더 낮은 순위의 범주가 존재한다는 가정 은 유효하지 않습니다.
davipatti

@davipatti 두 번째 부분에서 답변했습니다.
네이트 교황
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.