Gráfico de estimación de la densidad Kernel

Anteriormente, hemos visto cómo utilizar el método del histograma para inferir la función de densidad de probabilidad (PDF) de una variable aleatoria (población) con una muestra finita de datos. En este tutorial, te llevamos en el problema de la inferencia de la función de densidad de probabilidad, pero utilizando otro método: estimación de densidad de Kernel.

La estimación de densidad de Kernel. están estrechamente relacionados con histogramas, pero puede ser dotado de propiedades tales como suavizado o continuidad mediante el uso de un núcleo adecuado.

¿Por qué nos importa?

Uno de los principales problemas en aplicaciones prácticas es que la distribución de probabilidad necesaria generalmente no está disponible, pero más bien debe derivarse de otra información existente (por ejemplo, datos de la muestra). EDKs son similares a los histogramas en términos de ser un método no paramétrico, por lo que no hay suposiciones restrictivas sobre la forma de la función de densidad, pero EDK es mucho más superior que los histogramas en cuanto a precisión y continuidad.

Resumen

Consideremos una muestra de datos finitos $\{x_1,x_2, \cdots ,x_N\}$ observado de un proceso estocástico (es decir, continuo y aleatorio). Deseamos inferir la función de densidad de probabilidad de la población.

En el método del histograma, seleccionamos el límite izquierdo del histograma $(x_o)$, el ancho de la celda (h), y luego calculamos la celda k estimadora de probabilidad $f_h(k)$:

  • El bin o celda k representa el siguiente intervalo$[x_o+(k-1)h, x_o+k\times h)$
  • $\hat f_h(k)=\frac{\sum_{i=1}^N I\{(k-1)h\leq x_i-x_o\leq k\times h)\}}{N}$
  • $I\{.\}$ es una función del evento que devuelve 1 (uno) si la condición es verdadera,de lo contrario 0 (cero).

La elección de las celdas, especialmente el anchura de la celda (h), tiene un efecto substancial en la forma y otras propoiedades de $f_h(k)$.

Finalmente, podemos pensar en el método del histograma de la siguiente manera:

  • Cada observación (evento) es estadísticamente independiente de todos los otros, y su probabilidad de ocurrencia es igual a $\frac{1}{N}$.
  • $f_h(k)$ es simplemente la suma integral de las probabilidades del evento en cada celda

Qué es un kernel?

Un kernel es una función no negativa, con valores reales, integrable K(.) satisfaciendo los dos siguientes requerimientos:

$$\int_{-\infty}^{\infty}K(u)du=1$$

$$K(u)=k(-u)$$

Y, como resultado, la función de escalada $K^*(u)$, donde $K^*(u)=\lambda K(\lambda \times u)$, es un núcleo también.

Ahora, ubica una función escalada kernel a cada observación en la muestra y calcula los nuevos estimadores de probabilidad $f_h(x)$ para un valor x (en comparación con un bin anterior en el histograma).

$$\hat f_h(x)=\frac{1}{N}\sum_{i=1}^N K_h(x-x_i)$$

$$K_h(u)=\frac{1}{h}K(u/h)$$

$$\hat f_h(x)=\frac{1}{N\times h}\sum_{i=1}^N K((x-x_i)/h)$$

Como un ejemplo, permitimos que $K(.)$ sea la función de densidad Gaussiana estandarizada. El EDK luce como la suma de las curvas Gaussianas, cada una centrada en una observación.

Demonstration picture for Gaussian kernels in constructing a kernel density estimator

Nota: Para el núcleo Gausianno, el ancho de banda es el mismo que la desviación estándar de $(x-x_i)$.

El método EDK reemplaza la probabilidad discreta:

$$P(x)=\left\{\begin{matrix} \frac{1}{N} & x \in \{x_1,x_2,\cdots , x_N\} \\ 0 & x \notin \{x_1,x_2,\cdots , x_N\} \end{matrix}\right.$$

Con la función núcleo.Esto permite superposición entre los núcleos, promoviendo así la continuidad en el estimador de probabilidad.

Por qué EDK?

Debido a muestra muestra de datos,nos quedamos con un conjunto finito de valores para variables aleatorias continuas. El uso de un núcleo en vez de probabilidades discretas, promovemos la natural continuidad en la variable aleatoria subyacente.

Para Para continuar con EDK, se tendrá que decidir sobre dos parámetros clave: la función Kernel o núcleo y el ancho de banda.

Cuál núcleo debo yo utilizar?

Un rango de funciones núcleo son comunmente utilizadas: uniforme, triangular, biweight, triweight y Epanechnikov. El núcleo es usualmente utilizado; $K(.)=\phi(.)$, donde $\phi$ es la función de densidad normal estándar.

Cómo yo puedo calcular apropiadamente el ancho de banda del núcleo?

Intuitivamente, uno quiere elegir un h tan pequeño como los datos permite, pero hay una compensación entre el sesgo del estimador y su varianza.

La selección del ancho de banda de un estimador de núcleo es un tema de investigación considerable. Vamos a describir dos métodos populares:

  1. La selección subjetiva - Uno puede experimentar mediante el uso de diferentes anchos de banda y simplemente seleccionando uno que "se ve bien" para el tipo de datos bajo investigación
  2. Selecciona con referencia a algunos distribución dada - Aquí se selecciona el ancho de banda que sería óptimo para un PDF particular. Tenga en cuenta que no se está asumiendo que $f(x)$ es normal, pero en lugar de seleccionar una h la cual podria ser optima si el PDF fuera normal. Usando un núcleo Gaussiano, el ancho de banda óptimo $h_{opt}$ es definido de la siguiente manera:
    $$h_{opt}=\sigma\times \sqrt[5]{\frac{4}{3N}}$$
    La distribución normal no es una distribución "ondulada"; es unimodal y con forma de campana.Por lo tanto es de esperar que $h_{opt}$ será demasiado grande para distribuciones multimodales. Además, la varianza de la muestra ($s^2$) no es un estimador robusto de $\sigma^2$; sobreestima si algunos valores atípicos extremos (observaciones) están presentes. Para superar estos problemas, Silverman propone el siguiente estimador de ancho de banda:
    $$h_{opt}=\frac{0.9\times \hat\sigma}{\sqrt[5]N}$$
    $$\hat \sigma = \textrm{min}(s,\frac{R}{1.34})$$
    $$R=IQR=Q3-Q1$$

    Donde IQR es el rango intercuartil y “s” es la desviación estándar de la muestra.
  3. Basada en los datos de estimación - esta es un área de investigación actual utilizando varios métodos diferentes: transformada de Fourier, basada en difusión, etc..

Proceso

Usando the NumXL add-in for Excel, usted puede calcular los valores EDK para las diferenctes funciones de núcleo (Por ejemplo. Gaussiana, uniforme, triangular, etc.) and (opcionalmente) con un valor de ancho de banda.

Para nuestros datos de la muestra, estamos utilizando 50 valores aleatorios generados de la distribución normal (usando el generador aleatorio en el paquete de Análisis de Excel). Nosotros trazamos el histograma para nuestra referencia:

sample data layout for the KDE in Excel using NumXLhistogram-plot-random-gaussian-data

Ahora nosotros estamos listos para construir nuestra gráfica EDK. Primero, seleccione la celda vacía en su hoja de cálculo donde usted desee que la tabla sea generada, entonces busque y de clic en el icono “Estadística Descriptiva” en la pestaña de NumXL (o barra de herramientas). Luego, seleccione el item “Estimación de densidad de Kernel” del menu desplegable.
KDE-ICON-NUMXL-TOOLBAR

KDE-Wizard-General-Tab

Selecciona el rango de celdas para los valores de la variable de entrada.

Notas:

  1. El rango de celdas incluye (opcional) el encabezado de la celda (“Etiqueta”), la cual debe ser usada en las tablas de salidas donde este se refiere a aquellas variables.
  2. Por defecto, las celdas del rango de la tabla se fijan a la celda actual seleccionada en su hoja de cálculo. the output table cells range is set to the current selected cell in your worksheet.
  3. Por defecto, la gráfica resultante con el rango de celdas se fija para las 7 celdas a la derecha de de la actual celda seleccionada en su hoja de cálculo.

Finalmente, una vez nosotros seleccionemos los datos de entrada (X) del rango de celdas, las pestañas o tabs "Opciones" y "Valores Faltantes" empiezan a estar disponibles (habilitadas).

A continuación, seleccione la pestaña “Opciones”:

KDE-Wizard-option-Tab

Notas:

  1. Por defecto, la función núcleo Gaussiana es seleccionada. Vamos a dejar esta opción sin cambiar.
  2. Por defecto, la opción "ancho de banda óptimo" es verificada. La función EDK usará el estimado Silverman para el ancho de banda. Déje esta activada.
  3. Por defecto, el tamaño de la tabla de salida se ajusta a 5. Déjelo sin cambio.
  4. "La distribución normal de superposición" está marcada. Esta opción en efecto le indica el asistente para generar una segunda curva de la distribución de Gauss para propósitos de comparación. Deje esta opción activada.

Ahora, de clic sobre la pestaña "Valores Faltantes"
KDE-Wizard-missing-values-Tab

En esta tabla, usted puede seleccionar puede seleccionar un enfoque para manejar los valores que faltan en el conjunto de datos (de X). Por defecto, cualquier observación con el valor que falta se excluyó del análisis.

Este tratamiento es un buen enfoque para nuestro análisis, así que vamos a dejarlo sin cambios

Ahora, haga clic en "OK" para generar las tablas de salida.
KDE-GAUSSIAN-RANDOM-DATA-OUTPUT-TABLE

Notas:

  1. Los valores de todas las X se clasifican en orden ascendente.
  2. Las estadísticas de resumen en la 1ra fila se calculan únicamente para facilitar la creación de la tabla o el cálculo de la función de distribución Gaussiana de superposición.

El gráfico generado de EDK se muestra abajo:

KDE-GAUSSIAN-RANDOM-DATA-OUTPUT-PLOT

Tenga en cuenta que la curva de EDK (azúl) sigue muy de cerca a la curva de densidad gaussiana (naranja).

Caso 2

Ahora vamos a tratar un conjunto de datos de muestra no normal. Hemos generado 50 valores aleatorios de una distribución uniforme entre -3 y 3. A raíz de medidas similares, siguiendo pasos similares, nosotros trazamos el histograma y el EDK:

UNIFORM-DATA-HISTOGRAM-PLOTUNIFORM-DATA-KDE-PLOT

Tenga en cuenta que la curva de EDK (azúl) rastrea mucho más estrechamente con la distribución subyacente (es decir, uniforme) que el histograma.

Caso 3

Para nuestro 3er caso, se generaron 50 valores aleatorios de una distribución binomial (tamaño p = 0,2 y el lote = 20). Siguiendo los mismos pasos, nosotros trazamos el histograma y el EDK.

BINOMIAL-DATA-HISTOGRAM-PLOTBINOMIAL-DATA-KDE-PLOT

Tenga en cuenta que la curva de EDK (azul) sigue mucho más estrechamente con la distribución subyacente (es decir, uniforme) que el histograma.

Conclusión

En este tutorial, hemos demostrado el proceso para generar una estimación de la densidad del núcleo en Excel usando las funciones de complemento de NumXL.

El método EDK es una mejora importante para inferir la función de densidad de probabilidad de la población, en términos de precisión y continuidad de la función. Sin embargo, se introduce un nuevo reto: la selección de un ancho de banda adecuado. En la mayoría de los casos, el estimador Silverman para el ancho de banda resulta ser satisfactorio, pero es óptimo? Por qué nos importa?

¿A dónde vamos desde aquí?

En primer lugar, para responder a la cuestión de optimalidad, necesitamos introducir algoritmos adicionales para estimar sus valores. Por ejemplo, en "Anales de Estadística, Volumen 38, Número 5, páginas 2916-2957", Z. I. Botev, J. F. Grotowski, y D. P. Kroese describieron un método basado en datos de ejemplos numéricos para encontrar el ancho de banda óptimo utilizando una estimación de la densidad del núcleo.

En segundo lugar, en los casos en que el rango de valores que el número aleatorio puede tomar son conocidos por ser restringido de un lado (por ejemplo, precios, datos binomiales, etc.), o en un rango (por ejemplo, la tasa de supervivencia, tasa de morosidad, etc.), entonces, ¿cómo podemos adpatar el EDK al factor de esas restricciones?

Finalmente, definimos el estimador de probabilidad EDK utilizando un ancho de banda fijo para todas las observaciones. Si el ancho de banda no se mantiene fijo, pero varía dependiendo del lugar de cada estimación (estimador de globo) o las muestras (estimador sabio), esto produce un método particularmente potente conocido como estimación de la densidad kernel de ancho de banda adaptativo o variable.

 

¿Tiene más preguntas? Enviar una solicitud

0 Comentarios