' Estimación de densidades basada $ en núcleos: algunos elementos básicos. Isabel Cañette Seminario de Reconocimiento de Patrones. Seminario de Probabilidad y Estadı́stica. Diciembre, 2002 & % Introducción. Decimos que una variable aleatoria X tiene densidad f , si P {a < X < b} = Z b a f (x) dx ∀a < b. Estimar una densidad es reconstruir dicha función f a partir de un conjunto de variables X1, . . . Xn con la misma distribución que X. • Estimación paramétrica: Si conocemos la distribución a la cuál pertenece f , (por ejemplo, gaussiana), entonces basta estimar los parámetros para tener una estimación de f . • Estimación no paramétrica: Se usa cuando no queremos asumir hipótesis sobre la distribución de nuestra muestra. Antecedentes y motivación. Histogramas. El estimador de densidades más sencillo (y más antiguo) es el histograma. Dado un punto x0 y un ancho de intervalo h, consideramos los intervalos: {[x0 + mh, x0 + (m + 1)h], m ∈ Z}, y luego, dado un punto x, fb(x) = 1 #{i : Xi está en el mismo intervalo que x} nh Estimador ”naive”. Por definición de densidad, tenemos que: 1 P {x − h < x < x + h}. h→0 2h Estimando P {x − h < x < x + h} con : f (x) = lim No. de Xi en [x − h, x + h] , n obtenemos: 1 b {No. de Xi en [x − h, x + h]}. f (x) = 2nh Histogramas de la duración de las erupciones del geyser Old Faithful, con 10, 20 y 35 intervalos respectivamente. 0.3 0.2 0.0 0.1 frecuencia Relativa 0.4 0.5 histograma para los datos del Old Faithful 1 2 3 4 5 Duracion de la erupcion 0.6 0.4 0.0 0.2 frecuencia Relativa 0.8 1.0 histograma para los datos del Old Faithful 1 2 3 4 5 Duracion de la erupcion 1.0 0.5 0.0 frecuencia Relativa 1.5 histograma para los datos del Old Faithful 1 2 3 Duracion de la erupcion 4 5 Estimaciones ’naive’ para datos con distribución normal tı́pica, para 50 y 500 datos respectivamente. 0.1 0.2 0.3 0.4 0.5 Estimador naive para la normal tipica, n = 50, h = 0.66 −2 −1 0 1 0.0 0.1 0.2 0.3 Estimador naive para la normal tipica, n = 500, h = 0.66 −2 0 2 4 El estimador ”naive” se puede expresar de la forma siguiente: sea la función w definida como: Entonces, 1/2 si |x| < 1 w(x) = 0 si no (1) n x − X X 1 i fb(x) = w . nh i=1 h Estimadores basados en núcleos (Akaike (54), Rosenblatt(56)). Podemos generalizar la definición anterior (del estimador ”naive”) sustituyendo w por una función R K tal que K = 1, es decir: n x − X X 1 i b . f (x) = K nh i=1 h fb es una función de densidad, y hereda la regularidad de K. ECM, ECMI, sesgo y varianza. Para cada x, consideramos el error cuadrático medio de nuestro estimador en x. 2 b ECM (x) = E f (x) − f (x) = 2 b b V ar(f (x)) + |E(f (x){z− f (x))} . B(fb(x)) Una medida global del error está dada por el error cuadrático medio integrado, es decir: ECM I = Z V ar(fb(x)) dx + Z B 2(fb(x)) dx. Si f tiene derivada segunda continua y acotada, y el núcleo K es simétrico y con 2do. momento finito, entonces: Z 1 2 b u2K(u) du f ”(x), B(f (x)) ≈ h 2 | {z } k2 Z 1 b V ar(f (x)) ≈ f (x) K 2(u) du. nh De donde: Z Z 1 1 K 2(u) du + h4k22 (f ”(x))2 dx, ECM I ≈ nh 4 (2) Observación: Hay un compromiso entre el sesgo y la varianza para h. Cuando h es muy pequeña el sesgo disminuye, pero aumenta la varianza. 300 200 100 0 Estimaciones de la densidad 400 Comparacion de distintas ventanas 1 2 3 Duracion de las erupcioned del geyser 4 5 La ventana óptima. Minimizando (2) en h, obtenemos: −2/5 hopt = k2 Z K 2(t) dt 1/5Z −1/5 2 n−1/5. (f ”(x)) dx (3) Observaciones: • Esta h depende de f ” • De todos modos, (3) nos da elementos para buscar una h. Métodos de selección de ventanas Referencia a una distribución conocida (Silverman’s ”rule of thumb”). Sea φ la densidad normal tı́pica. Si f fuese normal con varianza σ, tendrı́amos: Z 2 f ”(x) dx = σ −5 Z φ”(x) 2 dx = 3 −1/2 −5 σ . π 8 Si además K es el núcleo gaussiano, entoces k2 = R 1, y K 2 = (4π)−1/2, por lo que: hopt = 2 −1/5 1/5 Z −2/5 2 k2 f ”(x) dx n−1/5 = K (t) dt | {z } | {z }| {z } 1 −1/10 3 (4π) ( 8 π −1/2 σ −5)−1/5 41 5 σn−1/5. (4) 3 Sustituyendo σ por un estimador (por ejemplo el desvı́o estandar de la muestra), en (4), obtenemos un estimador de hopt. Métodos de sustitución. (”Plug-in”) Los métodos de sustitución de Park y Marron, y de Sheater y Jones, utilizan estimadores basados R en núcleos para obtener una estimación de f ”. Métodos de validación cruzada. El método de validación cruzada basado en mı́nimos cuadrados (Rudemo(82) y Bowman(84)) minimiza el ECMI: ECM I = E Z (fb − f )2 = E | Z fb2 − 2E {z R(f ) Z fbf + } Z f 2. Basta minimizar R(f ), y un estimador insesgado de este valor es: Z 2X b 2 b CV (h) = f − f−i(Xi), (5) n i Donde fb−i(x) es la estimación en x que se obtiene utilizando todos los datos menos el i−ésimo. Esto se debe a que, si: 1 Kh(x) = K(x/h) h entonces: E Z fbf = E Z n 1 X Kh(x − Xi)f (x) dx = n i=1 E(Kh(X − Y )) donde X e Y son independientes, ambas con densidad f . Luego, un estimador de E fbf será un estimador de E(Kh(X − Y )) , por ejemplo, XX 1 Kh(Xi − Xj ), i6 = j n(n − 1) que es el término que restamos (multiplicado por R 2) en (5). Por otra parte, un estimador de E fb2 R b2 es precisamente f . Se busca h que minimice CV (h). Si el núcleo es simétrico, entonces: CV (h) = 1 X X (2) 2 XX K (Xi − Xj ), Kh (Xi − Xj ) − 2 i6=j h n2 i j n (6) con (2) Kh (x) = Z Kh(x − y)Kh(y) dy = (Kh ∗ Kh)(x). El método de validación cruzada por máxima verosimilitud maximiza n 1 X CV2(h) = log fb−i(Xi) n i=1 (este método es muy sensible a la presencia de outliers). Comparación de la estimación obtenida con la ventana referida a la distribución normal, y la ventana obtenida por sustitución. 150 100 50 0 Estimaciones de la densidad 200 250 Comparacion de distintas ventanas: ref. a la normal y "plug in". 1 2 3 Duracion de las erupcioned del geyser 4 5 Comparación de estimaciones obtenidas con distintas ventanas para la distribución normal, para n = 50 y n = 500. 0.3 0.2 0.0 0.1 Estimaciones de la densidad 0.4 Comparacion de distintas ventanas en el caso gaussiano −4 −3 −2 −1 0 1 2 3 R:ref.normal , A:plug in, V:Validacion Cruzada 0.2 0.1 0.0 Estimaciones de la densidad 0.3 0.4 Comparacion de distintas ventanas en el caso gaussiano −4 −2 0 R:ref.normal , A:plug in, V:Validacion Cruzada 2 4 Aplicación del método para d≥2. Veremos ahora el caso de datos multivariados. Sea d la dimensión del espacio. Sea K : Rd → R, R con Rd K(x) dx = 1. Nuestros estimadores serán de la forma: n 1 X 1 b f (x) = K (x − Xi) . nhd i=1 h En general se utilizan funciones K radialmente simétricas, de la forma K(x) = k(xtx) = k(||x||); (7) por ejemplo, para el núcleo gaussiano, k(u) = (2π)−d/2exp((−1/2)u), y el estimador es: t n X 1 X x − x − 1 X i i −d/2 exp − fb(x) = (2π) nhd i=1 2 h h (8) Datos asimétricos. El problema de usar núcleos simétricos con una sola ventana, es que el núcleo tendrá la misma escala en todas las dimensiones. En el caso de datos asimétricos, podemos proceder de la forma siguiente: Sea S un estimador de la matriz de covarianza de X, por ejemplo, la covarianza muestral. Tomamos el núcleo K(x) = q (1/ det(S))k(xtS −1x), en lugar de (7). Esto es equivalente a reescalar los datos. Por ejemplo, en el caso Gaussiano queda: fb(x) = n (det(S))−1/2 X 1 e d/2 nhd i=1 (2π) t x−Xi −1 x−Xi S − 1 2 h h (9) Sesgo, varianza y parámetros de suavizado Podemos generalizar la mayorı́a de las técnicas desarrolladas para 1 dimensión. Sea K una densidad simétrica, y sean: α= Entonces, Z t2K(t) dt, β = Z K 2 dt. 1 2 B(x) ≈ h α∇2f (x) 2 V ar(fb(x)) ≈ 1 βf (x). d nh Minimizando el ECMI en h, obtenemos: hopt = dβα−2 | Z (∇2f )2 {z A(f,K) −1 1 d+4 n 1 − d+4 (10) } Al igual que en dimensión 1, podemos, dado un núcleo K, hallar A(f, K) en el caso en que f = φ, siendo φ la distribución normal estandar en dimensión d. Utilizando que: Z √ −d 1 1 2 2 2 (∇ φ) = (2 π) ( d + d ) 2 2 (11) Basta sustituir (11), y los α y β correspondientes al núcleo K en (10) para obtener A(φ, K). En particular, si K = φ, A(φ, φ) = 1. Si estamos utilizando el estimador (9), entonces podemos usar directamente la ventana (10). Si estamos utilizando el estimador (8) con el núcleo simétrico, en lugar de hopt utilizaremos σhopt, donde σ 2 es un estimador de la varianza marginal promedio. Otras técnicas de estimación de la ventana El método de validación cruzada se traslada al caso en Rd; vale la fórmula (6), donde 1 Kh(x) = d K(x/h). h El método de sustitución también se traslada a Rd. Algunos paquetes utilizan este método para estimar por separado distintas ventanas para las distintas dimensiones. El problema de la dimensión. Si observamos las fórmulas de la varianza y la ventana óptima, tenemos que: V ar fb ≈ 1 d , y h ≈ 1 − d+4 n , V arfb ≈ nh de donde: 1 1− d n d+4 =n 4 − d+4 . Es decir, la varianza del estimador tiende a cero 1 , lo que hace necesario un n de orden excomo √ d n ponencial en d para mantener una varianza dada. Estimación de la densidad conjunta para los datos del geyser. Densidad estimada para datos del Old Faithful Du rac i on de la E stimada rup cio n Densidad e Tiempo entre erupciones Estimación de la densidad conjunta para los datos del geyser. 3 2 1 Duracion de la Erupcion 4 5 Densidad estimada para datos del Old Faithful 40 60 80 Tiempo entre erupciones 100 Estimación de la densidad conjunta para los datos del geyser. Densidad estimada para datos del Old Faithful 0.0014 5 0.0012 Duracion de la Erupcion 4 0.0010 0.0008 3 0.0006 2 0.0004 0.0002 1 0.0000 40 50 60 70 80 Tiempo entre erupciones 90 100 110 Algunas referencias y sitios de interés. Libros: • Silverman, B.W. (1986) Density Estimation for Statistics and Data Analysis. Chapman and Hall, London. • Wand, M. P. and Jones, M. C. (1995).Kernel Smoothing. Chapman and Hall, London. • Bowman, A.W. and Azzalini, A. (1997). Applied Smoothing Techniques for Data Analysis: the Kernel Approach with S-Plus Illustrations. Oxford University Press, Oxford. Sitios de interés: • CRAN. Sitio de desarrollo del lenguaje R, (versión libre S-Plus) Tiene módulos para estimación de densidades en 1,2 y 3 dimensiones, selección de ventanas, etc. Aparte de esto, hay muchı́simos módulos para aplicar técnicas estadı́sticas. http://www.r-project.org/ • Octave home page. Sitio de desarrollo del lenguaje Octave (versión libre de Matlab). (Si se obtiene algún mensaje de error en un código escrito para Matlab, lo más probable es que se arregle transponiendo una matriz). http://www.octave.org/ • Sitio Personal de Steve Marron. Tiene código escrito para hacer estimación de densidades en Matlab. También tiene preprints de interés. http://www.unc.edu/depts/ statistics/faculty/marron.html • Wölfan Härdle. Applied Nonparametric Regression Libro completo que utiliza las técnicas de suavizado para el caso de regresión. http://www.quantlet.de/mdstat/ scripts/anr/html/