pymc.init_nuts#

pymc.init_nuts(*, init='auto', chains=1, n_init=500000, model=None, random_seed=None, progressbar=True, jitter_max_retries=10, tune=None, initvals=None, **kwargs)[源代码]#

设置NUTS的质量矩阵初始化。

NUTS 收敛和采样速度极大地依赖于质量/缩放矩阵的选择。此函数实现了不同的方法来选择或适应质量矩阵。

参数:
initstr

要使用的初始化方法。

  • auto: 自动选择一个默认的初始化方法。目前,这是 jitter+adapt_diag,但未来可能会改变。如果你依赖于确切的行为,请明确选择一个初始化方法。

  • adapt_diag: 从单位质量矩阵开始,然后根据调整样本的方差自适应对角线。所有链使用测试值(通常是先验均值)作为起点。

  • jitter+adapt_diag: 与 adapt_diag 相同,但在每个链中使用测试值加上一个在 [-1, 1] 范围内的均匀抖动作为起始点。

  • jitter+adapt_diag_grad: 一种实验性的初始化方法,在调优过程中使用梯度和样本信息。

  • advi+adapt_diag: 运行 ADVI,然后根据调优样本的样本方差调整生成的对角质量矩阵。

  • advi: 运行 ADVI 以估计后验均值和对角质量矩阵。

  • advi_map: 使用MAP初始化ADVI,并将MAP作为起点。

  • map: 使用 MAP 作为起点。不推荐这样做。

  • adapt_full: 使用样本协方差来适应密集的质量矩阵。所有链都使用测试值(通常是先验均值)作为起点。

  • jitter+adapt_full: 与 adapt_full 相同,但在每个链中使用测试值加上均匀分布的抖动 [-1, 1] 作为起始点。

: intint

要启动的作业数量。

initvals可选的,

字典或字典列表,包含初始值,用于替代 Model.initial_values 中的默认值。键应为转换后的随机变量的名称。

n_initint

初始化器的迭代次数。仅适用于 ‘ADVI’ 初始化方法。

model模型(如果已在上下文中,则为可选)
random_seedpython:int, numpy:array_like of python:int, RandomState 或 Generator, 可选

随机数生成器的种子。

progressbar : 布尔值布尔

是否为 advi 采样显示进度条。

jitter_max_retriesint

创建初始矩阵时(每个链)的最大重复尝试次数,该矩阵具有均匀抖动并产生有限概率。这适用于 jitter+adapt_diagjitter+adapt_full 初始化方法。

**kwargs关键字参数

额外的关键字参数被传递给 pymc.NUTS。

返回:
initial_pointslist

每个链的起点。

nuts_samplerpymc.step_methods.NUTS

实例化并初始化的NUTS采样器对象