全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6722 8
2009-02-20

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 已经上传:)期待指教:)

二维码

扫码加我 拉你入群

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

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

全部回复
2009-3-10 22:11:00

我最近也在搞这个东西,说点我的看法吧

我试了试这个代码,没用你的数据,lamda比较小在0.08左右,但是tau值太大了。

有个疑问:tau的共轭分布是invert gamma,这个用的是gamma,不知道这样会不会有问题。

还有就是我没看出来状态变量Xi和J是怎么更新的,按我看过的文献Xi的先验应该是正态分布。

我也是个初学者,仅供参考

二维码

扫码加我 拉你入群

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

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

2010-4-7 15:58:05
请问一下,如果是均值回复模型该怎么做?
二维码

扫码加我 拉你入群

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

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

2010-4-7 16:02:04
如何求跳跃的概率和幅度呢?跳跃幅度很好理解,就是Xi,但J[t]的概率是什么呢?难道就是dbern(lamda)?如何画出图像?
二维码

扫码加我 拉你入群

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

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

2010-5-27 15:51:30
怎么才能用WINbugs 中MCMC对均值回复的跳扩散进行参数估计阿,程序有知道的吗?谢谢愿意支付论坛币
二维码

扫码加我 拉你入群

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

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

2010-5-28 21:30:54
貌似是模型写错了
二维码

扫码加我 拉你入群

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

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

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

分享

扫码加好友,拉您进群