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