###### write the model file ######
require(R2Open BUGS)
ckls_jump<-function() {
y0<-alpha
ymean[1]<-alpha+beta*y0
ytau[1]<-pow(y0,-2*gamma)
y[1]~dnorm(ymean[1],ytau[1])
for(t in 2:T){
j[t] ~dnorm(jmean,jtau)
q[t]~dbern(k)
ymean[t] <-alpha+beta*y[t-1]+j[t]*q[t]
ytau[t] <-pow(y[t-1],-2*gamma)
y[t] ~ dnorm(ymean[t],ytau[t])
}
alpha ~ dunif(0,1)
beta ~ dnorm(2,0.25)
gamma ~ dunif(0.5,1.5)
jmean ~ dnorm(2,2.5)
jtau~dgamma(2.5,0.025)
jsimga2 <- 1/jtau
k~dbeta(2,1)
}
write.model(ckls_jump,"ckls-j.txt")
###### prepare data #######
data = list(T=length(r),y= r)
###### inits #####
inits = NULL
##### sample with Open BUGS
##########
cklsj <- bugs(data,
inits,
parameters=c("alpha","beta","gamma","jmean","jsigma2","k"),
model.file="ckls-j.txt",
n.chains=2,
n.iter=10000,
debug=T
)


雷达卡


京公网安备 11010802022788号







