varianza uniforme funcion exponencial estandar estadistica distribución distribucion desviacion densidad cuadrado correlaciones con chi python bayesian mcmc pymc

python - uniforme - ¿Cómo representa pymc la distribución previa y la función de probabilidad?



funcion de densidad python (1)

Para representar lo anterior, necesita una instancia de la clase estocástica, que tiene dos atributos principales:

value : the variable''s current value logp : the log probability of the variable''s current value given the values of its parents

Puede inicializar un previo con el nombre de la distribución que está utilizando.

Para representar la probabilidad, necesita un llamado estocástico de datos. Es decir, una instancia de la clase Estocástica cuya bandera observed se establece en True . El valor de esta variable no se puede cambiar y no se muestreará. Nuevamente, puede inicializar la probabilidad con el nombre de la distribución que está utilizando (pero no olvide establecer la observed en True ).

Digamos que tenemos la siguiente configuración:

import pymc as pm import numpy as np import theano.tensor as t x = np.array([1,2,3,4,5,6]) y = np.array([0,1,0,1,1,1])

Podemos ejecutar una regresión logística simple con lo siguiente:

with pm.Model() as model: #Priors b0 = pm.Normal("b0", mu=0, tau=1e-6) b1 = pm.Normal("b1", mu=0, tau=1e-6) #Likelihood z = b0 + b1 * x yhat = pm.Bernoulli("yhat", 1 / (1 + t.exp(-z)), observed=y) # Sample from the posterior trace = pm.sample(10000, pm.Metropolis())

La mayoría de los anteriores provienen del cuaderno iPython de Chris Fonnesbeck here .

Si pymc implementa el algoritmo Metropolis-Hastings para obtener muestras de la densidad posterior sobre los parámetros de interés, entonces para decidir si pasar al siguiente estado en la cadena de Markov, debe ser capaz de evaluar algo proporcional al posterior. Densidad para todos los valores de parámetros dados.

La densidad posterior es proporcional a la función de probabilidad basada en los datos observados por la densidad previa.

¿Cómo se representan cada uno de estos dentro de pymc? ¿Cómo calcula cada una de estas cantidades del objeto modelo?

Me pregunto si alguien puede darme una descripción de alto nivel del enfoque o indicarme dónde puedo encontrarlo.