pymc.近似#

class pymc.Approximation(groups, model=None)[源代码]#

分组近似的包装器

包装组列表,创建一个 Approximation 实例,该实例收集所有组中的采样变量,同时收集显式变分推断所需的 logQ。

参数:
groups: list[Group]

列表的 Group 实例。它们应该包含所有模型变量

模型: 模型

参见

注释

一些用于单组近似的快捷方式是可用的:

方法

Approximation.__init__(groups[, model])

Approximation.collect(item)

Approximation.get_optimization_replacements(s, d)

Dev - 对 logP 的优化。

Approximation.make_size_and_deterministic_replacements(s, d)

Dev - 根据样本大小和确定性标志创建正确的替换

Approximation.rslice(name)

Dev - 为命名随机变量进行矢量化采样,无需调用 pytensor.scan

Approximation.sample([draws, random_seed, ...])

从变分后验中抽取样本。

Approximation.sample_node(node[, size, ...])

给定的节点或节点在共享的后验分布上采样

Approximation.set_size_and_deterministic(...)

Dev - 在通过 symbolic_sample_over_posterior()symbolic_single_sample() 对节点进行采样后,可以分配并应用新的随机生成器到节点

Approximation.symbolic_sample_over_posterior(node)

Dev - 每次从后验分布中独立采样,对节点进行采样。

Approximation.symbolic_single_sample(node[, ...])

Dev - 从后验分布中对节点应用单个样本进行采样。

Approximation.to_flat_input(node[, ...])

Dev - 用存储在 self.inputs 中的扁平视图替换变量

属性

all_histograms

any_histograms

datalogp

Dev - 通过 pytensor.scan 计算模型中的 \(E_{q}(data term)\),该计算可以在之后进行优化

datalogp_norm

开发 - 标准化 \(E_{q}(数据项)\)

ddim

has_logq

inputs

joint_histogram

logp

开发 - 通过 pytensor.scan 从模型中计算 \(E_{q}(logP)\),该计算可以在之后进行优化

logp_norm

Dev - 归一化的 \(E_{q}(logP)\)

logq

开发 - 收集所有组的 logQ

logq_norm

开发 - 收集所有组的 logQ 并对其进行归一化

ndim

params

replacements

Dev - 从组中替换 PyMC 随机变量为近似的所有替换

sample_dict_fn

scale_cost_to_minibatch

Dev - 控制缩放成本到小批量的属性

single_symbolic_datalogp

开发 - 对于单个 MC 样本估计 \(E_{q}(数据项)\),不需要 pytensor.scan,代码可以优化

single_symbolic_logp

Dev - 对于单个MC样本估计 \(E_{q}(logP)\),不需要 pytensor.scan,代码可以优化

single_symbolic_varlogp

Dev - 对于单个MC样本估计 \(E_{q}(prior term)\) ,不需要使用 pytensor.scan ,代码可以优化

sized_symbolic_datalogp

Dev - 通过 pytensor.scan 从模型中计算采样数据项

sized_symbolic_logp

Dev - 通过 pytensor.scan 从模型计算采样的 logP

sized_symbolic_varlogp

Dev - 通过 pytensor.scan 计算模型中的采样先验项

symbolic_logq

开发 - 收集所有组的 symbolic_logq

symbolic_normalizing_constant

Dev - 用于 self.logq 的归一化常数,将其缩放到 minibatch_size 而不是 total_size

symbolic_random

symbolic_randoms

varlogp

Dev - 通过 pytensor.scan 计算模型中的 \(E_{q}(prior term)\),该计算可以在之后进行优化

varlogp_norm

Dev - 标准化 \(E_{q}(prior term)\)