阅读权限 255 威望 0 级论坛币 103 个 通用积分 2.8000 学术水平 0 点 热心指数 0 点 信用等级 0 点 经验 1048 点 帖子 117 精华 0 在线时间 108 小时 注册时间 2009-10-3 最后登录 2025-8-18
16 楼
铤而走险
发表于 2012-5-1 14:38:19
epoh 发表于 2012-4-29 14:42
呵呵,问题解决了就好,恭喜你您好!
有个问题想向您请教:
我想估计这两个模型的参数
future.txt
(422 Bytes)
第一个的程序编好,可以运行,也能估计出参数。
Model:
modle {
for (i in 1:N) {
y
~dnorm(mu,tau)
mu<-Xi*J*exp(-k*t)-alpha*Jmu*exp(-k*t)
Xi~dnorm(Jmu,Jtau) # normally distributed jump-sizes
J~dbern(lamda) # jumps-times Bernoulli distributed
}
Sigma<-1/sqrt(tau)
JSigma<-1/sqrt(Jtau)
# prior distributions for parameters
alpha~dnorm(0,1)
k~dnorm(0,1)
tau~dgamma(2, 2)
Jmu~dnorm(0,1)
Jtau~dgamma(2,2)
lamda~dbeta(2,2)
}
R
library(R2WinBUGS)
x<-read.table("D:/Bugs/future.txt") #import data#
y=x[,1]
t=x[,2]
N<-length(y)
Xi0<-rep(0,N) # Give initial values to state variables#
J0<-rep(0,N)
data<-list("N","y","t")
# Give initial values to the parameters for winbugs #
inits <-function() {list ( tau=2,
Jtau=2,
Jmu=0,
lamda = 0.05,k=0,alpha=0,Xi=Xi0,J=J0)}
parameters<- c("Sigma","JSigma","Jmu","lamda","k","alpha","Xi","J")
future.sim<-bugs (data, inits=inits, parameters, "futures1.txt", n.chains=1, n.thin=1,
n.iter=10000,n.burnin=5000,debug=TRUE,DIC=TRUE,
bugs.directory = "D:/WinBUGS14/",working.directory = "D:/Bugs")
attach.bugs(future.sim)
print(future.sim,digits=4)
但是第二个模型就比第一个模型多了那一部分,然后程序在调运Winbugs运行后,什么结果也没有,想请您看看问题出在哪里。
modle {
for (i in 1:N) {
y ~dnorm(mu,tau)
mu<-Xi*J*exp(-k*t)-lamda*Jmu*exp(-k*t)
g<-exe(2*k*t)
tau<-tau*g
Xi~dnorm(Jmu,Jtau) # normally distributed jump-sizes
J~dbern(lamda) # jumps-times Bernoulli distributed
}
Sigma<-1/sqrt(tau)
JSigma<-1/sqrt(Jtau)
# prior distributions for parameters
alpha~dnorm(0,1)
k~dnorm(0,1)
tau~dgamma(2, 2)
Jmu~dnorm(0,1)
Jtau~dgamma(2,2)
lamda~dbeta(2,2)
}