Ancho óptimo del contenedor para histograma bidimensional

8

Hay muchas reglas para seleccionar un ancho de contenedor óptimo en un histograma 1D (ver por ejemplo )

Estoy buscando una regla que aplique la selección de anchos óptimos de bin igual en histogramas bidimensionales .

¿Existe tal regla? Quizás una de las reglas bien conocidas para los histogramas 1D se pueda adaptar fácilmente, de ser así, ¿podría dar algunos detalles mínimos sobre cómo hacerlo?

Gabriel
fuente
¿Óptimo para qué propósito? Tenga en cuenta también que los histogramas 2D sufrirán los mismos problemas observados en los histogramas ordinarios, por lo que es posible que desee centrar su atención en alternativas como las estimaciones de densidad del núcleo.
whuber
1
¿Hay alguna razón por la que no adaptarías algo simple como la regla o la fórmula de Sturges a tu problema directamente? A lo largo de cada dimensión tiene el mismo número de lecturas de todos modos. Si desea algo un poco más sofisticado (por ejemplo, la regla de Freedman-Diaconis), podría "ingenuamente" tomar el máximo entre el número de devoluciones de contenedores para cada dimensión de forma independiente. Esencialmente, está buscando un KDE discretizado (2d) de todos modos, así que tal vez esa sea su mejor opción de todos modos. (n)
usεr11852
¿Con el fin de no tener que elegir un ancho de depósito manualmente por lo tanto subjetivamente? ¿Para seleccionar un ancho que describirá los datos subyacentes sin demasiado ruido y sin demasiado suavizado? No estoy seguro de entender tu pregunta. ¿Es "óptimo" una palabra demasiado vaga? ¿Qué otras interpretaciones puedes ver aquí? ¿De qué otra forma podría haber formulado la pregunta? Sí, conozco KDE pero necesito un histograma 2D.
Gabriel
@ usεr11852 ¿Podría ampliar su comentario en una respuesta, tal vez con más detalles?
Gabriel
@Glen_b, ¿podrías poner eso en forma de respuesta? Mi conocimiento de las estadísticas es bastante limitado y muchas de las cosas que dices pasan por mi cabeza, por lo que agradecería la mayor cantidad de detalles posible.
Gabriel

Respuestas:

4

Mi consejo en general sería que es aún más crítico que en 1-D suavizar siempre que sea posible, es decir, hacer algo como la estimación de la densidad del núcleo (o algún otro método, como la estimación log-spline), que tiende a ser sustancialmente más eficiente que usar histogramas Como señala Whuber, es bastante posible dejarse engañar por la aparición de un histograma, especialmente con pocos contenedores y tamaños de muestra pequeños a moderados.

Si está tratando de optimizar el error cuadrático integrado medio (MISE), digamos, hay reglas que se aplican en dimensiones más altas (el número de bins depende del número de observaciones, la varianza, la dimensión y la "forma"), tanto para la estimación de densidad del núcleo como para los histogramas.

[De hecho, muchos de los problemas para uno también son problemas para el otro, por lo que parte de la información en este artículo de Wikipedia será relevante.]

Esta dependencia de la forma parece implicar que para elegir de manera óptima, ya necesita saber lo que está tramando. Sin embargo, si está preparado para hacer algunas suposiciones razonables, puede usarlas (por ejemplo, algunas personas podrían decir "aproximadamente gaussiano") o, alternativamente, puede usar alguna forma de estimador "enchufable" del apropiado funcional.

Wand, 1997 cubre el caso 1-D. Si puede obtener ese artículo, eche un vistazo a lo que hay allí también es relevante para la situación en dimensiones superiores (en lo que respecta a los tipos de análisis que se realizan). (Existe en forma de documento de trabajo en Internet si no tiene acceso a la revista).[1]

El análisis en dimensiones más altas es algo más complicado (más o menos de la misma manera que procede de las dimensiones 1-D a r para la estimación de la densidad del núcleo), pero hay un término en la dimensión que entra en el poder de n.

Sec 3.4 Eqn 3.61 (p83) de Scott, 1992 da el ancho de bin óptimo asintóticamente:[2]

h=R(fk)1/2(6i=1dR(fi)1/2)1/(2+d)n1/(2+d)

donde es un término de rugosidad (no el único posible), y creo que es la derivada de con respecto al término en .R(f)=Rdf(x)2dxfifithx

Entonces, para 2D que sugiere anchos de bin que se reducen como .n1/4

En el caso de variables normales independientes, la regla aproximada es , donde es el ancho de la bandeja en la dimensión , el indica el valor asintóticamente óptimo, y es la desviación estándar de la población en la dimensión .hk3.5σkn1/(2+d)hkkσkk

Para bivariada normal con correlación , el ancho de bin esρ

hi=3.504σi(1ρ2)3/8n1/4

Cuando la distribución es sesgada, o de cola pesada, o multimodal, generalmente resultan anchos de bin mucho más pequeños; en consecuencia, los resultados normales a menudo estarían en los mejores límites superiores en bindwith.

Por supuesto, es completamente posible que no le interese el error cuadrático integrado medio, sino algún otro criterio.

[1]: Varita, MP (1997),
"Elección basada en datos del ancho del contenedor de histograma",
American Statistician 51 , 59-64

[2]: Scott, DW (1992),
Estimación de densidad multivariada: teoría, práctica y visualización ,
John Wiley & Sons, Inc., Hoboken, NJ, EE. UU.

Glen_b -Reinstate a Monica
fuente
Glen, ¿cuál es el parámetro en tu respuesta? σk
Gabriel
1
Mis disculpas; Agregué el significado tal como lo entiendo: población sd en la dimensión . (Tenía un enlace a un pdf en un comentario antes, pero después de descubrir que era un capítulo de un libro, la referencia de Scott en mi respuestak
eliminé
4

Dado que tiene un número fijo de datos (es decir, tiene el mismo número de lecturas en ambas dimensiones), puede usar de inmediato:N

  1. La regla de raíz cuadrada redondeada hacia abajo ( ), (es decir, la forma de Excel :))N
  2. Regla de Sturges ( ),log2N+1
  3. Alguna otra regla que se basa solo en el número de puntos de datos disponibles (por ejemplo, la regla de Rick).

Para encontrar el número común de contenedores en cada dimensión.M

Por un lado, es posible que desee probar algo más robusto como la regla Freedman-Diaconis que esencialmente define el ancho de banda como igual a:h

h=2IQR(x)N1/3 ,

donde IQR es el rango intercuartil de sus datos . Luego calcula el número de contenedores largo de cada dimensión como igual a:xM

M=(max(x)min(x))/h .

Hace esto en ambas dimensiones de sus datos ; esto le da dos, posiblemente diferentes, números de contenedores que "deberían" usarse en cada dimensión. Usted ingenuamente toma el más grande para que no se "pierde" la información.x

Sin embargo, una cuarta opción sería tratar de tratar su muestra como nativamente bidimensional, calcular la norma para cada uno de los puntos de muestra y luego realizar la regla de Freedman-Diaconis en las normas de la muestra. es decir.:

xnew=x12+x22

OK, aquí hay un código y un diagrama para los procedimientos que describo:

rng(123,'twister');     % Fix random seed for reproducibility
N = 250;                % Number of points in our sample

A = random('normal',0,1,[N,2]);  % Generate a N-by-2 matrix with N(0,1)
A(:,2) = A(:,2) * 5;             % Make the second dimension more variable


% The sqrt(N) rule:    
nbins_sqrtN = floor(sqrt(N));

% The Sturges formula:    
nbins_str = ceil(log2(N) +1);

% The Freedman–Diaconis-like choice:    
IQRs = iqr(A);              % Get the IQ ranges across each dimension
Hs = 2* IQRs* N^(-1/3);     % Get the bandwidths across each dimension
Ranges = range(A);          % Get the range of values across each dimension
% Get the suggested number of bins along each dimension
nbins_dim1 = ceil(Ranges(1)/Hs(1)); % 12 here
nbins_dim2 = ceil(Ranges(2)/Hs(2)); % 15 here
% Get the maximum of the two
nbins_fd_1 = max( [nbins_dim1, nbins_dim2]);


% The Freedman–Diaconis choice on the norms

Norms = sqrt(sum(A.^2,2));        % Get the norm of each point in th 2-D sample
H_norms = 2* iqr(Norms)* N^(-1/3);% Get the "norm" bandwidth
nbins_fd_2 = ceil(range(Norms)/ H_norms);   % Get number of bins 

[nbins_sqrtN nbins_str nbins_fd_1 nbins_fd_2]

% Plot the results / Make bivariate histograms
% I use the hist3 function from MATLAB
figure(1);
subplot(2,2,1);
hist3(A,[ nbins_sqrtN nbins_sqrtN] );
title('Square Root rule');

subplot(2,2,2);
hist3(A,[ nbins_str nbins_str] );
title('Sturges formula rule');

subplot(2,2,3);
hist3(A,[ nbins_fd_1 nbins_fd_1]);
title('Freedman–Diaconis-like rule');

subplot(2,2,4);
hist3(A,[ nbins_fd_2 nbins_fd_2]);
title('Freedman–Diaconis rule on the norms');

ingrese la descripción de la imagen aquí

Como otros han señalado, el suavizado es casi seguro más apropiado para este caso (es decir, obtener un KDE). Espero que esto le dé una idea sobre lo que describí en mi comentario sobre la generalización directa (con todos los problemas que puede conllevar) de las reglas de muestra 1-D a las reglas de muestra 2-D. Notablemente, la mayoría de los procedimientos asumen cierto grado de "normalidad" en la muestra. Si tiene una muestra que claramente no está distribuida normalmente (por ejemplo, es leptokurtótica), este procedimiento (incluso en 1-D) fallaría bastante.

usεr11852
fuente
1
Me alegro de que le haya resultado útil Gabriel, pero le propondría aceptar la respuesta de Glen_b. Si bien son convenientes, los métodos descritos en mi respuesta son heurísticas generalizadas del caso 1-D; Los agregué para ilustrar los puntos que hice en mi comentario. Realmente aprecio los pulgares hacia arriba (por lo que aún puede votarme como una respuesta útil si aún no lo ha hecho :)), pero la respuesta correcta es Glen_b.
usεr11852