Antecedentes : tengo un doctorado en psicología social, donde las estadísticas teóricas y las matemáticas apenas se cubrieron en mi curso cuantitativo. En la escuela de pregrado y posgrado, me enseñaron (al igual que muchos de ustedes también en ciencias sociales, probablemente) a través del marco frecuentista "clásico". Ahora, también me encanta R y el uso de métodos de simulación para verificar que los métodos de trabajo hace caminomás sentido para mí que las pruebas matemáticas (de nuevo: antecedentes en una ciencia social cuantitativa, no estadísticas teóricas). Los métodos frecuentes y los métodos de simulación juntos tienen mucho sentido para mí. Debido a que los frecuentas ven la probabilidad como probabilidades a largo plazo (p. Ej., Si hago esto un número arbitrariamente grande de veces, y ocurre el 50% del tiempo, entonces hay una probabilidad del 50%). ¡Podemos simular este largo plazo con los métodos de Monte Carlo!
Complicaciones : desde la licenciatura, he sido muy consciente de los métodos bayesianos, y siempre ha habido personas en mi vida que me han llamado al lado bayesiano, diciendo que los resultados fueron más fáciles de interpretar, que tenemos probabilidad de una hipótesis en lugar de los datos. dada una hipótesis, etc. Me gustó mucho esto y tomé una clase bayesiana, leí algunos libros y documentos bayesianos, y ahora estoy bastante familiarizado con Stan y sus paquetes de R asociados.
Ingrese Mayo : Después de pensar "Bayesian es probablemente el camino del futuro" por un tiempo, leí la Inferencia estadística de Deborah Mayo como Pruebas severas . Ella dice que no elige un lado al comienzo del libro, pero lo hace: es una frecuentista, y gran parte del libro defiende las metodologías frecuentistas. No quiero necesariamente discutir si creemos que la forma en que ve la evidencia es válida, pero esto me hizo pensar: ¿Bayes es realmente todo lo que se anuncia? Quiero decir, la multitud de Bayes está tan fracturada que ni siquiera conozco la forma "correcta" de analizar los datos en un marco bayesiano a menudo. Por lo general, solo usaríarstanarm
y estimaciones puntuales actuales e intervalos creíbles ... que a menudo se alinean estrechamente con estimaciones frecuentes e intervalos de confianza. Podría hacer comparaciones de modelos, pero siempre tengo miedo de describir los factores de Bayes como comparaciones de probabilidad posterior, etc.
Más reflexión : Lo que seguía pensando en el libro de Mayo era: hay una forma en que podemos usar las computadoras para asegurarnos de que nuestros métodos frecuentas funcionan, porque la probabilidad es lo que vemos a largo plazo y podemos simular eso. Los bayesianos ni siquiera pueden ponerse de acuerdo sobre qué probabilidad es realmente, según la escuela bayesiana (por defecto, subjetiva, etc.). Lo cual me lleva a mi pregunta:
Pregunta : ¿Cómo verifican los bayesianos que sus métodos definen adecuadamente la incertidumbre (es decir, calculan intervalos válidos creíbles y distribuciones posteriores) utilizando métodos de simulación de Monte Carlo, si la probabilidad no se define como tasas a largo plazo?
Ejemplo : creo un generador de datos. Esto solo se simulará a partir de una distribución de Bernoulli con una probabilidad de .5:
set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
rbinom(n, 1, p)
}
Ahora, digamos que quiero asegurarme de que los intervalos de confianza en una regresión logística sean realmente válidos. Puedo simular una regresión muchas veces y asegurarme de que el valor real de la población cae en el intervalo de confianza del 95% el 95% del tiempo. Es un modelo de solo intercepción, así que solo quiero asegurarme de que estoy estimando p
correctamente:
set.seed(1839)
iter <- 10000
results <- sapply(seq_len(iter), function(zzz) {
mod <- glm(gen_dat(n, p) ~ 1, binomial)
conf <- suppressMessages(confint(mod))
log(p / (1 - p)) < max(conf) & log(p / (1 - p)) > min(conf)
})
mean(results)
Esto tarda unos minutos en ejecutarse, pero terminamos con la mean(results)
llamada que nos da 0.9416
. Esto es aproximadamente el 95%, y estoy seguro de decir que el glm
comando describe la incertidumbre de una manera válida. Estoy seguro de que se habría acercado a la nariz al 95% si hubiera subido iter
y quisiera esperar más tiempo en mi computadora portátil.
Por otro lado, ajustemos un modelo bayesiano para lo mismo:
library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)
En parte, esto me da:
Estimates:
mean sd 2.5% 25% 50% 75% 97.5%
(Intercept) -0.1 0.2 -0.5 -0.2 -0.1 0.0 0.3
mean_PPD 0.5 0.1 0.3 0.4 0.5 0.5 0.6
log-posterior -73.0 0.7 -75.1 -73.1 -72.7 -72.5 -72.5
Dado que los bayesianos no definen la probabilidad como lo que vemos a largo plazo, ¿cómo puedo usar métodos de simulación para verificar que stan_glm
captura la incertidumbre con precisión? Es decir, ¿cómo podría confiar en que estos intervalos creíbles son válidos, utilizando métodos de simulación? Y en este momento, ni siquiera estoy definiendo un prior: ¿cómo entra en juego la inclusión de los prior, ya que eso afectará nuestras medidas de incertidumbre?
Cuando intentaba escribir una regresión beta con un componente de modelo de obstáculo en Stan desde cero una vez, alguien me recomendó: "Simule datos. Hágalo varias veces, y las estimaciones verdaderas deberían estar en el intervalo creíble alrededor de 95 % del tiempo." Pero para mí, ¡eso va en contra de lo que creen los bayesianos! ¡Eso se basa en interpretaciones frecuentes de probabilidad! Entonces, ¿cómo podría convencerme un bayesiano de que el intervalo creíble que recibo de la summary()
llamada a mi modelo describe con precisión la incertidumbre, utilizando métodos de simulación?
Propósito de la pregunta : Este es un ejemplo trivial, pero muchas veces los clientes me presentan problemas difíciles. Y pruebo cosas con las que no estoy familiarizado, así que a menudo realizo un estudio de simulación para asegurarme de que lo que estoy haciendo sea válido. Si tuviera que escribir un modelo personalizado en Stan, ¿cómo sabría que lo que estoy haciendo es legítimo? ¿Cómo podría usar métodos de simulación para verificar que lo que estoy haciendo en Stan realmente me dirá lo que quiero saber?
fuente
Respuestas:
Creo que ves el problema lógico en tu pregunta. En el paradigma frecuentista, está bien suponer una verdad de la población, generar datos y ver si las estimaciones tienen una buena cobertura, porque eso es lo que se supone que deben hacer. En el paradigma bayesiano, sin embargo, ¡no hay una verdad fundamental para generar datos! Los bayesianos preguntan la probabilidad de que tales verdades proporcionen datos, por lo que en la simulación necesitamos verdades diferentes que den lugar a los datos y luego condicionen los datos. En la práctica, uno termina simulando la ley de probabilidad condicional, que, afortunadamente, siempre se cumple por definición. Abordo este tema exacto en Rouder, 2014, Psychonomic Bulletin and Review. https://dx.doi.org/10.3758/s13423-014-0595-4
fuente
Creo que la confusión aquí es sobre el propósito de los métodos de simulación en las estadísticas bayesianas. El único propósito de los métodos de Markov Chain Monte Carlo como Gibbs Sampling o Hamiltonian Monte Carlo es calcular el denominador de la regla de Bayes.
Por supuesto, a menudo hay otros métodos disponibles que harían innecesario MCMC. Algunos modelos se pueden expresar usando conjugación, otros mediante la aplicación de una grilla fina sobre el espacio de parámetros, mientras que otros se pueden resolver con pruebas de aceptación-rechazo. Cuando MCMC es útil es cuando la integral se porta mal.
La precisión de ese número determina algunas pero no todas las estimaciones de parámetros. Si estaba utilizando el estimador máximo a posteriori, entonces MCMC es un paso innecesario. Deberías construir un algoritmo de escalada en su lugar. Por otro lado, es necesario determinar la media posterior o un intervalo. Esto se debe a que el intervalo del 95% tiene que ser el 95% de algo y el denominador determina cuál es la escala de ese algo.
El objetivo de MCMC en metodologías bayesianas es lograr que las cadenas de Markov converjan a la densidad posterior. Eso es. No prueba la validez de nada. Es solo un intento de determinar un valor de punto fijo. Es una forma de integración numérica. Como no hay forma de saber sin dejar que el algoritmo se ejecute hasta el infinito si se han cubierto todas las regiones densas, existe cierto juicio humano. El algoritmo tendrá un límite cuando cree que está hecho, pero eso no significa que realmente esté hecho.
En las metodologías frequentistas, MCMC se usa a menudo para probar la razonabilidad de un modelo o para aproximar numéricamente una solución cuando no hay una analítica disponible. No sirve para nada similar aquí.
Esta pregunta es mucho más difícil. Stan es un algoritmo rápido, lo que significa que cambia la velocidad por un riesgo adicional de inexactitud. Stan, por construcción, más a menudo será correcto que incorrecto. Hay otros algoritmos diseñados para buscar en el espacio de parámetros ampliamente los máximos locales que pueden ser más precisos, pero que serán muy lentos.
Lo segundo que puede hacer es validarlo con un algoritmo alternativo. Los números nunca coincidirán, pero si los consideras lo suficientemente cercanos, entonces estás bien.
Tercero, la mayoría de los paquetes preconstruidos proporcionan advertencias de que algo puede estar mal. Si aparece una advertencia, use otra cosa después de investigar la fuente del problema, para no volver a crearla en otro algoritmo.
Quinto, y debe hacer esto antes de comenzar a Stan en primer lugar, graficar sus probabilidades marginales en una o dos dimensiones. ¿Hay sorpresas en algún lugar que puedan interferir con el algoritmo?
Si no define un previo, entonces su modelo no es válido. Si no está definiendo una densidad previa razonable, ¿por qué usaría un modelo bayesiano? Los modelos frecuentes minimizan el riesgo de la pérdida máxima que podría ocurrir al recolectar una muestra incorrecta. Son muy pesimistas y, a menudo, se necesita más información para producir el mismo resultado que un método bayesiano.
Sin embargo, eso no sirve de nada sin usar una buena densidad previa. La densidad previa permite que el método bayesiano minimice la pérdida promedio de elegir una muestra incorrecta. La información en el anterior actúa como un esquema de ponderación de modo que si se elige una muestra extrema por casualidad desafortunada, el anterior debilita el papel que juegan los datos.
EDITAR Me di cuenta de que no proporcioné una respuesta específica. Fue a la pregunta
Lo que hace que esta pregunta sea desafiante es que en el paradigma bayesiano los puntos fijos son, , la muestra. En los métodos Frequentist, los parámetros son fijos y se crean miles de muestras invisibles. En el lado bayesiano de la moneda, se fija la muestra. Necesita simular miles de universos paralelos.X
Para ver cómo puede ser eso, imagine todas las funciones de densidad de un lanzamiento de moneda con una probabilidad desconocida de ser caras y de ser colas. Observas seis cabezas y dos colas. Imagine un pequeño espacio de parámetros donde . Su simulación consideraría todos los casos en los que se podrían obtener seis cabezas sobre las tres distribuciones binomiales objetivas. El posterior sería el promedio ponderado de cada parámetro siendo el valor verdadero. Su distribución predictiva sería la suma de las distribuciones binomiales ponderadas.p 1−p p∈{1/3,1/2,2/3}
De importancia para usted, es imposible que la predicción bayesiana sea la verdadera distribución. Una de las tres distribuciones es la distribución verdadera. Los métodos bayesianos ponderan su probabilidad en función del valor observado y el anterior. El posterior nunca puede ser la distribución verdadera, ni la densidad predictiva.
Se pregunta "cuál es la probabilidad de ver seis caras y dos colas sobre el conjunto de todas las explicaciones posibles (parámetros, modelos, etc.)".
El Frecuentista afirmaría que una de las tres opciones era el verdadero valor al hacerla nula. Seis caras y dos colas falsificarían pero no las otras. Si, por casualidad, elige la correcta de las tres distribuciones, entonces está perfectamente correcto. De lo contrario, te equivocarás.H0:p=1/3,
Si usara simulaciones para mantener fija una muestra, descubriría que Stan funcionaría admirablemente ya que el teorema de Bayes es un teorema matemático. Es ex post óptimo. Todo lo que encontrará es que el algoritmo implementó correctamente el teorema de Bayes hasta el nivel de error natural al estimar el denominador.
Hay tres cosas que puedes hacer. Primero, puede usar métodos de puntuación de modelo para datos fuera de muestra. En segundo lugar, puede utilizar una selección de modelo bayesiano o un proceso de promedio de modelo. En tercer lugar, puede tratarlo como un problema frecuente y construir la distribución muestral de los estimadores.
Para el primero, los métodos de puntuación son toda una literatura en sí mismos. Deberías investigarlos. La selección del modelo bayesiano y el promedio del modelo tratan los modelos como parámetros. Para la selección del modelo, se calcula la probabilidad de que los modelos sean verdaderos. Para el modelo que promedia la probabilidad de que cada modelo sea verdadero, se calcula y eso sirve como ponderación sobre el espacio del modelo. Finalmente, puedes tratarlo como un modelo Frequentista.
El último será un problema en muchos casos estándar debido al anterior. Para modelos con tres o más dimensiones y una distribución normal, la densidad posterior no se integrará a la unidad si la densidad anterior no es una densidad adecuada. En otras palabras, debe morder la bala y elegir un prior para cualquier modelo con cualquier complejidad real.
La presencia de un previo correcto correctamente centrado obliga al caso en que el método bayesiano será superior al método frequentista correspondiente debido a la información mejorada. El método bayesiano ganará bajo cualquier estándar razonable. Eso no se debe a una falla en el método frequentista, pero el método bayesiano asume información exterior. El método Frequentist, al considerar solo la información de la muestra, tendrá menos información si tiene un previo real.
Nuevamente, si no tienes un previo real, ¿por qué estás usando un método bayesiano?
fuente