楼主: 铤而走险
13950 21

[问答] 请教R中运行WINbugs问题 [推广有奖]

11
铤而走险 发表于 2012-4-29 11:39:32
不知道会不会和软件有关,想请问您用的软件的版本是?

12
铤而走险 发表于 2012-4-29 13:08:13
epoh 发表于 2012-4-29 11:03
library(R2WinBUGS)   
y
我把Winbugs重新安装在D盘下,又注册,还是不行,奇怪了!

13
铤而走险 发表于 2012-4-29 13:11:13
不过错误少了,现在只显示:
错误于bugs.run(n.burnin, bugs.directory, WINE = WINE, useWINE = useWINE,  :
  Look at the log file and
try again with 'debug=TRUE' to figure out what went wrong within Bugs.

14
铤而走险 发表于 2012-4-29 13:39:31
epoh 发表于 2012-4-29 11:03
library(R2WinBUGS)   
y
果然是Winbugs 的问题
非常感谢您无私的帮助,使我这个初学者受益匪浅!

15
epoh 发表于 2012-4-29 14:42:39
铤而走险 发表于 2012-4-29 13:39
果然是Winbugs 的问题
非常感谢您无私的帮助,使我这个初学者受益匪浅!
呵呵,问题解决了就好,恭喜你

16
铤而走险 发表于 2012-5-1 14:38:19
epoh 发表于 2012-4-29 14:42
呵呵,问题解决了就好,恭喜你
您好!
有个问题想向您请教:
我想估计这两个模型的参数
1.JPG
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)
}

17
铤而走险 发表于 2012-5-1 14:40:32
复制的时候出错了,model 部分中的t 是t[i],就是公式中的T-t,是到期日和交易日的时间间隔

18
epoh 发表于 2012-5-1 18:59:17
铤而走险 发表于 2012-5-1 14:40
复制的时候出错了,model 部分中的t 是t,就是公式中的T-t,是到期日和交易日的时间间隔
g<-exe(2*k*t)
tau<-tau*g

没有exe
而且这两句语法错误
你的目的是甚么?

19
铤而走险 发表于 2012-5-1 20:56:20
epoh 发表于 2012-5-1 18:59
g
出错了,是g<-exp(2*k*t)
ytau<-tau*g,
非常感谢您的火眼金睛,是exp 的问题!我都没检查出来!

20
evogame 发表于 2012-9-1 19:41:02
“果然是Winbugs 的问题”,最后到底是怎么搞好的?请说的详细一点!我也遇到了这个问题。谢谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 10:19