MCMC to estimate a jump-diffusion model
We use Winbugs to do MCMC through R, the code is below:
# winbugs program#
modle {
for (i in 1:N) {
y ~dnorm(r,tau) # tau corresponding to
r<-mu+Xi*J # Xi corresponding to #
Xi[t]~dnorm(Jmu,Jtau)
J[t]~dbern(lamda)
}
Sigma<-1/sqrt(tau)
JSigma<-1/sqrt(Jtau)
mu~dnorm(0,1) # prior distributions for parameters
tau~dgamma(2, 2)
Jmu~dnorm(0,1)
Jtau~dgamma(2,2)
lamda~dbeta(2,2)
}
# R code with interface to Winbugs
library(R2WinBUGS)
y=read.table("c:/data.txt") #import data#
N=length(N)
Xi0=rep(0,N) # Give initial values to state variables#
J0=rep(0,N)
data=list("N","y")
# Give initial values to the parameters for winbugs #
inits = function() {list ( tau=2,
Jtau=2,
mu=0,
Jmu=0,
lamda = 0.05, Xi=Xi0,J=J0)}
parameters<- c("Sigma","JSigma","mu","Jmu","lamda","Xi","J")
# quote the winbugs#
jump.sim<-bugs(data,inits,parameters,"c:/mcmc/model.txt",n.chains=1,n.iter=1000)
无论怎么调整初始值和先验参数,跳跃的强度 lamda 始终在0.2以上,请问为什么 是不是我模型有问题?data 已经上传:)期待指教:)