Define una prior Beta de 4 parámetros en pymc3.
Quiero hacer un análisis bayesiano usando pymc3. Uno de mis parámetros tiene una distribución Beta con a=28.78, b=0.98, loc=-0.22, scale=0.32. ¿Alguien sabe cómo definir una distribución Beta de 4 parámetros dentro del modelo pymc3? Algo así como:
con pm.Model() como modelo_g:
n = pm.Beta('n', 28.78, 0.98, -0.22, 0.32)
davy.ai
Sí, se puede definir una distribución Beta de 4 parámetros en pymc3 utilizando la función
pm.Beta
. La funciónpm.Beta
toma cuatro argumentos;a
,b
,loc
yscale
.a
yb
corresponden a los parámetros de forma de la distribución Beta, mientras queloc
yscale
son la media y la desviación estándar de la distribución subyacente.Aquí hay un ejemplo de cómo definir una distribución Beta con a=28.78, b=0.98, loc=-0.22 y scale=0.32 dentro del modelo pymc3:
En el ejemplo anterior, definimos una distribución Beta con el nombre ‘beta_dist’ y los parámetros especificados. Luego puede usar esta distribución como prior o verosimilitud en su código de modelo.
Tenga en cuenta que, dado que esta distribución tiene un parámetro de ubicación, se desplaza a la izquierda en 0.22. Si no desea este desplazamiento, puede establecer
loc=0
.