Supongamos que quiero ver si mis datos son exponenciales en función de un histograma (es decir, sesgado a la derecha).
Dependiendo de cómo agrupe o agrupe los datos, puedo obtener histogramas muy diferentes.
Un conjunto de histogramas hará que parezca que los datos son exponenciales. Otro conjunto hará parecer que los datos no son exponenciales. ¿Cómo hago para determinar las distribuciones de histogramas bien definidas?
distributions
data-visualization
histogram
binning
guestoeijreor
fuente
fuente
Respuestas:
La dificultad con el uso de histogramas para inferir la forma
Si bien los histogramas son a menudo útiles y a veces útiles, pueden ser engañosos. Su apariencia puede cambiar bastante con los cambios en la ubicación de los límites del contenedor.
Este problema se conoce desde hace mucho tiempo *, aunque tal vez no tan ampliamente como debería ser: rara vez se lo menciona en las discusiones de nivel primario (aunque hay excepciones).
* por ejemplo, Paul Rubin [1] lo expresó de esta manera: " es bien sabido que cambiar los puntos finales en un histograma puede alterar significativamente su apariencia ". .
Creo que es un tema que debería debatirse más ampliamente al introducir histogramas. Daré algunos ejemplos y discusión.
¿Por qué debe tener cuidado de no confiar en un solo histograma de un conjunto de datos?
Eche un vistazo a estos cuatro histogramas:
Son cuatro histogramas de aspecto muy diferente.
Si pega los siguientes datos en (estoy usando R aquí):
Entonces puedes generarlos tú mismo:
Ahora mira esta tabla de tiras:
(Si aún no es evidente, ver lo que sucede cuando se resta de datos de Annie de cada conjunto:
head(matrix(x-Annie,nrow=40))
)Los datos simplemente se han desplazado a la izquierda cada 0.25.
Sin embargo, las impresiones que obtenemos de los histogramas (inclinación derecha, uniforme, inclinación izquierda y bimodal) fueron completamente diferentes. Nuestra impresión se regió por completo por la ubicación del primer origen del contenedor en relación con el mínimo.
Entonces, no solo 'exponencial' vs 'no-realmente-exponencial' sino 'sesgado a la derecha' versus 'sesgo a la izquierda' o 'bimodal' vs 'uniforme' simplemente moviéndose donde comienzan sus contenedores.
Editar: si varía el ancho del contenedor, puede hacer que sucedan cosas como esta:
Ingenioso, ¿eh?
Sí, esos datos se generaron deliberadamente para hacer eso ... pero la lección es clara: lo que cree que ve en un histograma puede no ser una impresión particularmente precisa de los datos.
¿Qué podemos hacer?
Los histogramas son ampliamente utilizados, frecuentemente convenientes de obtener y, a veces, esperados. ¿Qué podemos hacer para evitar o mitigar estos problemas?
Como Nick Cox señala en un comentario a una pregunta relacionada : la regla general siempre debe ser que los detalles robustos a las variaciones en el ancho y el origen del contenedor probablemente sean genuinos; Es probable que los detalles frágiles a tales sean espurios o triviales .
Por lo menos, siempre debe hacer histogramas en varios anchos de bandeja u orígenes de bandeja diferentes, o preferiblemente en ambos.
Alternativamente, verifique una estimación de densidad del kernel en un ancho de banda no demasiado ancho.
Otro enfoque que reduce la arbitrariedad de los histogramas son los histogramas desplazados promediados ,
(ese es uno de ese conjunto de datos más reciente) pero si haces ese esfuerzo, creo que también podrías usar una estimación de densidad del núcleo.
Si estoy haciendo un histograma (los uso a pesar de ser muy consciente del problema), casi siempre prefiero usar muchos más bins de los que suelen ofrecer los valores predeterminados del programa y muy a menudo me gusta hacer varios histogramas con diferentes anchuras de bin. (y, ocasionalmente, origen). Si son razonablemente consistentes en la impresión, no es probable que tenga este problema, y si no son consistentes, debe mirar con más cuidado, tal vez intente una estimación de densidad del núcleo, un CDF empírico, un gráfico QQ o algo así. similar.
Si bien los histogramas a veces pueden ser engañosos, los diagramas de caja son aún más propensos a tales problemas; con un diagrama de caja ni siquiera tienes la capacidad de decir "usar más contenedores". Vea los cuatro conjuntos de datos muy diferentes en esta publicación , todos con diagramas de caja simétricos e idénticos, a pesar de que uno de los conjuntos de datos es bastante sesgado.
[1]: Rubin, Paul (2014) "Histogram Abuse!",
Publicación de blog, O en un mundo OB ,
enlace del 23 de enero de 2014 ... (enlace alternativo)
fuente
Una densidad de kernel o un diagrama de línea de registro puede ser una mejor opción en comparación con un histograma. Todavía hay algunas opciones que se pueden configurar con estos métodos, pero son menos volubles que los histogramas. También hay qqplots. Una buena herramienta para ver si los datos están lo suficientemente cerca de una distribución teórica se detalla en:
La versión corta de la idea (aún lea el documento para más detalles) es que genera datos a partir de la distribución nula y crea varias parcelas, una de las cuales son los datos originales / reales y el resto se simula a partir de la distribución teórica. Luego presenta las tramas a alguien (posiblemente usted mismo) que no ha visto los datos originales y ve si pueden elegir los datos reales. Si no pueden identificar los datos reales, entonces no tiene evidencia contra el nulo.
La
vis.test
función en el paquete TeachingDemos para R ayuda a implementar una forma de esta prueba.Aquí hay un ejemplo rápido. Una de las gráficas a continuación es de 25 puntos generados a partir de una distribución con 10 grados de libertad, los otros 8 se generan a partir de una distribución normal con la misma media y varianza.
La
vis.test
función creó este gráfico y luego le pide al usuario que elija cuál de los gráficos cree que es diferente, luego repite el proceso 2 veces más (3 en total).fuente
Las gráficas de distribución acumulada [ MATLAB , R ], donde se grafica la fracción de valores de datos menores o iguales a un rango de valores, son, con mucho, la mejor manera de ver las distribuciones de datos empíricos. Aquí, por ejemplo, están los ECDF de estos datos , producidos en R:
Esto se puede generar con la siguiente entrada R (con los datos anteriores):
Como puede ver, es visualmente obvio que estas cuatro distribuciones son simplemente traducciones entre sí. En general, los beneficios de los ECDF para visualizar distribuciones empíricas de datos son:
El único truco es aprender a leer correctamente los ECDF: las áreas inclinadas poco profundas significan una distribución escasa, las áreas inclinadas empinadas significan una distribución densa. Sin embargo, una vez que se acostumbra a leerlos, son una herramienta maravillosa para observar las distribuciones de datos empíricos.
fuente
Sugerencia: los histogramas generalmente solo asignan los datos del eje x que ocurrieron en el punto medio del contenedor y omiten las medidas de ubicación del eje x de mayor precisión. El efecto que esto tiene sobre los derivados del ajuste puede ser bastante grande. Tomemos un ejemplo trivial. Supongamos que tomamos la derivación clásica de un delta de Dirac pero la modificamos para que comencemos con una distribución de Cauchy en una ubicación mediana arbitraria con una escala finita (ancho medio completo máximo). Luego tomamos el límite a medida que la escala llega a cero. Si usamos la definición clásica de un histograma y no cambiamos los tamaños de los contenedores, no capturaremos ni la ubicación ni la escala. Sin embargo, si usamos una ubicación mediana dentro de contenedores de incluso de ancho fijo, siempre capturaremos la ubicación, si no la escala, cuando la escala es pequeña en relación con el ancho del contenedor.
Para los valores de ajuste donde los datos están sesgados, el uso de puntos medios de bin fijos desplazará el eje x todo el segmento de la curva en esa región, lo que creo que se relaciona con la pregunta anterior.
PASO 2 Entonces, comencemos a pedir prestado entre contenedores para tratar de hacer que los medios estén más espaciados de manera uniforme.
Ahora, podemos ver la forma de los histogramas que comienzan a surgir. Pero la diferencia entre medias no es perfecta ya que solo tenemos un número entero de muestras para intercambiar entre contenedores. Para eliminar la restricción de valores enteros en el eje y y completar el proceso de hacer valores medios equidistantes en el eje x, tenemos que comenzar a compartir fracciones de una muestra entre contenedores.
Paso 3 El intercambio de valores y partes de valores.
Como se puede ver, compartir partes de un valor en un límite de contenedor puede mejorar la uniformidad de la distancia entre los valores medios. Logré hacer esto con tres decimales con los datos proporcionados. Sin embargo, no puedo, no creo, hacer que la distancia entre los valores medios sea exactamente igual en general, ya que la tosquedad de los datos no lo permitirá.
Sin embargo, se pueden hacer otras cosas como usar la estimación de densidad del núcleo .
Aquí vemos los datos de Annie como una densidad de kernel limitada utilizando suavizaciones gaussianas de 0.1, 0.2 y 0.4. Los otros sujetos tendrán funciones cambiadas del mismo tipo, siempre que uno haga lo mismo que yo, es decir, use los límites inferior y superior de cada conjunto de datos. Entonces, esto ya no es un histograma, sino un PDF, y cumple la misma función que un histograma sin algunas de las verrugas.
fuente