jueves, 25 de enero de 2018

Regresión logística bayesiana con priors Cauchy usando el prefijo bayes.

"Regresión logística bayesiana con priors Cauchy usando el prefijo bayes"
Artículo original publicado por Nikolay Balov - Estadístico Senior y Desarrollador de Software.

Introducción
Stata 15 proporciona una forma conveniente y elegante de ajustar modelos de regresión bayesianos simplemente prefijando el comando de estimación con bayes. Puedes elegir entre 45 comandos de estimación permitidos. Todas las características bayesianas existentes en Stata son compatibles con el nuevo prefijo bayes. Puedes usar los priors predeterminados para los parámetros del modelo o seleccionar entre diversas distribuciones prior. Demostraré el uso del prefijo bayes para ajustar un modelo de regresión logística bayesiano y exploraré el uso de los priors Cauchy (disponibles a partir de la actualización del 20 de julio de 2017) para los coeficientes de regresión.

Un problema común para los practicantes Bayesianos es la elección de priors para los coeficientes de un modelo de regresión. El enfoque conservador de especificar priors difusos o no informativos se considera objetivo y guiado por los mismos datos, pero está en desacuerdo con el paradigma bayesiano. Los priors no informativos también pueden ser insuficientes para resolver algunos problemas de regresión comunes, como el problema de separación en la regresión logística. Por otro lado, en ausencia de un fuerte conocimiento previo, no hay reglas generales para elegir priors informativos. En este artículo, sigo algunas recomendaciones de Gelman et al. (2008) para proporcionar priors Cauchy difusos para los coeficientes de modelos de regresión logística y demostrar cómo estos priors pueden ser especificados usando el comando de prefijo bayes.

Datos
Considero una versión del bien conocido conjunto de datos de Iris (Fisher 1936) que describe tres plantas de Iris utilizando sus formas de sépalo y pétalo. La variable binaria virg distingue la clase  Iris virginica de las Iris veriscolour e Iris setosa. Las variables  slen y swid describen la longitud y el ancho del sépalo. Las variables plen y pwid describen la longitud y el ancho del pétalo. Estas cuatro variables están estandarizadas, por lo que tienen una media de 0 y una desviación estándar de 0.5.

Utilizar variables estandarizadas como covariables en un modelo de regresión es recomendado por Gelman et al. (2008) para aplicar distribuciones prior comunes a los coeficientes de regresión. Este enfoque también es favorecido por otros investigadores, por ejemplo, Raftery (1996).


Con fines de validación, impido que la primera y última observación se usen en la estimación del modelo. Genero la variable indicadora touse que denotará la submuestra de estimación.

Modelos
Primero corro una regresión logística estándar con variable de resultado virg y predictores slen, swid, plen, y pwid.



El comando logit emite una nota de que algunas observaciones está completamente determinadas. Esto debido al hecho de que las covariables continuas, especialmente pwid, tienen muchos valores repetidos.


Luego ajusto un modelo de regresión logística bayesiano al prefijar el comando anterior con bayes. También especifico un seed generador de números aleatorios para la reproducibilidad.


Por defecto, prior normales con media 0 y desviación estándar 100 se usan para el intercepto y los coeficientes de regresión. Los prior normales predeterminados se proporcionan por conveniencia, por lo que los usuarios pueden ver las convenciones de nomenclatura de los parámetros para especificar sus propios prior. Los prior elegidos se seleccionan para ser poco no informativos pero pueden no serlo para parámetros con valores grandes.

El comando bayes: logit produce estimaciones que son mucho mayores en valor absoluto que las estimaciones correspondientes de máxima verosimilitud. Por ejemplo, la estimación media posterior para el coeficiente de la variable plen, {virg:plen}, es aproximadamente 60. Esto significa que un cambio unitario en plen produce un cambio de 60 unidades para el resultado en la escala logística, lo cual es muy grande. La estimación de máxima verosimilitud correspondiente es aproximadamente 33. Dado que los prior predeterminados son vagos, ¿podemos explicar esta diferencia? Veamos la distribución posterior de la muestra de los coeficientes de regresión. Dibujé los histogramas usando el comando bayesgraph histogram:




Bajo priors imprecisos, se espera que las modas posteriores estén cerca de los EMV. Todas las distribuciones posteriores están sesgadas. Por lo tanto, todas las medias muestrales posteriores son mucho más grandes que las modas posteriores en valor absoluto y son diferentes de los EMV.
Gelman et al. (2008) sugiere aplicar un prior Cauchy para los coeficientes de regresión cuando los datos están estandarizados de modo que todas las variables continuas tengan una desviación estándar de 0.5. Específicamente, usamos una escala de 10 para el intercepto y una escala de 2.5 para los coeficientes de regresión. Esta elección se basa en la observación de que dentro del cambio unitario de cada predictor, un resultado de cambio en 5 unidades en la escala logística moverá la probabilidad resultante de 0.01 a 0.05 y de 0.5 a 0.99.

Los prior Cauchy están centrados en 0, porque las covariables están centradas en 0.


Podemos usar bayesgraph diagnostics para verificar que no hay problemas de convergencia con el modelo, pero me salto este paso aquí.

La estimación de la media posterior en este modelo es aproximadamente tres veces más pequeña en valor absoluto que la del modelo con prior normal y está más cerca de las estimaciones de máxima verosimilitud. Por ejemplo, la estimación de la media posterior para {virg: plen} ahora es sólo alrededor de 21.

El logaritmo de verosimilitud marginal estimado del modelo, -18.7, es mayor que aquel del modelo con el prior normal predeterminado, -20.6, lo cual indica que el modelo con prior independiente Cauchy se ajusta mejor a los datos.


Predicciones
Ahora que estamos satisfechos con nuestro modelo, podemos realizar algunas postestimaciones. Todas las funciones bayesianas de postestimación funcionan después del prefijo bayes del mismo modo que lo hacen después del comando bayesmh

A continuación, muestro ejemplos de cómo obtener predicciones fuera de la muestra. Supongamos que queremos hacer predicciones para la primera y la última observación en nuestro conjunto de datos, los cuales no se usaron para ajustar el modelo. La primera observación no es de la clase Iris virginica, pero la última sí lo es.



Podemos usar el comando bayesstat summary para predecir la clase resultante al aplicar la transformación invlogit() a la combinación lineal deseada de predictores.


La probabilidad media posterior para la primera observación que pertenece a la clase Iris virginica se estimada en esencialmente cero, 7.3e-10. En contraste, la probabilidad estimada para la última observación es aproximadamente 0.91. Ambas predicciones concuerdan con las clases observadas.


La base de datos usada en esta publicación está disponible aquí: irisstd.dta

----------------------------------------------------
Referencias
Gelman, A., A. Jakulin, M. G. Pittau, and Y.-S. Su. 2008. A weakly informative default prior distribution for logistic and other regression models. Annals of Applied Statistics 2: 1360–1383.
Fisher, R. A. 1936. The use of multiple measurements in taxonomic problems. Annals of Eugenics7: 179–188.

Raftery, A. E. 1996. Approximate Bayes factors and accounting for model uncertainty in generalized linear models. Biometrika 83: 251–266.

¡Gracias por visitar nuestro Blog! A continuación otras ligas de tu interés:



Este blog es administrado por MultiON Consulting S.A. de C.V.

1 comentario:

  1. Si la variable dependiente tiene más de dos categorías, entonces debe de emplearse la regresión logística multinomial. La regresión logistica binaria no aplica.

    ResponderBorrar