En probabilidad y estadística , la estimación de densidad es la construcción de una estimación , basada en datos observados , de una función de densidad de probabilidad subyacente no observable . La función de densidad no observable se considera la densidad según la cual se distribuye una gran población; los datos generalmente se consideran una muestra aleatoria de esa población.
Se utilizan una variedad de enfoques para la estimación de densidad, incluidas las ventanas Parzen y una variedad de técnicas de agrupación de datos , incluida la cuantificación vectorial . La forma más básica de estimación de densidad es un histograma reescalado .
Ejemplo de estimación de densidad
Consideraremos los registros de la incidencia de diabetes . Lo siguiente se cita literalmente de la descripción del conjunto de datos :
- Una población de mujeres que tenían al menos 21 años, de ascendencia indígena Pima y que vivían cerca de Phoenix, Arizona, se sometió a pruebas de diabetes mellitus de acuerdo con los criterios de la Organización Mundial de la Salud . Los datos fueron recopilados por el Instituto Nacional de Diabetes y Enfermedades Digestivas y Renales de EE. UU. Usamos los 532 registros completos. [1] [2]
En este ejemplo, construimos tres estimaciones de densidad para "glu" ( concentración de glucosa en plasma ), una condicionada a la presencia de diabetes, la segunda condicionada a la ausencia de diabetes y la tercera no condicionada a la diabetes. Las estimaciones de densidad condicional se utilizan luego para construir la probabilidad de diabetes condicionada a "glu".
Los datos "glu" se obtuvieron del paquete MASS [3] de la lenguaje de programación R . Dentro de R, ?Pima.tr
y ?Pima.te
dé una descripción más completa de los datos.
La media de "glu" en los casos de diabetes es 143,1 y la desviación estándar es 31,26. La media de "glu" en los casos sin diabetes es 110,0 y la desviación estándar es 24,29. A partir de esto, vemos que, en este conjunto de datos, los casos de diabetes se asocian con mayores niveles de "glu". Esto se aclarará con los gráficos de las funciones de densidad estimadas.
La primera figura muestra estimaciones de densidad de p (glu | diabetes = 1), p (glu | diabetes = 0) y p (glu). Las estimaciones de densidad son estimaciones de densidad de kernel utilizando un kernel gaussiano. Es decir, se coloca una función de densidad gaussiana en cada punto de datos y la suma de las funciones de densidad se calcula sobre el rango de los datos.
A partir de la densidad de "glu" condicionada a la diabetes, podemos obtener la probabilidad de diabetes condicionada a "glu" mediante la regla de Bayes . Para abreviar, "diabetes" se abrevia "db". en esta fórmula.
La segunda figura muestra la probabilidad posterior estimada p (diabetes = 1 | glu). A partir de estos datos, parece que un mayor nivel de "glu" está asociado con la diabetes.
Script por ejemplo
Los siguientes comandos R crearán las figuras que se muestran arriba. Estos comandos se pueden ingresar en la línea de comandos usando cortar y pegar.
biblioteca ( MASA ) de datos ( Pima.tr ) de datos ( Pima.te )Pima <- rbind ( Pima.tr , Pima.te ) glu <- Pima [, 'glu' ]d0 <- Pima [, 'tipo' ] == 'No' d1 <- Pima [, 'tipo' ] == 'Sí' tasa base.d1 <- suma ( d1 ) / ( suma ( d1 ) + suma ( d0 ))glu.density <- densidad ( glu ) glu.d0.density <- densidad ( glu [ d0 ]) glu.d1.density <- densidad ( glu [ d1 ])glu.d0.f <- approxfun ( glu.d0.densidad $ x , glu.d0.densidad $ y ) glu.d1.f <- approxfun ( glu.d1.densidad $ x , glu.d1.densidad $ y )pdgiven.glu <- función ( glu , base.rate.d1 ) { p1 <- glu.d1.f ( glu ) * base.rate.d1 p0 <- glu.d0.f ( glu ) * ( 1 - base. tasa.d1 ) p1 / ( p0 + p1 ) }x <- 1 : 250 y <- pdgiven.glu ( x , base.rate.d1 ) plot ( x , y , type = 'l' , col = 'red' , xlab = 'glu' , ylab = 'p estimada (diabetes | glu) ' )plot ( densidad ( glu [ d0 ]), col = 'blue' , xlab = 'glu' , ylab = 'estimar p (glu), p (glu | diabetes), p (glu | not diabetes)' , main = NA ) líneas ( densidad ( glu [ d1 ]), col = 'rojo' )
Tenga en cuenta que el estimador de densidad condicional anterior utiliza anchos de banda que son óptimos para densidades incondicionales. Alternativamente, se podría utilizar el método de Hall, Racine y Li (2004) [4] y el paquete R np [5] para la selección automática (basada en datos) de ancho de banda que es óptimo para estimaciones de densidad condicional; vea la viñeta np [6] para una introducción al paquete np. Los siguientes comandos R utilizan la npcdens()
función para ofrecer un suavizado óptimo. Tenga en cuenta que la respuesta "Sí" / "No" es un factor.
biblioteca ( np )fy.x <- npcdens ( tipo ~ glu , nmulti = 1 , data = Pima )Pima.eval <- data.frame ( type = factor ( "Sí" ), glu = seq ( min ( Pima $ glu ), max ( Pima $ glu ), length = 250 )) plot ( x , y , type = 'l' , lty = 2 , col = 'red' , xlab = 'glu' , ylab = 'estimada p (diabetes | glu)' ) líneas ( Pima.eval $ glu , predict ( fy.x , newdata = Pima.eval ), col = "azul" ) leyenda ( 0 , 1 , c ( "Ancho de banda incondicional" , "Ancho de banda condicional" ), col = c ( "rojo" , "azul" ), lty = c ( 2 , 1 ))
La tercera figura utiliza un suavizado óptimo mediante el método de Hall, Racine y Li [4], lo que indica que el ancho de banda de densidad incondicional utilizado en la segunda figura anterior produce una estimación de densidad condicional que puede estar algo subestimada.
Aplicación y finalidad
Un uso muy natural de las estimaciones de densidad es la investigación informal de las propiedades de un conjunto de datos dado. Las estimaciones de densidad pueden proporcionar una valiosa indicación de características como la asimetría y la multimodalidad en los datos. En algunos casos, arrojarán conclusiones que luego pueden considerarse evidentemente verdaderas, mientras que en otros todo lo que harán es señalar el camino hacia un mayor análisis y / o recopilación de datos. [7]
Un aspecto importante de las estadísticas es a menudo la presentación de datos al cliente para proporcionar una explicación e ilustración de las conclusiones que posiblemente se hayan obtenido por otros medios. Las estimaciones de densidad son ideales para este propósito, por la sencilla razón de que son fácilmente comprensibles para los no matemáticos.
Más ejemplos que ilustran el uso de estimaciones de densidad con fines exploratorios y de presentación, incluido el caso importante de los datos bivariados. [9]
La estimación de la densidad también se utiliza con frecuencia en la detección de anomalías o la detección de novedades : [10] si una observación se encuentra en una región de muy baja densidad, es probable que sea una anomalía o una novedad.
- En hidrología, el histograma y la función de densidad estimada de los datos de precipitación y descarga de ríos, analizados con una distribución de probabilidad , se utilizan para comprender mejor su comportamiento y frecuencia de ocurrencia. [11] Se muestra un ejemplo en la figura azul.
Ver también
- Estimación de la densidad de kernel
- Error cuadrático integrado medio
- Histograma
- Estimación de densidad de kernel multivariante
- Estimación de densidad espectral
- Incrustación de distribuciones en el kernel
- Modelo generativo
- Aplicación de estadísticas de pedidos: estimación de densidad no paramétrica
- Ajuste de distribución de probabilidad
Referencias
- ^ "Diabetes en mujeres indias Pima - documentación R" .
- ^ Smith, JW, Everhart, JE, Dickson, WC, Knowler, WC y Johannes, RS (1988). RA Greenes (ed.). "Utilizando el algoritmo de aprendizaje ADAP para pronosticar la aparición de diabetes mellitus" . Actas del Simposio sobre aplicaciones informáticas en la atención médica (Washington, 1988) . Los Alamitos, CA: 261–265. PMC 2245318 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ "Funciones de soporte y conjuntos de datos para Venables y Ripley's MASS" .
- ^ a b Peter Hall; Jeffrey S. Racine; Qi Li (2004). "Validación cruzada y estimación de densidades de probabilidad condicional" . Revista de la Asociación Estadounidense de Estadística . 99 (468): 1015–1026. CiteSeerX 10.1.1.217.93 . doi : 10.1198 / 016214504000000548 .
- ^ "El paquete np: un paquete R que proporciona una variedad de métodos de kernel no paramétricos y semiparamétricos que manejan sin problemas una combinación de tipos de datos de factores continuos, desordenados y ordenados" .
- ^ Tristen Hayfield; Jeffrey S. Racine. "El paquete np" (PDF) .
- ^ Silverman, BW (1986). Estimación de densidad para estadísticas y análisis de datos . Chapman y Hall. ISBN 978-0412246203.
- ^ Una calculadora para distribuciones de probabilidad y funciones de densidad
- ^ Geof H., Givens (2013). Estadística computacional. Wiley. pag. 330. ISBN 978-0-470-53331-4 .
- ^ Pimentel, Marco AF; Clifton, David A .; Clifton, Lei; Tarassenko, Lionel (2 de enero de 2014). "Una revisión de la detección de novedades". Procesamiento de señales . 99 (junio de 2014): 215–249. doi : 10.1016 / j.sigpro.2013.12.026 .
- ^ Una ilustración de histogramas y funciones de densidad de probabilidad
Fuentes
- Brian D. Ripley (1996). Reconocimiento de patrones y redes neuronales . Cambridge: Cambridge University Press. ISBN 978-0521460866.
- Trevor Hastie , Robert Tibshirani y Jerome Friedman. Los elementos del aprendizaje estadístico . Nueva York: Springer, 2001. ISBN 0-387-95284-5 . (Vea el Capítulo 6.)
- Qi Li y Jeffrey S. Racine. Econometría no paramétrica: teoría y práctica . Prensa de la Universidad de Princeton, 2007, ISBN 0-691-12161-3 . (Vea el Capítulo 1.)
- DW Scott. Estimación de densidad multivariante. Teoría, práctica y visualización . Nueva York: Wiley, 1992.
- BW Silverman . Estimación de densidad . Londres: Chapman y Hall, 1986. ISBN 978-0-412-24620-3
enlaces externos
- CREEM: Centro de Investigación en Modelado Ecológico y Ambiental Descargas para paquetes de software de estimación de densidad gratuitos Distancia 4 (de la Unidad de Investigación para Evaluación de Poblaciones de Vida Silvestre "RUWPA") y WiSP .
- Resumen del contenido del repositorio de aprendizaje automático de la UCI (consulte la "Base de datos de diabetes de los indios Pima" para obtener el conjunto de datos original de 732 registros y notas adicionales).
- Código MATLAB para la estimación de densidad unidimensional y bidimensional
- Software libAGF C ++ para estimación de densidad de kernel variable .