楼主: xingzhaoh
1815 1

[问答] 使用R2WinBUGS拟合后怎么绘制后验概率密度 [推广有奖]

副教授

21%

还不是VIP/贵宾

-

威望
0
论坛币
3407 个
通用积分
13.9254
学术水平
5 点
热心指数
6 点
信用等级
3 点
经验
601 点
帖子
427
精华
0
在线时间
703 小时
注册时间
2011-9-14
最后登录
2023-11-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
使用R2WinBUGS进行线性拟合后,
如何绘制验概率密度(Posterior probability density)
请问大神用哪个语句?
非常感谢,急用

代码如下
  1. library(R2WinBUGS)
  2. library(lattice)
  3. library(coda)
  4. dat<-read.csv("c:/data.csv")
  5. attach(dat)
  6. setwd("c:/")
  7. sink("lme.model2.txt")
  8. cat("
  9. model {

  10. # Priors
  11. for (i in 1:6){
  12. alpha[i] ~ dnorm(mu.int, tau.int) # Random intercepts
  13. beta[i] ~ dnorm(mu.slope, tau.slope)# Random slopes
  14. }

  15. mu.int ~ dnorm(0, 0.001) # Mean hyperparameter for random intercepts
  16. tau.int <- 1 / (sigma.int * sigma.int)
  17. sigma.int ~ dunif(0, 100) # SD hyperparameter for random intercepts

  18. mu.slope ~ dnorm(0, 0.001) # Mean hyperparameter for random slopes
  19. tau.slope <- 1 / (sigma.slope * sigma.slope)
  20. sigma.slope ~ dunif(0, 100) # SD hyperparameter for slopes

  21. tau <- 1 / ( sigma * sigma) # Residual precision
  22. sigma ~ dunif(0, 100) # Residual standard deviation

  23. # Likelihood
  24. for (i in 1:n) {
  25. mass[i] ~ dnorm(mu[i], tau)
  26. mu[i] <- alpha[pop[i]] + beta[pop[i]]* length[i]
  27. }
  28. }
  29. ",fill=TRUE)
  30. sink()

  31. # Bundle data
  32. win.data <- list(mass = as.numeric(mass), pop = pop, length = length, n =length(mass))

  33. # Inits function
  34. inits <- function(){ list(alpha = rnorm(6, 0, 2), beta = rnorm(6, 10, 2),
  35. mu.int = rnorm(1, 0, 1), sigma.int = rlnorm(1), mu.slope = rnorm(1, 0, 1),
  36. sigma.slope = rlnorm(1), sigma = rlnorm(1))}

  37. # Parameters to estimate
  38. parameters <- c("alpha", "beta", "mu.int", "sigma.int", "mu.slope", "sigma.slope", "sigma")

  39. ni <-10000
  40. nb <- 1000
  41. nt <- 2
  42. nc <- 3

  43. # Start Gibbs sampling
  44. #out <- bugs(win.data, inits, parameters, "lme.model1.txt", n.thin=nt, n.chains=nc, n.burnin=nb, n.iter=ni, debug = TRUE,bugs.directory="c:/Program Files/WinBUGS14/")

  45. out1 <- bugs(win.data, inits, parameters, "lme.model2.txt", n.thin=nt,
  46. n.chains=nc, n.burnin=nb, n.iter=ni, debug = TRUE)
复制代码

数据在附件中
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R2WinBUGS winbugs WINBUG 后验概率 概率密度 library Random 如何

沙发
李骥北 发表于 2015-1-6 08:14:03 |只看作者 |坛友微信交流群
http://www.r-tutor.com/bayesian-statistics/openbugs

hope this can help you

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 14:16