pymc.model.transform.conditioning.observe#
- pymc.model.transform.conditioning.observe(model, vars_to_observations)[源代码]#
将自由随机变量或确定性变量转换为观测随机变量。
- 参数:
- 模型: PyMC 模型
- vars_to_observations: 变量或名称到 TensorLike 的字典
将模型变量(或名称)映射到观测值的字典。观测值必须具有与原始模型变量兼容的形状和数据类型。
- 返回:
- new_model:
PyMC
model
一个具有相关变量观测的独立 PyMC 模型。所有剩余变量都被克隆,并且可以通过 new_model[“var_name”] 获取。
- new_model:
示例
import pymc as pm with pm.Model() as m: x = pm.Normal("x") y = pm.Normal("y", x) z = pm.Normal("z", y) m_new = pm.observe(m, {y: 0.5})
确定性变量也可以被观察。这依赖于 PyMC 推断底层表达式对数概率的能力。
import pymc as pm with pm.Model() as m: x = pm.Normal("x") y = pm.Normal.dist(x, shape=(5,)) y_censored = pm.Deterministic("y_censored", pm.math.clip(y, -1, 1)) new_m = pm.observe(m, {y_censored: [0.9, 0.5, 0.3, 1, 1]})