LogNormalPrior#

class pymc_marketing.special_priors.LogNormalPrior(dims=None, centered=True, **parameters)[fuente]#

Parámetro lognormal priorizado por la media y la desviación estándar de escala positiva.

Este prior difiere de la distribución estándar LogNormal, que utiliza parámetros en escala logarítmica (mu_log, sigma_log). En cambio, está parametrizado directamente en términos de la media y la desviación estándar (mean, std) en la escala positiva, lo que lo hace más intuitivo y adecuado para el modelado jerárquico.

Para lograr esto, los parámetros lognormales se calculan internamente a partir de los parámetros del dominio positivo:

\[\begin{split}\mu_{\text{log}} &= \ln \left( \frac{\text{mean}^2}{\sqrt{\text{mean}^2 + \text{std}^2}} \right) \\ \sigma_{\text{log}} &= \sqrt{ \ln \left( 1 + \frac{\text{std}^2}{\text{mean}^2} \right) }\end{split}\]

where \(\text{mean} > 0\) and \(\text{std} > 0\).

El anterior se define entonces como:

\[\phi \sim \text{LogNormal}(\mu_{\text{log}}, \sigma_{\text{log}})\]

This construction ensures that the resulting random variable has approximately the intended mean and variance on the positive scale, even when \(\text{mean}\) and \(\text{std}\) are themselves random variables.

Parámetros:
media : Prior, float, int, array_likePrevio, python:float, python:int, numpy:array_like

La media de la distribución en la escala positiva.

stdPrevio, python:float, python:int, numpy:array_like

La desviación estándar de la distribución en la escala positiva.

dims : tuple[str, …], opcionalpython:tuple[python:str, …], opcional

Las dimensiones de la distribución, por defecto None.

centrado : bool, opcionalbool, opcional

Si se debe utilizar la parametrización centrada, por defecto Verdadero.

Referencias

Ejemplos

Construya un modelo jerárquico no centrado donde la información se comparta entre grupos:

from pymc_marketing.special_priors import LogNormalPrior

prior = LogNormalPrior(
    mean=Prior("Gamma", mu=1.0, sigma=1.0),
    std=Prior("HalfNormal", sigma=1.0),
    dims=("geo",),
    centered=False,
)

Métodos

LogNormalPrior.__init__([dims, centrado])

LogNormalPrior.create_variable(name[, xdist])

Cree una variable a partir de la distribución anterior.

LogNormalPrior.from_dict(datos)

Create a SpecialPrior prior from a dictionary.

LogNormalPrior.sample_prior([coords, name])

Muestra de la distribución previa.

LogNormalPrior.to_dict()

Convert the SpecialPrior to a dictionary.