Description Usage Arguments Details Value Note Author(s) References See Also Examples
These functions return estimates of the entropy
of the density pt of a MCMC algorithm at time t,
E_pt[log(pt)],
and of the Kullback divergence between pt and the target density,
for t=1 up to the number of iterations that have been simulated.
The MCMC simulations must be computed before or externally,
and passed as a "plMCMC
" object
in the first argument (see details).
The target may be known only up to a multiplicative constant (see details).
EntropyMCMC.mc
is a parallel computing
version that uses the
parallel package to split the task between the available (virtual) cores on the computer. This version using socket cluster is not available for Windows computers.
1 2 3 4 5 6 7 | EntropyMCMC(plmc1, method = "A.Nearest.Neighbor", k=1, trim = 0.02, eps=0,
all.f = TRUE, verb = FALSE, EntVect = FALSE,
uselogtarget = FALSE, logtarget = NULL)
EntropyMCMC.mc(plmc1, method = "A.Nearest.Neighbor", k = 1, trim = 0.02, eps=0,
all.f = TRUE, verb = FALSE, EntVect = FALSE, nbcores=detectCores(),
uselogtarget = FALSE, logtarget = NULL)
|
plmc1 |
an objects of class |
method |
The method for estimating the entropy E_pt[log(pt)].
Methods currently implemented are :
|
k |
The k-nearest neighbor index, the default is k=1. |
trim |
Parameter controlling the percentage of smallest data from one subsample
that is removed, only for |
eps |
A parameter controlling precision in the |
all.f |
If |
verb |
Verbose mode |
EntVect |
If |
nbcores |
Number of required (virtual) cores, defaults to all as returned
by |
uselogtarget |
Set to |
logtarget |
The function defining log(f(theta)), |
Methods based on Nearest Neighbors (NN) should be preferred since these require less tuning parameters.
Some options, as uselogtarget
are in testing phase and are not implemented in all the available methods (see Arguments).
An object of class KbMCMC
(for Kullback MCMC), containing:
Kullback |
A vector of estimated divergences K(pt,f), for t=1 up to the number of iterations that have been simulated. This is the convergence/comparison criterion. |
Entp |
A vector of estimated entropies E_pt[log(pt)], for t=1 up to the number of iterations that have been simulated. |
nmc |
The number of iid copies of each single chain. |
dim |
The state space dimension of the MCMC algorithm. |
algo |
The name of the MCMC algorithm that have been used to simulate
the copies of chains, see |
target |
The target density for which the MCMC algorithm is defined;
ususally given only up to a multiplicative constant for MCMC in Bayesian models.
target must be a function such as the multidimensional gaussian
|
method |
The |
f_param |
A list holding all the necessary target parameters, consistent with the target definition. |
q_param |
A list holding all the necessary parameters for the proposal density of the MCMC algorithm that have been used. |
The method "Resubst"
is implemented for testing, without theoretical guarantee of convergence.
Didier Chauveau, Houssam Alrachid.
Chauveau, D. and Vandekerkhove, P. (2013), Smoothness of Metropolis-Hastings algorithm and application to entropy estimation. ESAIM: Probability and Statistics, 17, 419–431. DOI: http://dx.doi.org/10.1051/ps/2012004
Chauveau D. and Vandekerkhove, P. (2014), Simulation Based Nearest Neighbor Entropy Estimation for (Adaptive) MCMC Evaluation, In JSM Proceedings, Statistical Computing Section. Alexandria, VA: American Statistical Association. 2816–2827.
Chauveau D. and Vandekerkhove, P. (2014), The Nearest Neighbor entropy estimate: an adequate tool for adaptive MCMC evaluation. Preprint HAL http://hal.archives-ouvertes.fr/hal-01068081.
MCMCcopies
and
MCMCcopies.mc
for iid MCMC simulations (single core and multicore),
EntropyParallel
and EntropyParallel.cl
for simultaneous simulation and entropy estimation (single core and multicore).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ## Toy example using the bivariate gaussian target
## with default parameters value, see target_norm_param
n = 150; nmc = 50; d=2 # bivariate example
varq=0.1 # variance of the proposal (chosen too small)
q_param=list(mean=rep(0,d),v=varq*diag(d))
## initial distribution, located in (2,2), "far" from target center (0,0)
Ptheta0 <- DrawInit(nmc, d, initpdf = "rnorm", mean = 2, sd = 1)
# simulation of the nmc iid chains, singlecore
s1 <- MCMCcopies(RWHM, n, nmc, Ptheta0, target_norm,
target_norm_param, q_param, verb = FALSE)
summary(s1) # method for "plMCMC" object
e1 <- EntropyMCMC(s1) # computes Entropy and Kullback divergence estimates
par(mfrow=c(1,2))
plot(e1) # default plot.plMCMC method, convergence after about 80 iterations
plot(e1, Kullback = FALSE) # Plot Entropy estimates over time
abline(normEntropy(target_norm_param), 0, col=8, lty=2) # true E_f[log(f)]
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.