[未知用户] 这是个体力活儿,自个儿把模型中所有的参数都列出来,然后对比一下是不是所有的参数都有初始值吧
WinBUGS在统计分析中的应用(第一部分)
20 天 后
[未知用户] 请问就是把您给的代码复制进WINBUGS,到compile时,出现educational version cannot do this model.什么原因阿?对这个软件不甚掌握,论文却急用请指教,谢谢
[未知用户] 用OpenBUGS吧,我从不用WinBUGS,后者早已经停止开发了
3 个月 后
每次启动winBUGS1.4.3都要弹出Licence Agreement,这是不是没安装好呢?
第七步时,它说edicational version cannot do this model,是不是必须注册了才行呀
[未知用户] 用OpenBUGS!!WinBUGS早已经停止开发了。OpenBUGS开源、免费、还在开发更新中。
16 天 后
大家好 OpenBUGS和WINbugs的程序一样吗
[未知用户] 这个是什么的程序呀 SO 长
2 个月 后
学《高级统计学》的时候,在介绍MCMC及EM的时候,老师介绍过这个软件,
非常好!就是我自己编不出程序来。我是统计的爱好老师与初学者。
另外,问一下谢老师,openbugs在那儿有下载的呢?
非常感谢!
非常好!就是我自己编不出程序来。我是统计的爱好老师与初学者。
另外,问一下谢老师,openbugs在那儿有下载的呢?
非常感谢!
[未知用户] 都这年头了,真的需要我把网址打出来么?……
[未知用户] 去google一下就万事大吉了:)
1 个月 后
请问谢老师,我的问题也是
它说edicational version cannot do this model,是什么原因呢?谢谢了
它说edicational version cannot do this model,是什么原因呢?谢谢了
[未知用户] 谢老师,上面的问题急待回答,谢谢。
谢谢,不好意思。不小心没看到前面有一个贴的回复。
1 个月 后
[未知用户] 请问,上面这位仁兄,你的问题解决了吗?我现在也遇到与你同样的问题。到底问题出在哪里呢?
2 个月 后
[未知用户] 请教谢老师,我用winbugs做SVCJ(带跳的随机波动率)模型,MODEL检验和上传数据都行,就是到了load inits那里总是提示有uninitialized variables,可我该设的参数的初始值差不多都设了,仔细检查了不知道还有什么变量没设。如果采用软件自动赋值初始化(gen inits)的话,只要数据稍多一点,比如500条记录,软件就半天没反应了,而如果只是几十条数据的话还行。不知道是不是编的程序的问题?另还有什么参数没设初值呢?
model;
{
mu ~ dnorm(1,0.4)
for( i in 2 : n ) {
v ~ dnorm(vmean,ivd)I(0,50)
}
kt ~ dnorm( 0.0, 1.0)
k ~ dnorm( 0.0, 1.0)
# theta <- kt / k
for( i in 2 : n ) {
ksy ~ dnorm(ksymean,tauy)
}
for( i in 2 : n ) {
ksv ~ dexp(muv)
}
rhoj ~ dnorm( 0.0,4)
muv ~ dgamma(1,0.1)
for( i in 2 : n ) {
j ~ dbern(lambda)
}
lambda ~ dbeta(1,20)
#ev ~ dnorm( 0.0, 1.0)
#ey ~ dnorm( 0.0, 1.0)
#e ~ dnorm( 0.0,1.0E-6)
sigy2 <- 1 / tauy
tauy ~ dgamma( 1,0.1)
muy ~ dnorm( 0.0,0.1)
for( i in 2 : n ) {
#rmean <- mu + ksymean * j
rmean[i] <- mu + ksy[i] * j[i]
}
tauv ~ dgamma( 1, 0.1)
sigv2 <- 1 / tauv
for( i in 2 : n ) {
#vmean[i] <- v[i - 1] +( kt-k* v[i - 1]) + 1/muv * j[i] + rho * (y[i] - y[i - 1] - mu - ksymean[i] * j[i])
vmean[i] <- v[i - 1] +( kt-k* v[i - 1]) +ksv[i] * j[i] +sqrt(sigv2)* rho * (y[i] - y[i - 1] - mu - ksy[i] * j[i])
}
for( i in 2 : n ) {
#ivd[i] <- 1 / (rho*rho*sigy2*j[i]+(1-rho*rho)*sigv2*j[i]+v[i - 1]+1/pow(muv,2)*j[i])
ivd[i] <- tauv/((1-rho*rho)*v[i-1])
}
for( i in 2 : n ) {
#ird[i] <- 1 / (sigy2*j[i]+v[i - 1])
ird[i] <- 1/v[i-1]
}
for( i in 2 : n ) {
r[i] <- y[i]-y[i-1]
r[i] ~ dnorm(rmean[i],ird[i])
}
rho ~ dunif(-1,1)
for( i in 2 : n ) {
ksymean[i] <- muy + rhoj * ksv[i]
}
v[1] <- 1
ksv[1] <- 0.0
ksy[1] <- 0.0
j[1]<-1
}
list(y=c(3.274324143,3.287163251,3.284207325,3.273737212,3.279863062),
n=5)
list(mu=1,k=1,kt=1,tauv=1,rho=1,lambda=1,muy=1,tauy=1,muv=1,rhoj=1)
model;
{
mu ~ dnorm(1,0.4)
for( i in 2 : n ) {
v ~ dnorm(vmean,ivd)I(0,50)
}
kt ~ dnorm( 0.0, 1.0)
k ~ dnorm( 0.0, 1.0)
# theta <- kt / k
for( i in 2 : n ) {
ksy ~ dnorm(ksymean,tauy)
}
for( i in 2 : n ) {
ksv ~ dexp(muv)
}
rhoj ~ dnorm( 0.0,4)
muv ~ dgamma(1,0.1)
for( i in 2 : n ) {
j ~ dbern(lambda)
}
lambda ~ dbeta(1,20)
#ev ~ dnorm( 0.0, 1.0)
#ey ~ dnorm( 0.0, 1.0)
#e ~ dnorm( 0.0,1.0E-6)
sigy2 <- 1 / tauy
tauy ~ dgamma( 1,0.1)
muy ~ dnorm( 0.0,0.1)
for( i in 2 : n ) {
#rmean <- mu + ksymean * j
rmean[i] <- mu + ksy[i] * j[i]
}
tauv ~ dgamma( 1, 0.1)
sigv2 <- 1 / tauv
for( i in 2 : n ) {
#vmean[i] <- v[i - 1] +( kt-k* v[i - 1]) + 1/muv * j[i] + rho * (y[i] - y[i - 1] - mu - ksymean[i] * j[i])
vmean[i] <- v[i - 1] +( kt-k* v[i - 1]) +ksv[i] * j[i] +sqrt(sigv2)* rho * (y[i] - y[i - 1] - mu - ksy[i] * j[i])
}
for( i in 2 : n ) {
#ivd[i] <- 1 / (rho*rho*sigy2*j[i]+(1-rho*rho)*sigv2*j[i]+v[i - 1]+1/pow(muv,2)*j[i])
ivd[i] <- tauv/((1-rho*rho)*v[i-1])
}
for( i in 2 : n ) {
#ird[i] <- 1 / (sigy2*j[i]+v[i - 1])
ird[i] <- 1/v[i-1]
}
for( i in 2 : n ) {
r[i] <- y[i]-y[i-1]
r[i] ~ dnorm(rmean[i],ird[i])
}
rho ~ dunif(-1,1)
for( i in 2 : n ) {
ksymean[i] <- muy + rhoj * ksv[i]
}
v[1] <- 1
ksv[1] <- 0.0
ksy[1] <- 0.0
j[1]<-1
}
list(y=c(3.274324143,3.287163251,3.284207325,3.273737212,3.279863062),
n=5)
list(mu=1,k=1,kt=1,tauv=1,rho=1,lambda=1,muy=1,tauy=1,muv=1,rhoj=1)
21 天 后
[未知用户] 可以。Google Openbugs 的主页,上面又说明。我更喜欢linux下的版本。
另外,R里面有 R2bugs 的package,在数据不大的情况下,很方便。
另外,R里面有 R2bugs 的package,在数据不大的情况下,很方便。
1 个月 后
[未知用户] 你好,我是WINBUGS的初学者,现在想用来做SV-T模型的MCMC估计,但总提示数据载入不了,还有初始值设置也不明白,请帮忙指导一下,真的很急,谢谢!!!
model{ for(i in 1:n) {y~dt(0,p,omega) p<-exp(-theta) } theta[1]~dnorm(mu,itau2) for(j in 2:n) {theta[j]~dnorm(theta2[j],itau2) theta2[j]<-mu+phi*(theta[j-1]-mu)} phi<-2*phi1-1 tau<-sqrt(1/itau2) mu~dnorm(0,0.01) itau2~dgamma(2.5,0.025) phi1~dbeta(20,1.5) omega~dchisqr(8) } list(N=236, y=c(-2.863137825,0.236862576,0.708743605,-0.410171084,-0.197900711,-0.017711569,-1.099961877, -0.131942478,-0.628070303,0.329370517,-0.425979456,0.003865601,-1.562805432,-1.029900337,0.30855106, -1.76405028,0.536937996,0.88903611,-0.478923481,-2.231280334,0.95179952,-0.240613751,-0.444776657, 0.238243297,2.343495649,-1.345814335,0.409521478,0.938909523,-0.541400821,-1.120087252,-0.465308369, 0.22970175,-0.442665133,0.208833427,-0.866786092,0.294963792,1.018515417,-0.296166322,-0.055762223, -0.336635628,-0.431943542,1.38828862,-0.107762343,-0.502041508,0.094863359,-0.266547417,-0.188964816, -2.292527804,-0.355015921,-0.569077156,0.017514077,-0.25962396,0.583479024,0.068167933,0.014009904, 1.352042569,0.177236882,-0.564620898,0.349787556,-0.707430539,-0.129763575,1.671152083,0.776163597, -0.021446623,0.632287045,-0.008614125,0.209323915,-0.289051354,1.681336675,-0.155862607,-0.077731799, 0.82786481,-1.041519493,0.261535927,-0.412195369,1.112557672,-0.100371081,-1.144249282,0.040589822, -0.189283934,0.434968595,1.094428192,0.290705338,-0.0138222,0.283080016,-0.782503525,-0.085722785, 0.129237661,-0.863186702,0.146550995,0.106793381,0.866076389,-0.290592628,-0.298612901,0.585978478, 0.060169353,0.871721164,0.067681259,-0.016429211,-0.691862319,-0.099393894,0.397879547,-0.0049166, -0.686676288,-0.782562372,-0.017342403,0.106779034,-0.020327393,0.4941572,-0.184977933,0.045901852, 0.883238737,1.461385829,1.173875952,0.238537867,0.716623196,0.32768553,1.063529252,0.24979205, 1.218106841,0.438037488,-0.11434406,0.212401723,1.731100734,-0.575671103,-0.861522307,0.323921825, -1.171227643,1.687658722,-0.670770608,-0.347428641,0.656840307,0.654451244,0.023281919,-0.413060303, -0.236891092,-0.290287567,-2.747778165,0.143692637,-1.71000562,-0.935081269,0.692751369, -0.411491889,0.928809898,-0.926643719,1.04862006,0.412139218,-0.193032523,-0.009653293,-0.79853627, -0.100936572,0.309291433,0.102463117,-0.050883159,0.694099117,-0.842781601, -0.269146402,0.441508007,1.405110928,0.033024447,-0.328643359,-0.323136664,-0.09309922, -0.158225088,1.260303693,-0.789521669,-0.337560523,-0.291325249,-1.066279143, -0.618890031,0.248983641,0.034759251,0.882100279,0.48269568,-0.066941817, -0.184608038,-0.023517406,-0.672468729,0.253540536,0.191561488,-0.087120801,-0.686079288, -1.793905963,0.036004183,1.022793487,-1.434730455,0.589690201,-0.217817872, -0.145532668,0.401124556,0.627431273,0.224008103,0.485978832,0.082761656, -0.662787178,0.939936177,0.179767043,1.528823088,-0.165954634,0.393731707,-0.033624367, -0.370122603,0.936833337,-1.404577085,-0.053542798,0.249369071,0.293947579,0.548939249,-0.006808959, -0.11640434,-0.288842871,0.870856137,0.706003843,0.278474099,-0.229181126,-0.72134986, -0.524715596,0.113296712,-0.787005295,0.586313224, -0.47130353,0.155244387,0.154718569,0.025373314,0.50625468,-0.025369976,0.419284333,-0.019841149, -0.297545391,-0.131656389,-0.25774229,0.435472774,0.420723963,0.210803862,0.551788416,-0.27312702)) list(mu=1, tau=2)
[未知用户] 首先我想知道你了解这个模型吗?软件不是用来往里面乱塞东西的,尽管BUGS软件做得很简单(通常给定先验、给定数据,剩下的什么都不用管了),但你也得稍微明白一下这些代码的来龙去脉吧。比如你的模型中有个变量n,在数据中有吗?初始值中提供了一个变量tau,可是模型中它是参数吗?