INLAMH: Perform INLA with MCMC.

View source: R/INLAMH.R

INLAMHR Documentation

Perform INLA with MCMC.

Description

This function implements the Metropolis-Hastings algorithm using repeated calls to R-INLA to fint conditional model on the current state of the MCMC simulations.

Usage

INLAMH(d, fit.inla, b.init, rq, dq, prior, n.sim = 200, n.burnin = 100,
  n.thin = 1, n.errors = 20, verbose = FALSE)

Arguments

d

Data.frame with the data used to fit the model with R-INLA.

fit.inla

A function used to fit the model with R-INLA. It should take at least two arguments: a data.frame (first) and an object with the actual value of the sampled parameters. This function must return a vector of two components: model.sim (an 'inla' object with the fitted model) and 'mlik' (the marginal likelihood as returned by INLA in model.sim$mlik).

b.init

Initial values of the model parameters for the Metropolis-Hastings algorithm.

rq

Sampling from the proposal distribution. It must take one argument: the current state of the Markov chain.

dq

Density of the proposal distribution. It takes two arguments: current state and proposed new state.

prior

Prior distribution of the model parameters.

n.sim

Total of simulations to be done.

n.burnin

Number of burn-in simulation (thinning is ignored here).

n.thin

Thinning to be applied to the simulations after burn-in.

n.errors

This is the number of errores allowed when calling inla().

verbose

Whether to show some running information or not (defaut to FALSE).

Details

This function implements the Metropolis-Hastings algorithm using INLA (i.e., INLA within MCMC) at every step. In practice, only a few of the model parameters are sampled in the MCMC steps and the posterior marginal of the remainder of parameters is obtained by Bayesian model averaging of the conditional marginals returned by R-INLA at each step of the Metropolis-Hastings algorithm.

Value

A list with three components:

acc.sim

A vector of logical values (of length 'n.sim') showing whether a given proposal has been accepted or not. This is useful to compute the acceptance rate.

model.sim

A list with the models fitted, as returned by fit.inla().

b.sim

List of all sampled values of the models parameters. It is a list beacuse the sampled values can be vectors.

Author(s)

Virgilio Gómez-Rubio.

References

Virgilio Gómez-Rubio and Haavard Rue (2017). Markov Chain Monte Carlo with the Integrated Nested Laplace Approximation. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s11222-017-9778-y")}.


INLABMA documentation built on Nov. 18, 2023, 5:13 p.m.

Related to INLAMH in INLABMA...