全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1345 0
2013-07-15

疑问,为什么我载入初始值以后总是说,precision of nomallyy y[10] must be positive,试过很多初始值都是这样,自己生成的也是,不明白,求指教

model{

for(t in 4:T){y[t]~dnorm(m[t],p[t])

#LL[t]<-0.5*log(6.28)- 0.5*log(h[t])-0.5*pow(y[t]-m[t],2)/h[t]

}

A[1] <- 0

B[1] <- 0

F[1]<-0

A[2] <- 0

B[2] <- 0

F[2]<-0

A[3] <- 0

B[3] <- 0

F[3]<-0

m[1] <- 0

m[2]<-0

m[3]<-1

p[1]<-1

p[2]<-1

p[3]<-1

h[1]<-1/p[1]

h[2]<-1/p[2]

h[3]<-1/p[3]

for (t in 4:T){

h[t]<-lambda[1]+lambda[2]*pow(y[t-1]-m[t-1],2)+lambda[3]*pow(h[t-1],2)

p[t] <- 1/h[t]

m[t]<-A[t]+F[t]*B[t]+(y[t]-A[t]-F[t]*B[t])

A[t]<-alpha[1]+omega[1]*y[t-1]+omega[2]*y[t-2]

B[t]<-alpha[2]+beta[1]*y[t-1]+beta[2]*y[t-2]+beta[3]*y[t-3]

F[t]<-pow((1+exp(-700*step(y[t-1]-c))),-1)}

#prior

c~dunif(7.56,7.94)

alpha[1]~dnorm(0,0.001)

alpha[2]~dnorm(0,0.001)

omega[1] ~dnorm(0,0.001)

omega[2] ~dnorm(0,0.001)

beta[1] ~dnorm(0,0.001)

beta[2] ~dnorm(0,0.001)

beta[3] ~dnorm(0,0.001)

lambda[1] ~dunif(0.1,1)

lambda[2] ~dunif(0.1,1)

lambda[3] ~dunif(0.1,1)

}

DATA

list(T=39, y=c(8.1056,    8.0998,             8.092,   8.0845,            8.0804,             8.0702,             8.0608,             8.0415,            8.017,   8.0165,             8.0188,            7.9956,             7.9732,             7.9585,             7.9087,            7.8792,             7.8436, 7.8087,  7.7776,            7.7409,             7.7342,             7.7139,             7.6506,            7.6155,             7.5737,  7.5607,            7.5108,             7.4692,             7.3997,             7.3046,            7.1853,             7.1058,             7.019,    7.0002, 6.9472,  6.8591,             6.8388,             6.8345,            6.8183))

INITS

list(c=7.6, lambda=c(0.5,0.5,0.5), alpha=c(-10,10),omega=c(-10,5), beta=c(5,-5,0.1))

END

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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