pymc.step_methods.hmc.HamiltonianMC.__init__#
- HamiltonianMC.__init__(vars=None, path_length=2.0, max_steps=1024, **kwargs)[source]#
Set up the Hamiltonian Monte Carlo sampler.
- Parameters:
- vars: list, default=None
List of value variables. If None, all continuous RVs from the model are included.
- path_length: float, default=2
Total length to travel
- step_rand: function float -> float, default=unif
A function which takes the step size and returns a new one used to randomize the step size at each iteration. The default draws a random new step size from a uniform distribution with +-15% of the given one. If set to None, no randomization is done.
- step_scale: float, default=0.25
Initial size of steps to take, automatically scaled down by 1/n**(1/4) where n is the dimensionality of the parameter space
- scaling: array_like, ndim = {1,2}
The inverse mass, or precision matrix. One dimensional arrays are interpreted as diagonal matrices. If is_cov is set to True, this will be interpreted as the mass or covariance matrix.
- is_cov: bool, default=False
Treat the scaling as mass or covariance matrix.
- potential: Potential, optional
An object that represents the Hamiltonian with methods velocity, energy, and random methods. It can be specified instead of the scaling matrix.
- target_accept: float, default 0.65
Adapt the step size such that the average acceptance probability across the trajectories are close to target_accept. Higher values for target_accept lead to smaller step sizes. Setting this to higher values like 0.9 or 0.99 can help with sampling from difficult posteriors. Valid values are between 0 and 1 (exclusive). Default of 0.65 is from (Beskos et. al. 2010, Neal 2011). See Hoffman and Gelman’s “The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo” section 3.2 for details.
- gamma: float, default .05
- k: float, default .75
Parameter for dual averaging for step size adaptation. Values between 0.5 and 1 (exclusive) are admissible. Higher values correspond to slower adaptation.
- t0: float > 0, default 10
Parameter for dual averaging. Higher values slow initial adaptation.
- adapt_step_size: bool, default=True
Whether step size adaptation should be enabled. If this is disabled, k, t0, gamma and target_accept are ignored.
- max_steps: int
The maximum number of leapfrog steps.
- model: pymc.Model
The model
- **kwargs: passed to BaseHMC