楼主: xingzhaoh
3883 10

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

副教授

20%

还不是VIP/贵宾

-

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

楼主
xingzhaoh 发表于 2014-12-26 09:18:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

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

扫码加我 拉你入群

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

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

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

回帖推荐

psyhuangmm 发表于11楼  查看完整内容

这个可以具体说,qq2356948540

soccy 发表于6楼  查看完整内容

https://sites.google.com/site/doingbayesiandataanalysis/software-installation

soccy 发表于5楼  查看完整内容

http://www.jstatsoft.org/v12/i03/ http://people.orie.cornell.edu/davidr/or678/r2winbugs/index.html

soccy 发表于7楼  查看完整内容

WinBUGS局限性很明显,如果刚开始学习bayesian分析,不如直接从Stan入手。

soccy 发表于3楼  查看完整内容

用coda包。

沙发
wwwujl 发表于 2014-12-28 09:34:33
没有在R中调用过,直接使用的WinBUGS,设定监测点,给出后验概率参数。

藤椅
soccy 发表于 2014-12-28 09:41:34
用coda包。

板凳
xingzhaoh 发表于 2014-12-30 13:57:41
soccy 发表于 2014-12-28 09:41
用coda包。
谢谢,能给一个示例吗?看看怎么做的

报纸
soccy 发表于 2014-12-31 00:17:10
http://www.jstatsoft.org/v12/i03/
http://people.orie.cornell.edu/davidr/or678/r2winbugs/index.html

地板
soccy 发表于 2014-12-31 00:18:14
https://sites.google.com/site/doingbayesiandataanalysis/software-installation

7
soccy 发表于 2014-12-31 00:35:19
WinBUGS局限性很明显,如果刚开始学习bayesian分析,不如直接从Stan入手。

8
xingzhaoh 发表于 2014-12-31 10:12:35
soccy 发表于 2014-12-31 00:35
WinBUGS局限性很明显,如果刚开始学习bayesian分析,不如直接从Stan入手。
大侠,我这个有点着急用,你看看这些代码之后怎么样才能绘出后验概率图?
请求您的帮忙,代码如下:
  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. out1 <- bugs(win.data, inits, parameters, "lme.model2.txt", n.thin=nt,
  45. n.chains=nc, n.burnin=nb, n.iter=ni, debug = TRUE)
复制代码

9
soccy 发表于 2014-12-31 19:17:33
plot(out1)如何?

10
xingzhaoh 发表于 2015-1-2 09:20:40
soccy 发表于 2014-12-31 19:17
plot(out1)如何?
不对的,我试过的,不知还有其他方法吗?数据也上传了,代码在上面,麻烦您试试怎么绘出?谢谢您了?

data.rar
下载链接: https://bbs.pinggu.org/a-1706401.html

1.34 KB

本附件包括:

  • data.csv

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 14:52