More MCMC inference¶
We can customize the MCMC inference by initiating the engine instance differently.
Annealing schemes¶
We provide 5 annealing schemes that possibly relax the Markov chain to the global minimum on the description length
landscape. Nevertheless, as suggested by [peixoto-efficient-2014] the default annealing scheme is set
to abrupt_cool
.
For abrupt_cool
, only the mcmc_cooling_param_1
is useful. It corresponds to the number of sweeps for
equilibrium (\(T=1\)) after which an abrupt cooling (\(T=0\)) is performed.
As inspired by sbm_canonical_mcmc, the other 4 cooling schedules are:
exponential
, linear
, logarithmic
and constant
.
The inverse temperature functions are defined as
beta(t) = 1/T_0 * alpha^(-t) (Exponential)
beta(t) = 1/T_0 * [1 - eta * t / T_0]^(-1) (Linear)
beta(t) = log(t + d) / c (Logarithmic)
beta(t) = 1 / T_0 (Constant),
where \(t\) is the MCMC step. The parameters of these cooling schedules are passed like this:
T_0 alpha (Exponential)
T_0 eta (Linear)
c d (Logarithmic)
T_0 (Constant),
where the first argument fulfills the mcmc_cooling_param_1
in engines.MCMC
and the second one corresponds
to mcmc_cooling_param_2
. Note that the second parameter is meaningless for logarithmic
and constant
.
References¶
- peixoto-efficient-2014
Tiago P. Peixoto, “Efficient Monte Carlo and greedy heuristic for the inference of stochastic block models”, Phys. Rev. E 89, 012804 (2014), DOI: 10.1103/PhysRevE.89.012804 [sci-hub], arXiv: 1310.4378