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 收敛和采样速度极大地依赖于质量/缩放矩阵的选择。此函数实现了不同的方法来选择或适应质量矩阵。
- 参数:
- init
str
要使用的初始化方法。
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] 作为起始点。
- 链 :
int
int
要启动的作业数量。
- initvals可选的,
字典或字典列表,包含初始值,用于替代 Model.initial_values 中的默认值。键应为转换后的随机变量的名称。
- n_init
int
初始化器的迭代次数。仅适用于 ‘ADVI’ 初始化方法。
- model模型(如果已在上下文中,则为可选)
- random_seedpython:int, numpy:array_like of python:int, RandomState 或 Generator, 可选
随机数生成器的种子。
- progressbar : 布尔值布尔
是否为 advi 采样显示进度条。
- jitter_max_retries
int
创建初始矩阵时(每个链)的最大重复尝试次数,该矩阵具有均匀抖动并产生有限概率。这适用于
jitter+adapt_diag
和jitter+adapt_full
初始化方法。- **kwargs关键字参数
额外的关键字参数被传递给 pymc.NUTS。
- init
- 返回:
- initial_points
list
每个链的起点。
- nuts_sampler
pymc.step_methods.NUTS
实例化并初始化的NUTS采样器对象
- initial_points