Learn R Programming

BaPreStoPro (version 0.1)

estimate,hiddenmixedDiffusion-method: Estimation for hierarchical (mixed) hidden diffusion process

Description

Bayesian estimation of the parameters in the hierarchical model: $Z_{ij} = Y_{t_{ij}} + \epsilon_{ij}, dY_t = b(\phi_j,t,Y_t)dt + \gamma \widetilde{s}(t,Y_t)dW_t, \phi_j\sim N(\mu, \Omega), Y_{t_0}=y_0(\phi, t_0), \epsilon_{ij}\sim N(0,\sigma^2)$ with the particle Gibbs sampler.

Usage

"estimate"(model.class, t, data, nMCMC, propSd, adapt = TRUE, proposal = c("normal", "lognormal"), Npart = 100)

Arguments

model.class
class of the hierarchical hidden diffusion model including all required information, see hiddenmixedDiffusion-class
t
list or vector of time points
data
list or matrix of observation variables
nMCMC
length of Markov chain
propSd
vector of proposal variances for $\phi$
adapt
if TRUE (default), proposal variance is adapted
proposal
proposal density: "normal" (default) or "lognormal" (for positive parameters)
Npart
number of particles in the particle Gibbs sampler

References

Andrieu, C., A. Doucet and R. Holenstein (2010). Particle Markov Chain Monte Carlo Methods. Journal of the Royal Statistical Society B 72, pp. 269-342.

Examples

Run this code
mu <- c(5, 1); Omega <- c(0.9, 0.04)
phi <- cbind(rnorm(21, mu[1], sqrt(Omega[1])), rnorm(21, mu[2], sqrt(Omega[2])))
y0.fun <- function(phi, t) phi[2]
model <- set.to.class("hiddenmixedDiffusion", y0.fun = y0.fun,
                 b.fun = function(phi, t, y) phi[1],
                 parameter = list(phi = phi, mu = mu, Omega = Omega, gamma2 = 1, sigma2 = 0.01))
t <- seq(0, 1, by = 0.01)
data <- simulate(model, t = t, plot.series = TRUE)

## Not run: 
# est <- estimate(model, t, data$Z[1:20,], 2000)
# plot(est)
# ## End(Not run)

Run the code above in your browser using DataLab