Optimale Behälterbreite für zweidimensionales Histogramm

8

Es gibt viele Regeln für die Auswahl einer optimalen Behälterbreite in einem 1D-Histogramm (siehe zum Beispiel ).

Ich suche nach einer Regel, die die Auswahl optimaler Breiten gleicher Bin auf zweidimensionale Histogramme anwendet .

Gibt es eine solche Regel? Vielleicht kann eine der bekannten Regeln für 1D-Histogramme leicht angepasst werden. Wenn ja, können Sie einige minimale Details dazu angeben?

Gabriel
quelle
Optimal für welchen Zweck? Bitte beachten Sie auch, dass 2D-Histogramme unter denselben Problemen leiden wie normale Histogramme. Daher sollten Sie Ihre Aufmerksamkeit auf Alternativen wie Kernel-Dichteschätzungen richten.
whuber
1
Gibt es einen Grund, warum Sie etwas Einfaches wie das nicht anpassen würden Regel oder Sturges 'Formel direkt auf Ihr Problem? In jeder Dimension haben Sie sowieso die gleiche Anzahl von Messwerten. Wenn Sie etwas anspruchsvolleres wollen (z. B. Freedman-Diaconis-Regel), können Sie "naiv" das Maximum zwischen der Anzahl der zurückgegebenen Bins für jede Dimension unabhängig nehmen. Sie suchen im Wesentlichen nach einem diskretisierten (2d) KDE. Vielleicht ist das sowieso Ihre beste Wahl. (n)
usεr11852
Um eine Behälterbreite nicht manuell und daher subjektiv auswählen zu müssen? Für die Auswahl einer Breite, die die zugrunde liegenden Daten mit nicht zu viel Rauschen und nicht zu geglättet beschreibt? Ich bin mir nicht sicher, ob ich deine Frage verstehe. Ist "optimal" ein zu vages Wort? Welche anderen Interpretationen können Sie hier sehen? Wie hätte ich die Frage sonst formulieren können? Ja, mir ist KDE bekannt, aber ich benötige ein 2D-Histogramm.
Gabriel
@ usεr11852 Könnten Sie Ihren Kommentar in einer Antwort erweitern, vielleicht mit einigen weiteren Details?
Gabriel
@Glen_b könntest du das in Form einer Antwort setzen? Meine statistischen Kenntnisse sind ziemlich begrenzt und viele der Dinge, die Sie sagen, gehen mir direkt über den Kopf, so dass so viele Details wie möglich erwünscht wären.
Gabriel

Antworten:

4

Mein Rat wäre im Allgemeinen, dass es noch kritischer als in 1-D ist, wenn möglich zu glätten, dh so etwas wie eine Kernel-Dichteschätzung (oder eine andere solche Methode wie die Log-Spline-Schätzung) durchzuführen, die tendenziell wesentlich effizienter ist als die Verwendung Histogramme. Wie Whuber betont, ist es durchaus möglich, sich durch das Auftreten eines Histogramms täuschen zu lassen, insbesondere bei wenigen Behältern und kleinen bis mittleren Stichprobengrößen.

Wenn Sie beispielsweise versuchen, den mittleren integrierten quadratischen Fehler (MISE) zu optimieren, gelten Regeln für höhere Dimensionen (die Anzahl der Bins hängt von der Anzahl der Beobachtungen, der Varianz, der Dimension und der "Form" ab). sowohl für die Schätzung der Kerneldichte als auch für Histogramme.

[In der Tat sind viele der Probleme für das eine auch Probleme für das andere, daher sind einige der Informationen in diesem Wikipedia-Artikel relevant.]

Diese Abhängigkeit von der Form scheint zu implizieren, dass Sie für eine optimale Auswahl bereits wissen müssen, was Sie zeichnen. Wenn Sie jedoch bereit sind, einige vernünftige Annahmen zu treffen, können Sie diese verwenden (so könnten beispielsweise einige Leute "ungefähr Gauß" sagen), oder Sie können alternativ eine Form eines "Plug-in" -Schätzers des entsprechenden verwenden funktional.

[1]

Die Analyse in höheren Dimensionen ist etwas komplizierter (ähnlich wie bei der Schätzung der Kerneldichte von 1-D zu r-Dimensionen), aber es gibt einen Begriff in der Dimension, der in die Potenz von n kommt.

[2]

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

R(f)=Rdf(x)2dxfifithx

n1/4

hk3.5σkn1/(2+d)hkkσkk

ρ

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

Wenn die Verteilung schief oder stark schwanzförmig oder multimodal ist, ergeben sich im Allgemeinen viel kleinere Binbreiten. Folglich sind die normalen Ergebnisse oft bestenfalls Obergrenzen für die Bindung.

Natürlich ist es durchaus möglich, dass Sie nicht an einem mittleren integrierten quadratischen Fehler interessiert sind, sondern an einem anderen Kriterium.

[1]: Wand, MP (1997),
"Datenbasierte Auswahl der Histogrammfachbreite",
American Statistician 51 , 59-64

[2]: Scott, DW (1992),
Multivariate Dichteschätzung: Theorie, Praxis und Visualisierung ,
John Wiley & Sons, Inc., Hoboken, NJ, USA.

Glen_b -Reinstate Monica
quelle
σk
1
k
4

N

  1. N
  2. log2N+1
  3. Eine andere Regel, die nur auf der Anzahl der verfügbaren Datenpunkte basiert (z. B. Ricks Regel).

M

h

h=2IQR(x)N1/3

xM

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

x

Eine vierte Option wäre jedoch, zu versuchen, Ihre Stichprobe als nativ zweidimensional zu behandeln, die Norm für jeden der Stichprobenpunkte zu berechnen und dann die Freedman-Diaconis-Regel für die Normen der Stichprobe auszuführen. dh:

xnew=x12+x22

OK, hier ist ein Code und eine Darstellung der von mir beschriebenen Prozeduren:

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');

Geben Sie hier die Bildbeschreibung ein

Wie andere angemerkt haben, ist eine Glättung für diesen Fall mit ziemlicher Sicherheit angemessener (dh eine KDE zu erhalten). Ich hoffe, dies gibt Ihnen eine Vorstellung davon, was ich in meinem Kommentar in Bezug auf die direkte Verallgemeinerung (mit allen damit verbundenen Problemen) von 1-D-Beispielregeln auf 2-D-Beispielregeln beschrieben habe. Insbesondere setzen die meisten Verfahren einen gewissen Grad an "Normalität" in der Probe voraus. Wenn Sie eine Probe haben, die eindeutig nicht normal verteilt ist (z. B. leptokurtotisch), würde dieses Verfahren (auch in 1-D) ziemlich schlimm fehlschlagen.

usεr11852
quelle
1
Ich bin froh, dass Sie es hilfreich fanden, Gabriel, aber ich würde vorschlagen, die Antwort von Glen_b zu akzeptieren. Die in meiner Antwort beschriebenen Methoden sind zwar zweckmäßig, aber Heuristiken, die aus dem 1-D-Fall verallgemeinern. Ich habe sie hinzugefügt, um die Punkte zu veranschaulichen, die ich in meinem Kommentar gemacht habe. Ich schätze die Daumen hoch (also können Sie mich immer noch als nützliche Antwort abstimmen, wenn Sie es noch nicht getan haben :)), aber die richtige Antwort ist die von Glen_b.
usεr11852