Berechnung der optimalen Anzahl von Behältern in einem Histogramm

Ich bin daran interessiert, eine möglichst optimale Methode zu finden, um zu bestimmen, wie viele Behälter ich in einem verwenden soll Histogramm. Meine Daten sollten im Bereich von höchstens 30 bis 350 Objekten liegen, und insbesondere versuche ich, Schwellenwerte (wie die Methode von Otsu) anzuwenden, wenn „gute“ Objekte, von denen ich weniger haben und die weiter verteilt sein sollten, sind von „schlechten“ Objekten getrennt, deren Wert dichter sein sollte. Ein konkreter Wert hätte eine Punktzahl von 1-10 für jedes Objekt. Ich hatte 5-10 Objekte mit einer Punktzahl von 6-10 und 20-25 Objekten mit Punktzahlen 1-4. Ich möchte ein Histogramm-Binning-Muster finden, das es im Allgemeinen so etwas wie Otsus Methode ermöglicht, die Objekte mit niedriger Punktzahl zu schwellen. Bei der Implementierung von Otsus, die ich gesehen habe, war die Bin-Größe jedoch 256, und oft habe ich viel weniger Datenpunkte als 256, was für mich darauf hindeutet, dass 256 keine gute Bin-Nummer ist. Wie sollte ich bei so wenigen Daten vorgehen, um die Anzahl der zu verwendenden Bins zu berechnen?

Kommentare

  • Ich denke, Sturges -Regel kann für n < 200 verwendet werden. Dabei ist n die Anzahl der Beobachtungen.

Antwort

Die Die Freedman-Diaconis -Regel ist sehr robust und funktioniert in der Praxis gut. Die Bin-Breite ist auf $ h = 2 \ times \ text {IQR} \ times n ^ {- 1/3} $ eingestellt. Die Anzahl der Fächer ist also $ (\ max- \ min) / h $ , wobei $ n $ ist die Anzahl der Beobachtungen, max ist der Maximalwert und min ist der Minimalwert.

In Basis R können Sie Folgendes verwenden:

 hist(x, breaks="FD")  

Für andere Plotbibliotheken ohne diese Option (z. B. ggplot2) können Sie die Binbreite wie folgt berechnen:

 bw <- 2 * IQR(x) / length(x)^(1/3) ### for example ##### ggplot() + geom_histogram(aes(x), binwidth = bw)  

Kommentare

  • @nico. Der Standardwert in R ist break = “ Sturges „, was nicht immer zu guten Ergebnissen führt.
  • Wie funktioniert das? IQR berechnen?
  • @KurtMueller IQR bedeutet Interquartilbereich. Suchen Sie nach 1. Quartil und 3. Quartil und der Unterschied ist IQR. IQR wird bereits mit R geliefert, damit Sie es verwenden können.
  • Wenn ich mich nicht irre, sollte die Antwort num_bins <- diff(range(x)) / (2 * IQR(x) / length(x)^(1/3))
  • nclass.FD existierte vor neun Jahren nicht.

Antwort

Wenn Sie verwenden Zu wenige Bins, das Histogramm zeigt die Daten nicht wirklich gut an. Wenn Sie zu viele Bins haben, erhalten Sie einen gebrochenen Kamm-Look, der auch keinen Eindruck von der Verteilung vermittelt.

Eins Die Lösung besteht darin, ein Diagramm zu erstellen, das jeden Wert anzeigt. Entweder ein Punktdiagramm oder eine kumulative Häufigkeitsverteilung, für die keine Bins erforderlich sind.

Wenn Sie eine Häufigkeitsverteilung mit gleich beabstandeten Bins erstellen möchten, müssen Sie entscheiden, wie viele Bins (oder welche Breite) Die Entscheidung hängt eindeutig von der Anzahl der Werte ab. Wenn Sie viele Werte haben, sieht Ihr Diagramm besser aus und ist informativer, wenn Sie viele Fächer haben. Dies Auf der Wikipedia-Seite sind verschiedene Methoden zum Bestimmen der Behälterbreite aus der Anzahl der Beobachtungen aufgeführt. Die einfachste Methode besteht darin, die Anzahl der Behälter gleich der Quadratwurzel der Anzahl der Werte zu setzen, die Sie zusammenfassen.

Diese Seite von Hideaki Shimazaki erklärt eine alternative Methode. Die Berechnung ist etwas komplizierter, scheint aber gute Arbeit zu leisten. Der obere Teil der Seite ist eine Java-App. Scrollen Sie darüber hinaus, um die Theorie und Erklärung zu sehen, und scrollen Sie dann weiter, um Links zu den Artikeln zu finden, die die Methode erklären.

Kommentare

Antwort

Vielleicht das Papier „ Variationen des Histogramms „von Denby und Mallows sind von Interesse:

Diese neue Anzeige, die wir als“ dhist „bezeichnen (diagonal) -cut histogram) bewahrt die gewünschten Merkmale sowohl des Hist mit gleicher Breite als auch des Hist mit gleicher Fläche. Es zeigt hohe, schmale Bins wie die ea hist, wenn die Daten Spitzen aufweisen, und zeigt isolierte Ausreißer wie das übliche Histogramm.

Sie erwähnen auch Dieser Code in R ist auf Anfrage erhältlich.

Antwort

Haben Sie die Shimazaki-Shinomoto -Methode?

Obwohl es rechenintensiv zu sein scheint, kann es zu guten Ergebnissen führen. Es lohnt sich, es auszuprobieren, wenn die Rechenzeit nicht Ihr Problem ist.Es gibt einige Implementierungen dieser Methode in Java, MATLAB usw. im folgenden Link, die schnell genug ausgeführt werden: Webschnittstelle

Kommentare

  • Hier ist eine Implementierung: gist.github.com/salotz/0158a99a75078b47538452111ec0faa2 . Und ja, es ist teurer, da Sie einen Bereich für die Anzahl der Fächer auswählen und für jedes einen Histogramm erstellen und dann die Kosten berechnen und dann den kostengünstigsten auswählen müssen.

Antwort

Ich bin mir nicht sicher, ob dies als streng bewährte Methode gilt, aber ich neige dazu, mehr als ein Histogramm mit unterschiedlichen Behälterbreiten zu erstellen und das Histogramm auszuwählen, zu dem das Histogramm gehört Verwendung basierend darauf, welches Histogramm zur Interpretation passt Ich versuche am besten zu kommunizieren. Dies führt zwar zu einer gewissen Subjektivität bei der Auswahl des Histogramms, ich begründe dies jedoch damit, dass ich viel mehr Zeit hatte, die Daten zu verstehen als die Person, der ich das Histogramm gebe, sodass ich ihnen eine sehr präzise Nachricht geben muss. P. >

Ich bin auch ein großer Fan von Histogrammen mit der gleichen Anzahl von Punkten in jedem Bin und nicht mit der gleichen Bin-Breite. Ich finde normalerweise, dass diese die Daten weitaus besser darstellen als die konstante Behälterbreite, obwohl sie schwieriger zu produzieren sind.

Kommentare

  • Entschuldigung, ich hätte erwähnen sollen, dass ich dies auf automatisierte Weise tun muss. Die Option “ wird mehrmals ausgeführt, bis ich diejenige finde, die meinem Zweck am besten entspricht. “ hat ‚ arbeite nicht für mich. muss rechnerisch erfolgen …
  • Ich stimme zu – die Idee, dass es einen “ optimalen “ bin gibt width ist eine große vereinfachende Annahme.

Antwort

Wenn ich die Anzahl der Fächer normalerweise programmgesteuert bestimmen muss Beginnen Sie mit einem Histogramm, das weit mehr Fächer als nötig enthält. Sobald das Histogramm gefüllt ist, kombiniere ich Bins, bis ich genug Einträge pro Bin für die von mir verwendete Methode habe, z. Wenn ich Poisson-Unsicherheiten in einem Zählexperiment mit Unsicherheiten aus einer Normalverteilung modellieren möchte, bis ich mehr als 10 Einträge habe.

Antwort

Bitte sehen Sie diese Antwort als Ergänzung zu Mr. Rob Hyndmans Antwort .

Um Histogrammdiagramme mit genau gleichen Intervallen zu erstellen oder „binwidths“ mit dem Freedman-Diaconis-Regel entweder mit dem Basispaket R oder ggplot2 können wir eines verwenden der Werte der Funktion hist(), nämlich breaks. Angenommen, wir möchten ein Histogramm von qsec aus mtcars -Daten unter Verwendung der Freedman-Diaconis-Regel. In Basic R verwenden wir

x <- mtcars$qsec hist(x, breaks = "FD") 

Inzwischen in ggplot2 Paket, das wir verwenden

h <- hist(x, breaks = "FD", plot = FALSE) qplot(x, geom = "histogram", breaks = h$breaks, fill = I("red"), col = I("white")) 

Oder alternativ

ggplot(mtcars, aes(x)) + geom_histogram(breaks = h$breaks, col = "white") 

Alle von ihnen erzeugen Histogramm-Diagramme mit genau den gleichen Intervallen und der gleichen Anzahl von Bins wie beabsichtigt.

Antwort

I. Ich habe 600 Beobachtungen für Au g / t. Bin Größe 1 gibt mir Folgendes: Geben Sie hier die Bildbeschreibung ein

Die automatische Auswahl (den Bin-Bereich weglassen) ergibt Folgendes: Geben Sie hier die Bildbeschreibung ein.

Die Daten sehen im ersten und zweiten Diagramm wie folgt aus Es gibt kein Problem mit der Datenintegrität. Nur die Behältergröße 0,1 (g / t) beantwortet die Frage: Die Messungen waren sowohl ungenau als auch ungenau. Geben Sie hier die Bildbeschreibung ein.

Mein Urteil: 1. Es gibt Keine Messtechnik auf der Erde, um den wahren Wert des Naturphänomens aufzuzeigen. Alle Messungen sind ungefähr, einige liegen nahe am wahren Wert. Dies hängt vom Stichprobendesign, der Kalibrierung, den menschlichen Qualifikationen usw. ab. 2. Aus diesem Grund ist die Verteilung eher verzerrt als symmetrisch. 3. Trotzdem sollte die Form der Verteilung zumindest annähernd einem „glockenartigen“ Abschnitt ähneln. Jeweils eine Glocke (es sei denn, es gibt mehrere geologische Umgebungen). 4. Die Frequenzverteilung mit der Manipulation der Behältergröße kann dabei helfen, ein Muster dafür zu ermitteln, wie genau und präzise die Messungen durchgeführt wurden. Damit man eher eine experimentelle Erfassung der Behältergröße als eine in Stein gemeißelte Regel benötigt.

Kommentare

  • Dies ist eher ein Kommentar als ein antworte, es sei denn, du formulierst die Moral. Ich ‚ würde sagen, dass die Moral folgende ist: Alle Regeln sind Faustregeln, einige haben mehr statistische Grundlagen als andere, aber die meisten Regeln tun möglicherweise nicht das, was Sie wünschen, wenn Verteilungen eine sehr hohe Schiefe aufweisen oder Kurtosis. Verwenden Sie also auch Ihr Urteilsvermögen.
  • Sie haben Kommentare hinzugefügt, aber mir ist nicht klar, ob irgendwelche hilfreichen neuen Details zum Thread beitragen. 1.ist in Ordnung von mir, aber nicht das Problem hier. 2. ‚ folgt nicht aus 1. da einige Verteilungen nahezu symmetrisch sind. 3. ist zweifelhaft: Es gibt viele Situationen, in denen andere Formen als Glocken erwartet werden. 4. ist auch zweifelhaft, da die Qualität der ursprünglichen Messungen oft aus keinem Histogramm ersichtlich ist, aber oft am besten unter Berücksichtigung der sehr feinen Struktur einer Verteilung untersucht wird.
  • 2. Nahezu symmetrisch ist nicht symmetrisch. Sie können nicht annähernd schwanger sein: entweder schwanger oder nicht.
  • Sicher, aber die genaue Symmetrie der Daten ist so selten, dass ich “ symmetrisch “ jemand könnte dem auch vernünftigerweise widersprechen. ‚ ist sehr leicht nahezu symmetrisch; Aus diesem Grund und wie haben wir ein Maß für die Schiefe.
  • Es wurde bemerkt, aber Ihr Kommentar war allgemein gehalten und es fehlte der Kontext, den Sie jetzt angeben. Im Gegenzug sagte ich “ zweifelhaft “ nicht “ falsch „. Mein Hauptkommentar bleibt, dass Ihre Antwort ‚ dem Thread nicht wirklich viel dazu beiträgt, wie man die Behältergröße oder die entsprechende Anzahl von Behältern auswählt. Ein anderes Beispiel zu haben, in dem es ‚ schwierig ist, ist eine Wendung der Frage, nicht wirklich eine Antwort.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.