pymc.find_MAP#
- pymc.find_MAP(start=None, vars=None, method='L-BFGS-B', return_raw=False, include_transformed=True, progressbar=True, maxeval=5000, model=None, *args, seed=None, **kwargs)[源代码]#
在给定模型的情况下,找到局部最大后验点。
find_MAP 不应该用于初始化 NUTS 采样器。只需调用
pymc.sample()
,它将自动以更好的方式初始化 NUTS。- 参数:
- start: 参数值的 `dict` (默认为 `model.initial_point`)
这些值将被固定,并用于任何未被优化的自由随机变量。
- vars: TensorVariable 列表
用于优化后验的自由随机变量列表。默认为模型中所有连续的随机变量。相应的值变量也可以传递。
- 方法: 字符串或可调用对象, 可选
优化算法。默认为 ‘L-BFGS-B’,除非在 vars 中指定了离散变量,此时将使用 Powell,它将表现更好。有关使用可调用对象的说明,请参阅 SciPy 的 optimize.minimize 文档。
- return_raw: bool, 可选,默认为 False
是否返回 scipy.optimize.minimize 的完整输出
- include_transformed: bool, 可选,默认为 True
用于报告自动无约束转换值以及约束值的标志
- progressbar: bool, 可选,默认为 True
是否在命令行中显示进度条。
- maxeval: int, 可选, 默认为 5000
后验分布被评估的最大次数。
- model: 模型 (如果处于 `with` 上下文中,则为可选)
- *args, **kwargs
传递给 scipy.optimize.minimize 的额外参数
注释
旧的代码示例使用 find_MAP 来初始化 NUTS 采样器,但这并不是为采样选择起始值的有效方法。因此,我们大大增强了 NUTS 的初始化,并将其封装在
pymc.sample()
内部,因此您应避免使用此方法。