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.