pymc.model.transform.conditioning.observe#
- pymc.model.transform.conditioning.observe(model, vars_to_observations)[source]#
Convert free RVs or Deterministics to observed RVs.
- Parameters:
- model: PyMC Model
- vars_to_observations: Dict of variable or name to TensorLike
Dictionary that maps model variables (or names) to observed values. Observed values must have a shape and data type that is compatible with the original model variable.
- Returns:
- new_model:
PyMC
model
A distinct PyMC model with the relevant variables observed. All remaining variables are cloned and can be retrieved via new_model[“var_name”].
- new_model:
Examples
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})
Deterministic variables can also be observed. This relies on PyMC ability to infer the logp of the underlying expression
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]})