【问题标题】:How can I integrate prior with data exactly?我如何才能准确地与数据集成?
【发布时间】:2014-03-26 01:05:15
【问题描述】:

有人告诉我使用贝叶斯推理,而不是仅对轮询数据进行分析。但是,我有一个问题;我有一个小型数据集,其中包含有关各方先前分布的猜测,并且我有来自民意调查的数据。如何从 Gibbs 模拟中获得边际?

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

【问题讨论】:

  • 你对你的先验有什么不确定吗?
  • 完全可以。这些先验是关于 4 年后偏好分布的猜测。

标签: winbugs jags r2jags


【解决方案1】:

您可以在 Dirichlet 分布 alpha 先验的基础上进行构建。我没有用您的数据对其进行测试,因此,我的答案将仅针对概念。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多