老師您好啊..前兩天有事無法上線.今日就把您所建議的部分做一修正.並加諸風險補償觀念進來..但仍無法達陣成功--expect a comma..所以附上請您多指正
model;
{
mu ~ dnorm(1,0.04)
for( i in 2 : n ) {
v[i] ~ dt(vmean[i],ivd[i])I(0,);
}
kt ~ dnorm( 0.0, 1.0);
k ~ dnorm( 0.0, 1.0);
theta <- kt / k
for( i in 2 : n ) {
ksy[i] ~ dt(ksymean[i],tauy);
}
for( i in 2 : n ) {
ksv[i] ~ dexp(muv);
}
rhoj ~ dnorm( 0.0,4);
muv ~ dgamma(20,10);
for( i in 2 : n ) {
j[i] ~ dbern(lambda);
}
lambda ~ dbeta(2,40);
ev ~ dnorm( 0.0, 1.0);
ey ~ dnorm( 0.0, 1.0);
e ~ dnorm( 0.0,1.0E-6);
sigy2 <- 1 / tauy;
tauy ~ dgamma( 5.0,20);
muy ~ dnorm( 0.0,0.01);
for( i in 2 : n ) {
ymean[i] <- y[i - 1] +( kt-k* y[i - 1]) +ksv[i] * j[i] +sqrt(sigv2)* rho * (y[i] - y[i - 1] -d*exp(theta[i]) - ksy[i] * j[i])
yisig2[i] <- 1 / (rho*rho*sigy2*j[i]+(1-rho*rho)*sigv2*j[i]+v[i - 1]+1/pow(muv,2)*j[i]);
y[i]~dt(ymean[i],yisig2[i],);
r[i] <- y[i]-y[i-1] ;
rmean[i] <- mu + ksy[i] * j[i];
r[i] ~ dnorm(rmean[i],ird[i]);
}
tauv ~ dgamma( 2.5, 0.1);
sigv2 <- 1 / tauv;
for( i in 2 : n ) {
vmean[i] <- v[i - 1] +( kt-k* v[i - 1]) + 1/muv * j[i] + rho * (y[i] - y[i - 1] - mu - ksymean[i] * j[i])
}
for( i in 2 : n ) {
ivd[i] <- 1 / (rho*rho*sigy2*j[i]+(1-rho*rho)*sigv2*j[i]+v[i - 1]+1/pow(muv,2)*j[i]);
}
for( i in 2 : n ) {
ird[i] <- 1 / (sigy2*j[i]+v[i - 1]);
}
rho ~ dunif(-1,1);
for( i in 2 : n ) {
ksymean[i] <- muy + rhoj * ksv[i];
}
v[1] <- 1;
ksv[1] <- 0.0;
ksy[1] <- 0.0;
}
#data
list (n=180)
n = length(y)
ksy0=rep(0,n)
ksv0=rep(0,n)
J0=rep(0,n)
V0=rep(0,n)
Y[]
-0.560.08-0.95-0.60.261.071.48-3.881.19-0.94-0.20.781.74-1.72.16-0.35-0.46-0.21-0.6-0.4-0.032.171.32-1.78-1.721.69-2.560.370.6-1.340.021.96-0.55-0.18-1.31.040.360.410.20.120.35-0.230.09-1.171.34-0.61.24-0.610.71-3.381.45-0.01-0.640.070.250.35-0.971.49-2.11-0.5403.1-1.410.2-0.470.350.32-0.69-0.49-0.931.141.320.33-2.611.340.080.42-0.87-0.430.40.360.17-0.420.420.060.630.260.05-0.030.821.6-0.790.24-0.4-0.860.09-1.131.450.36-0.660.660.080.021.17-0.41-0.42-0.24-0.290.46-1.69-0.570.820.360.14-0.94-1.35-0.670.041.430.43-0.321.4-0.9-0.17-0.70.15-0.461.941.52.22-0.53-1.47-0.390.920.08-0.06-0.171.260.84-1.13-1.58-0.71-0.45-0.670.21-2.811.18-0.310.37-1.89-0.351.51-0.06-1.010.271.370.512.08-1.080.08-0.580.430.12-1.780.760.270.96-0.28-0.140.230.07-0.090.350.29-0.620.010.03-0.11-0.230.99
END
#init
list(mu=1,k=1,kt=1,tauv=1,rho=1,lambda=1,muy=1,tauy=1,muv=1,rhoj=1, theta=1,omega=1 )
ksy=c(0,0,0,0,0,0,0,0,0,0,0,0
),
ksv=c(0,0,0,0,0,0,0,0,0,0,0,0
),
J=c(0,0,0,0,0,0,0,0,0,0,0,0
),
v = c
|