AdMitMH {AdMit} | R Documentation |
Performs independence chain Metropolis-Hastings (M-H) sampling using an adaptive mixture of Student-t distributions as the candidate density
AdMitMH(N=1e5, KERNEL, mit=list(), ...)
N |
number of draws generated by the independence chain M-H algorithm (positive
integer number). Default: N=1e5 . |
KERNEL |
kernel function of the target density on which the adaptive mixture is fitted. This
function should be vectorized for speed purposes (i.e., its first
argument should be a matrix and its output a vector). Moreover, the function must contain
the logical argument log . If log=TRUE , the function
returns (natural) logarithm values of kernel function. NA
and NaN values are not allowed. (See the function
AdMit for examples of KERNEL implementation.) |
mit |
list containing information on the mixture approximation (see *Details*). |
... |
further arguments to be passed to KERNEL . |
The argument mit
is a list containing information on the
adaptive mixture of Student-t distributions. The following components must
be provided:
p
mu
Sigma
df
where H (>=1) is the number of components and
d (>=1) is the dimension of the first argument in KERNEL
. Typically,
mit
is estimated by the function AdMit
.
A list with the following components:
draws
: matrix (of size N
xd) of draws
generated by the independence chain M-H algorithm,
where N
(>=1) is the number of draws
and d (>=1) is the
dimension of the first argument in KERNEL
.
accept
: acceptance rate of the independence chain M-H algorithm.
Further details and examples of the R package AdMit
can be found in Ardia, Hoogerheide and van Dijk (2008a,b). See also
the file ‘AdMitJSS.R’ in the package's folder.
Further information on the Metropolis-Hastings algorithm can be found in Chib and Greenberg (1995) and Koop (2003).
David Ardia <david.ardia@unifr.ch>
Ardia, D., Hoogerheide, L.F., van Dijk, H.K. (2008a) `Adaptive mixture of Student-t distributions as a flexible candidate distribution for efficient simulation: The R package AdMit', Tinbergen Institute discussion paper 2008-062/4. http://www.tinbergen.nl/discussionpapers/08062.pdf
Ardia, D., Hoogerheide, L.F., van Dijk, H.K. (2008b) `The AdMit package', Econometric Institute report 2008-17. http://publishing.eur.nl/ir/repub/asset/13053/EI2008-17.pdf
Chib, S., Greenberg, E. (1995) `Understanding the Metropolis-Hasting Algorithm', The American Statistician 49(4), pp.327–335.
Koop, G. (2003) Bayesian Econometrics, Wiley-Interscience (London, UK), first edition, ISBN: 0470845678.
AdMitIS
for importance sampling using an adaptive
mixture of Student-t distributions as the importance density,
AdMit
for fitting
an adaptive mixture of Student-t distributions to a target density
through its KERNEL
function; the package coda for MCMC output
analysis.
## Gelman and Meng (1991) kernel function 'GelmanMeng' <- function(x, A=1, B=0, C1=3, C2=3, log=TRUE) { if (is.vector(x)) x <- matrix(x, nrow=1) r <- -.5 * (A*x[,1]^2*x[,2]^2 + x[,1]^2 + x[,2]^2 - 2*B*x[,1]*x[,2] - 2*C1*x[,1] - 2*C2*x[,2]) if (!log) r <- exp(r) as.vector(r) } ## Run the AdMit function to fit the mixture approximation set.seed(1234) outAdMit <- AdMit(GelmanMeng, mu0=c(0,0.1)) ## Run M-H using the mixture approximation as the candidate density outAdMitMH <- AdMitMH(KERNEL=GelmanMeng, mit=outAdMit$mit) options(digits=4, max.print=40) print(outAdMitMH) ## Use functions provided by the package coda to obtain ## quantities of interest for the density whose kernel is 'GelmanMeng' library(coda) draws <- as.mcmc(outAdMitMH$draws[1001:1e5,]) colnames(draws) <- c("X1","X2") summary(draws) summary(draws)$stat[,3]^2 / summary(draws)$stat[,4]^2 ## RNE plot(draws)