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() 内部,因此您应避免使用此方法。