2014-03-26 11 views
2

폴링 데이터를 분석적으로 만 사용하는 대신 베이지안 추리를 사용한다고 들었습니다. 그러나, 나는 문제가있다. 당사자를위한 사전 배포에 대한 추측을 담은 작은 데이터 세트가 있으며 투표 데이터가 있습니다. 어떻게 깁스 시뮬레이션에서 가장자리를 얻을 수 있습니까?데이터와 이전 데이터를 정확히 통합하려면 어떻게해야합니까?

prior <- a <- c(.30, .15, .15, .10, .10, .08, .12) 

polls <- data.frame(rbind(
    a <- c(.24, .23, .20, .11, .08, .08, .06, 3959, .02), 
    b <- c(.22, .22, .22, .11, .07, .08, .08, 1024, .03), 
    c <- c(.23, .25, .19, .11, .07, .08, .06, 2099, .02), 
    d <- c(.19, .27, .18, .10, .04, .08, .06, 1024, .03), 
    e <- c(.22, .30, .18, .09, .07, .08, .06, 1799, .02) 
)) 

names(polls) <- c("Cons", "Lib", "Lab", "Ind", "Others", "Null", "Swingy", 
        "Sample.size", "Err") 
+0

당신의 불확실성은 있습니까? – gjabel

+0

전적으로하고 있습니다. 이 예고는 4 년 뒤로의 선호 분배에 대한 추측입니다. – user3407340

답변

0

디리클렛 배포판에 알파 프리우스를 구축 할 수 있습니다. 나는 당신의 데이터로 그것을 테스트하지 않았기 때문에, 나의 대답은 개념 만 다루고있다.

# K = number of parties 
# T = number of periods a:e, I guess 
model { 
for(t in 1:T){ 
y[t, 1:k] ~ dmulti(alpha[t, 1:k], N[t]) 
# Dirichlet priors on the paramenters 

alpha[t, 1:k] ~ ddirch(theta[1:k]) 
N[t] <- sum(y[t,1:k]) 
# Sample size for dmulti based on observed data 

# Inference probabilities 
delta[t]<-step(alpha[t,2]-alpha[t,3]) 
} 

for(i in 1:k){ #gamma prior for the alpha vector 
theta[i] ~ dgamma(0,0.01) } 
}