Aquí hay un ejemplo de estimación de una media, , a partir de datos continuos normales. Sin embargo, antes de profundizar directamente en un ejemplo, me gustaría revisar algunas de las matemáticas para los modelos de datos Bayesianos Normal-Normal.θ
Considere una muestra aleatoria de n valores continuos denotados por . Aquí el vector y = ( y 1 , . . . , Y n ) T representa los datos recogidos. El modelo de probabilidad para datos normales con varianza conocida y muestras independientes e idénticamente distribuidas (iid) esy1, . . . , ynortey= ( y1, . . . , ynorte)T
y1, . . . , ynorteEl | θ∼N( θ , σ2)
O como más típicamente escrito por Bayesian,
y1, . . . , ynorteEl | θ∼N( θ , τ)
τ= 1 / σ2τ
yyo
F( yyoEl | θ,τ) = (√τ2 π) × e x p ( - τ( yyo- θ )2/ 2 )
θ^= y¯
θ
θ ∼ N( a , 1 / b )
La distribución posterior que obtenemos de este modelo de datos Normal-Normal (después de mucho álgebra) es otra distribución Normal.
θ | y∼ N( bb + n τa + n τb + n τy¯, 1b + n τ)
La precisión posterior es y la media es una media ponderada entre una y ˉ y , bb + n τunay¯ .sib + n τa + n τb + n τy¯
θ | yθθ
Dicho esto, ahora puede usar cualquier ejemplo de libro de texto de datos normales para ilustrar esto. Usaré el conjunto de datos airquality
dentro de R. Considere el problema de estimar las velocidades promedio del viento (MPH).
> ## New York Air Quality Measurements
>
> help("airquality")
>
> ## Estimating average wind speeds
>
> wind = airquality$Wind
> hist(wind, col = "gray", border = "white", xlab = "Wind Speed (MPH)")
>
> n = length(wind)
> ybar = mean(wind)
> ybar
[1] 9.957516 ## "frequentist" estimate
> tau = 1/sd(wind)
>
>
> ## but based on some research, you felt avgerage wind speeds were closer to 12 mph
> ## but probably no greater than 15,
> ## then a potential prior would be N(12, 2)
>
> a = 12
> b = 2
>
> ## Your posterior would be N((1/))
>
> postmean = 1/(1 + n*tau) * a + n*tau/(1 + n*tau) * ybar
> postsd = 1/(1 + n*tau)
>
> set.seed(123)
> posterior_sample = rnorm(n = 10000, mean = postmean, sd = postsd)
> hist(posterior_sample, col = "gray", border = "white", xlab = "Wind Speed (MPH)")
> abline(v = median(posterior_sample))
> abline(v = ybar, lty = 3)
>
> median(posterior_sample)
[1] 10.00324
> quantile(x = posterior_sample, probs = c(0.025, 0.975)) ## confidence intervals
2.5% 97.5%
9.958984 10.047404
En este análisis, el investigador (usted) puede decir que, dados los datos + información previa, su estimación del viento promedio, usando el percentil 50, las velocidades deben ser 10.00324, mayor que simplemente usando el promedio de los datos. También obtiene una distribución completa, de la que puede extraer un intervalo creíble del 95% utilizando los cuantiles 2.5 y 97.5.
A continuación incluyo dos referencias, recomiendo leer el breve artículo de Casella. Está dirigido específicamente a los métodos empíricos de Bayes, pero explica la metodología general bayesiana para los modelos normales.
Referencias
Casella, G. (1985). Una introducción al análisis de datos empíricos de Bayes. El estadístico estadounidense, 39 (2), 83-87.
Gelman, A. (2004). Análisis de datos bayesianos (2ª ed., Textos en ciencia estadística). Boca Raton, Fla .: Chapman & Hall / CRC.