全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
7966 18
2010-12-14
本人摸索用winbugs估计SV模型过程中遇到了的问题如下:在specification tool 窗口按compile时出现了错误提示
array index is greater than array upper bound for y!!如何解决啊???
具体的模型,和数据设置如下
model
{
for (t in 1:n){yisigma2[t]<-1/exp(theta[t])
                    y[t] ~ dnorm(0,yisigma2[t])
                    }
mu~dnorm(0,0.1)
phistar~dbeta(20,1.5)
itau2~dgamma(2.5,0.025)
beta<-exp(mu/2)
phi<-2*phistar-1
tau<-sqrt(1/itau2)
theta0~dnorm(mu,itau2)
thmean[1]<-mu+phi*(theta0-mu)
theta[1]~dnorm(thmean[1],itau2)
for(t in 2:n) {thmean[t]<-mu+phi*(theta[t-1]-mu)
                     theta[t]~dnorm(thmean[t],itau2)
                   }
}

list(n=20,y=c(0.01965,0.0234,0.05664,0.047704,0.029483,0.01203,0.003767,0.007112,0.000838,0.0325,0.02449,0.00015,0.042398,0.045487,0.001113,0.022363,0.03888,0.033397,0.035908,0.022705))
求高人指点
二维码

扫码加我 拉你入群

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

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

全部回复
2010-12-16 21:50:02
自己顶啊!!!!
二维码

扫码加我 拉你入群

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

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

2010-12-20 17:00:26
model{
### likelihood: joint distribution of y
for (i in 1:n)
{yisigma2[i]<-1/exp(theta[i])
y[i] ~dt(0,yisigma2[i],s);
}
### prior distributions
s~dchisqr(8)I(2,50);
phi1~dbeta(20,1.5)
phi<-2*phi1-1
mu~dnorm(0,0.01)
beta<-exp(mu/2)
itau2~dgamma(2.5,0.025)
tau<-sqrt(1/itau2)

theta0~dnorm(mu,itau2)
thmean[1]<-mu+phi*(theta0-mu)
theta[1]~dnorm(thmean[1],itau2)
for (j in 2:n)
{thmean[j]<-mu+phi*(theta[j-1]-mu)
theta[j]~dnorm(thmean[j],itau2)
}
}
二维码

扫码加我 拉你入群

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

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

2011-1-6 23:15:53
3# epoh
谢谢哦~~ 不好意思,这么迟才回复
二维码

扫码加我 拉你入群

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

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

2011-7-26 19:34:19
我运行您给出的SV-T MCMC程序时候出错,麻烦您帮我看一下。
程序为:
model{ for (i in 1:n) {yisigma2[i]<-1/exp(theta[i]) y[i] ~dt(0,yisigma2[i],s); } s~dchisqr(8)I(2,50); phi1~dbeta(20,1.5) phi<-2*phi1-1 mu~dnorm(0,0.01) beta<-exp(mu/2) itau2~dgamma(2.5,0.025) tau<-sqrt(1/itau2) theta0~dnorm(mu,itau2) thmean[1]<-mu+phi*(theta0-mu) theta[1]~dnorm(thmean[1],itau2) for (j in 2:n) {thmean[j]<-mu+phi*(theta[j-1]-mu) theta[j]~dnorm(thmean[j],itau2) } } list(y=c(-8.76,-35.27,-41.52,10.83,22.37,-8.00,11.34,20.42,-23.44,-9.92,15.79,13.96, -36.52,4.71,-23.26,-24.59,-2.17,-36.65,-40.37,24.96,11.22,-1.97,-45.92,0.95,-6.29,-55.69 ,48.26,-2.08,-70.60,5.61,28.96,43.54,3.58,-56.55,16.80,6.07,-57.82,15.55,-17.09, -21.14,-40.55,7.18,9.84,40.63,88.87,-7.08,-23.61,13.92),n=48) list(mu=0,itau2=0.5,s=6,theta0=0.97)

在gen ints 时 报错: unable to generate initial values for node[01055130H] of type GraphT.Mixing. 若我再给其他的变量赋初值,仍然处现错误,只不过 node的位置变化了。
二维码

扫码加我 拉你入群

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

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

2011-7-26 21:04:29
pls remove s=6
#init data
  list(mu=0,itau2=0.5,s=6,theta0=0.97)
change to
  list(mu=0,itau2=0.5,theta0=0.97)
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群