pymc.Empirical#

class pymc.Empirical(trace=None, size=None, **kwargs)[源代码]#

单组满秩近似

从给定的轨迹构建近似实例,它具有与变分近似相同的接口

方法

Empirical.__init__([trace, size])

Empirical.collect(item)

Empirical.evaluate_over_trace(node)

允许对轨迹上的任何符号表达式进行静态评估。

Empirical.get_optimization_replacements(s, d)

Dev - 对 logP 的优化。

Empirical.make_size_and_deterministic_replacements(s, d)

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

Empirical.rslice(name)

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

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

从变分后验中抽取样本。

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

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

Empirical.set_size_and_deterministic(node, s, d)

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

Empirical.symbolic_sample_over_posterior(node)

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

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

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

Empirical.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

开发 - 对于单个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

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

varlogp_norm

Dev - 归一化的 \(E_{q}(先验项)\)