pymc.HamiltonianMC.__init__#

HamiltonianMC.__init__(vars=None, path_length=2.0, max_steps=1024, **kwargs)[源代码]#

设置哈密顿蒙特卡罗采样器。

参数:
vars: list, default=None

值变量的列表。如果为 None,则包含模型中的所有连续随机变量。

path_length: float, default=2

总行程长度

step_rand: 函数 float -> float, 默认=unif

一个函数,它接受步长并返回一个新的步长,用于在每次迭代时随机化步长。默认情况下,从给定步长的+-15%的均匀分布中抽取一个新的随机步长。如果设置为None,则不进行随机化。

step_scale: float, default=0.25

初始步长大小,自动按 1/n**(1/4) 缩小,其中 n 是参数空间的维度

scaling: array_like, ndim = {1,2}

逆质量,或精度矩阵。一维数组被解释为对角矩阵。如果 is_cov 设置为 True,这将被解释为质量或协方差矩阵。

is_cov: bool, 默认=False

将缩放视为质量或协方差矩阵。

potential: 潜在的,可选的

一个表示哈密顿量的对象,具有 velocityenergyrandom 方法。它可以用来替代缩放矩阵。

target_accept: float, 默认值为 0.65

调整步长,使得轨迹间的平均接受概率接近 target_accept。target_accept 的值越高,步长越小。将其设置为较高的值,如 0.9 或 0.99,有助于从困难的后期采样。有效值在 0 和 1 之间(不包括 0 和 1)。默认值 0.65 来自 (Beskos et. al. 2010, Neal 2011)。详情请参见 Hoffman 和 Gelman 的 “The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo” 第 3.2 节。

gamma: float, 默认值为 .05
k: float, 默认值为 0.75

步长适应的双平均参数。介于0.5和1(不包括)之间的值是可接受的。较高的值对应较慢的适应。

t0: float > 0, 默认 10

双平均的参数。较高的值会减缓初始适应。

adapt_step_size: bool, default=True

是否启用步长自适应。如果禁用此功能,kt0gammatarget_accept 将被忽略。

max_steps: int

最大蛙跳步数。

模型: pymc.Model

模型

**kwargs: 传递给 BaseHMC