Wikipedia informa que bajo la regla de Freedman y Diaconis, el número óptimo de contenedores en un histograma, debería crecer como
donde es el tamaño de la muestra.
Sin embargo, si observa la nclass.FD
función en R, que implementa esta regla, al menos con datos gaussianos y cuando , el número de bins parece crecer a un ritmo más rápido que , más cerca de (en realidad, el mejor ajuste sugiere ). ¿Cuál es la razón de esta diferencia?
Editar: más información:
La línea es la OLS, con intersección 0.429 y pendiente 0.4. En cada caso, los datos ( x
) se generaron a partir de un estándar gaussiano y se introdujeron en el nclass.FD
. El gráfico representa el tamaño (longitud) del vector frente al número óptimo de clase devuelto por la nclass.FD
función.
Citando de wikipedia:
Una buena razón por la cual el número de bins debería ser proporcional a es la siguiente: suponga que los datos se obtienen como n realizaciones independientes de una distribución de probabilidad limitada con una densidad uniforme. Entonces el histograma permanece igual de "robusto" que n tiende al infinito. Si es el »ancho« de la distribución (p. Ej., La desviación estándar o el rango intercuartil), entonces el número de unidades en un contenedor (la frecuencia) es de orden el error estándar relativo es de orden . En comparación con el siguiente bin, el cambio relativo de la frecuencia es de orden siempre que la derivada de la densidad no sea cero. Estos dos son del mismo orden sies de orden , de modo que es de orden .
La regla de Freedman-Diaconis es:
fuente
Respuestas:
La razón proviene del hecho de que se espera que la función de histograma incluya todos los datos, por lo que debe abarcar el rango de los datos.
La regla de Freedman-Diaconis da una fórmula para el ancho de los contenedores.
La función proporciona una fórmula para el número de contenedores.
La relación entre el número de contenedores y el ancho de los contenedores se verá afectada por el rango de los datos.
Con los datos gaussianos, el rango esperado aumenta connorte .
Aquí está la función:
diff(range(x))
es el rango de los datos.Entonces, como vemos, divide el rango de datos por la fórmula FD para el ancho del contenedor (y redondea hacia arriba) para obtener el número de contenedores.
Parece que podría haber sido más claro, así que aquí hay una explicación más detallada:norte- 1 / 3 . Dado que el ancho total del histograma debe estar estrechamente relacionado con el rango de muestra (puede ser un poco más ancho, debido al redondeo a números agradables), y el rango esperado cambia connorte , el número de contenedores no es inversamente proporcional al ancho del contenedor, pero debe aumentar más rápido que eso. Entonces el número de contenedores no debería crecer comonorte1 / 3 - cerca de él, pero un poco más rápido, debido a la forma en que el rango entra en él.
la regla real de Freedman-Diaconis no es una regla para el número de contenedores, sino para el ancho del contenedor. Según su análisis, el ancho del contenedor debe ser proporcional a
Al observar los datos de las tablas de Tippett de 1925 [1], el rango esperado en muestras normales estándar parece crecer bastante lentamente connorte , sin embargo, más lento incluso que :Iniciar sesión( n )
(de hecho, la ameba señala en los comentarios a continuación que debería ser proporcional, o casi, a , que crece más lentamente de lo que parece sugerir el análisis en la pregunta. Esto me hace preguntarme si hay se presenta algún otro problema, pero no he investigado si este efecto de rango explica completamente sus datos).Iniciar sesión( n )-----√
Un vistazo rápido a los números de Tippett (que van hasta n = 1000) sugieren que el rango esperado en un gaussiano es muy cercano a lineal en sobre , pero parece no ser realmente proporcional para valores en este rango.Iniciar sesión( n )-----√ 10 ≤ n ≤ 1000
[1]: LHC Tippett (1925). "En los individuos extremos y el rango de muestras tomadas de una población normal". Biometrika 17 (3/4): 364–387
fuente