Ich muss sofort klarstellen, dass ich ein praktizierender Softwareentwickler bin, kein Statistiker, und dass meine College-Statistik-Klasse schon sehr lange her ist…
Allerdings würde ich gerne wissen, ob es eine Methode zum Sammeln einer Reihe von beschreibenden Statistiken gibt, mit der dann ein Boxplot erstellt werden kann, bei dem keine einzelnen Stichproben gespeichert werden müssen.
Ich versuche, eine grafische Zusammenfassung der Warteschlangendienstzeiten in einem komplexen Prozess mit mehreren Warteschlangen zu erstellen. Ich habe in der Vergangenheit ein Paket namens tnftools verwendet, mit dem große Samples akkumuliert und dann zu einem schönen Diagramm mit Antwortzeiten und Ausreißern nachbearbeitet werden konnten. Aber tnftools sind für meine aktuelle Plattform nicht verfügbar.
Im Idealfall möchte ich in der Lage sein, eine Reihe von beschreibenden Statistiken "on the fly" zu sammeln, während der Prozess abläuft, und dann die Daten zur Analyse nach Bedarf zu extrahieren. Der Prozess kann jedoch nicht einfach Samples akkumulieren, da der damit verbundene Speicher / E / A-Aufwand die Leistung des Systems inakzeptabel beeinträchtigen würde.
quelle
Antworten:
Für den Boxplot "on the fly" benötigen Sie sowohl "on the fly" -min / max (trivial) als auch "on the fly" -Quartile (0,25, 0,5 = Median und 0,75).
In letzter Zeit wurde eine Menge Arbeit in Bezug auf das Problem des Online-Algorithmus (oder "on the fly" -Algorithmus) für die Medianberechnung geleistet.
Eine neuere Entwicklung ist binmedian . Als Nebeneffekt ist die Komplexität im schlimmsten Fall besser als bei der Schnellauswahl (weder online noch in einem Durchgang).
Den dazugehörigen Artikel sowie den C- und FORTRAN-Code finden Sie hier online . Möglicherweise müssen Sie die Lizenzdetails bei den Autoren erfragen.
Sie benötigen auch einen Single-Pass-Algorithmus für die Quartile, für den Sie den obigen Ansatz und die folgende rekursive Charakterisierung der Quartile in Bezug auf Mediane verwenden können:
und
Das heißt, das 25 (75) Prozent-Quartil liegt sehr nahe am Median derjenigen Beobachtungen, die kleiner (größer) als der Median sind.
Nachtrag:
Es gibt eine Vielzahl älterer Multi-Pass-Methoden zur Berechnung von Quantilen. Ein gängiger Ansatz besteht darin, ein deterministisch großes Reservoir von Beobachtungen zu verwalten / zu aktualisieren, die zufällig aus dem Datenstrom ausgewählt wurden, und Quantile (siehe diese Übersicht) auf diesem Reservoir rekursiv zu berechnen . Dieser (und verwandte) Ansatz wird durch den oben vorgeschlagenen ersetzt.
quelle
Anstatt nur den Median zu finden, gibt es einen Algorithmus, der ein geschätztes Histogramm direkt verwaltet: " den P-Quadrat-Algorithmus zur dynamischen Berechnung von Quantilen und Histogrammen ohne Speicherung von Beobachtungen". Dies ist wahrscheinlich viel effizienter als das wiederholte Binning für jedes gewünschte Quantil.
quelle