楼主: susanna_5433
4820 16

跪求赐教!关于winbugs [推广有奖]

11
susanna_5433 发表于 2010-3-2 19:01:04
我试试,另外beg究竟该取多少合适,比如iteration是10000次,从history上也看不出从哪里开始burn-in,是不是beg取1000或2000,这个对最后计算rd的后验信息有无实质影响呢?

12
epoh 发表于 2010-3-2 22:01:17
如果你在winbugs是如此设置
1.sample monitor tool
  beg:1001  (就是 burn in)
2.update tool
  updates:11000

按"stats" button输出的结果与
底下的R code是相同的. start 1001,  sample 10000

modelUpdate(1000)         # burn in
modelUpdate(10000)       # 10000 more iterations ...
samplesStats("*")            # the summarized results

> samplesStats("*")       # the summarized results
         mean       sd  MC_error  val2.5pc   median val97.5pc start sample
p[1] 0.253600 0.004377 4.425e-05  0.245100 0.253600   0.26230  1001  10000

若模型简单,要估的参数少,burn in设1000,2000就够了.
详细可参阅 manual14.pdf page-53 Checking convergence
Getting started in OpenBUGS WinBUGS.pdf (923.72 KB)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
susanna_5433 + 1 + 1 + 1 真正的大好人!

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

13
epoh 发表于 2010-3-4 09:08:17
也可以由winbugs直接输出文件,
供"CODA"继续分析HPDinterval.
这里我以 p node说明:
sample monitor tool 按"coda"button
会跳出两个窗口:(1)CODA index (2)CODA for chain 1
请分别存成pCODAindex.txt, pCODAchain1.txt
放在R可读到的working directory.
若不确定R目前的working directory
可键入getwd()
知道R目前的working directory后,
将pCODAindex.txt, pCODAchain1.txt放入.

执行下列程序:
library(coda)
## Get the coda chains from WinBUGS output
coda.out1 <- read.coda("pCODAchain1.txt", "pCODAindex.txt")
HPDinterval(coda.out1,prob=0.95)

另补充:
有了这些数据,HPDinterval也可自行算出:
library(coda)
coda.out1 <- read.coda("pCODAchain1.txt", "pCODAindex.txt")
M = 10000
prob = 0.95
chain1 = matrix(scan("pCODAchain1.txt"),4*M,2,byrow=T)
chain1 = matrix(chain1[,2],M,4)
chain1=apply(chain1,2,sort)
nsamp <- nrow(chain1)
npar <- ncol(chain1 )
gap <- max(1, min(nsamp - 1, round(nsamp * prob)))
init <- 1:(nsamp - gap)
inds <- apply(chain1[init + gap, ,drop=FALSE] - chain1[init, ,drop=FALSE],

2, which.min)

ans <- cbind(chain1[cbind(inds, 1:npar)],

chain1 [cbind(inds + gap, 1:npar)])

dimnames(ans) <- list(colnames(ans), c("lower", "upper"))
attr(ans, "Probability") <- gap/nsamp
ans
> ans

      lower upper

[1,] 0.2450 0.2620
[2,] 0.2436 0.2609
[3,] 0.2403 0.2573
[4,] 0.2368 0.2537
attr(,"Probability")
[1] 0.95

14
susanna_5433 发表于 2010-3-5 09:49:57
够义气,谢谢!研究中

15
暗香疏影N01 发表于 2010-11-29 21:39:02
哦  天啦!

16
muyufeizi 发表于 2011-5-21 14:47:58
8# epoh
你好,我也是十分想求教winbugS这个软件的使用放个,我在做毕业论文,能告诉我你的qq号吗?感谢啊~~~~~~~···

17
xlk75 发表于 2011-8-5 00:13:42



我收藏了,努力学习啊!!
风神时代

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

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