EntropyMCMC-package {EntropyMCMC}R Documentation

(A)MCMC Simulation and Convergence Evaluation using Entropy and Kullback-Leibler Divergence Estimation


Contains functions to analyse (Adaptive) Markov Chain Monte Carlo (MCMC) algorithms, evaluate their convergence rate, and compare candidate MCMC algorithms for a same target density, based on entropy and Kullback-Leibler divergence criteria. MCMC algorithms can be simulated using provided functions, or imported from external codes. The diagnostics are based on consistent estimates of entropy and Kulback distance between the density at iteration t and the target density f, based on iid (parallel) chains.


Package: EntropyMCMC
Type: Package
Version: 1.0.4
Date: 2019-03-08
License: GPL (>= 3)
LazyLoad: yes

Statistical background:

This package allows for simulation of standard or adaptive MCMC samplers for a user-defined target density, and provides statistical tools to evaluate convergence of MCMC's and compare performance of algorithms for the same target density (typically against benchmark samplers).

The criteria are graphical and based on plots against iterations (time) t, of the Kullback divergence K(p^t,f) between the density p^t of the MCMC algorithm at time t, and the target density f, for t=1 up to the number of iterations that have been simulated. This requires estimation of the entropy of p^t,

E_{p^t} [\log(p^t)],

and of the external entropy

E_{p^t} [\log(f)].

Consistent estimates are computed based on N iid (parallel) chains, since the N positions of the chains at iterations t forms a N-iid sample from the density p^t.

Computational considerations:

The simulation of iid chains can be performed in this package, which provides a mechanism for defining (A)MCMC algorithms and building the iid chains required for convergence evaluation. Each MCMC algorithm is defined by a list with five elements. Each user can define its own MCMC, starting from the standard MCMC algorithms that are already defined:

Functions for doing the simulations and the convergence evaluation automatically using these algorithms in their first argument are provided. Two strategies are available:

See the Examples section of plot_Kblist for an illustration of these two methods.

Doing the simulations outside from this package

A third hybrid strategy is also available: the simulation of iid chains can be done using an external code (in R, C or any language) and imported in the EntropyMCMC package (defining an object of the appropriate class "plMCMC" and structure, see MCMCcopies).

Then the Kullback divergence criterion can be computed using EntropyMCMC or its multicore version, and convergence/comparison diagnostics can be displayed using the associated plot method.

About High Performance Computing

The required simulations can be done using singlecore or HCP (multicore computers, snow or clusters using the parallel or Rmpi pakages). Note that the parallel package using socket cluster is not available on Windows machines.


Didier Chauveau, Institut Denis Poisson, University of Orleans, CNRS, Orleans France. https://www.idpoisson.fr/chauveau/

Maintainer: Didier Chauveau didier.chauveau@univ-orleans.fr

Contributor: Houssam Alrachid


[Package EntropyMCMC version 1.0.4 Index]