determinísticos_a_plano#
- pymc_marketing.model_graph.deterministics_to_flat(model, names)[fuente]#
Reemplace todos los nodos deterministas especificados en un pm.Model con Flat.
Esto es útil para capturar algún estado de un modelo y luego muestrear del modelo utilizando ese estado. Por ejemplo, capturando la media de una distribución o un valor de una variable determinista.
Vea
pymc_marketing.mmm.hsgp.SoftPlusHSGPpara un ejemplo de cómo se utiliza esto para mantener una variable centrada alrededor de 1.0 durante el muestreo, pero que permanezca continua con nuevos valores.- Parámetros:
- Devoluciones:
- nuevo_modelo :
pm.Modelpm.Model Nuevo modelo con todos los priors reemplazados por priors planos
- nuevo_modelo :
Ejemplos
Reemplace Determinista único por Plano y muestree como si fueran ceros.
import pymc as pm import numpy as np import xarray as xr from pymc_marketing.model_graph import deterministics_to_flat with pm.Model() as model: x = pm.Normal("x", mu=0, sigma=1) y = pm.Deterministic("y", x**2) z = pm.Deterministic("z", x + y) new_model = deterministics_to_flat(model, ["y"]) chains, draws = 2, 100 mock_posterior = xr.Dataset( { "y": (("chain", "draw"), np.zeros((chains, draws))), }, coords={"chain": np.arange(chains), "draw": np.arange(draws)}, ) x_z_given_y = pm.sample_posterior_predictive( mock_posterior, model=new_model, var_names=["x", "z"], ).posterior_predictive np.testing.assert_allclose( x_z_given_y["x"], x_z_given_y["z"], )