Muszę od razu wyjaśnić, że jestem praktykującym programistą, a nie statystykiem, a moja klasa statystyk z college'u była bardzo dawno temu…
To powiedziawszy, chciałbym wiedzieć, czy istnieje metoda gromadzenia zestawu statystyk opisowych, które można by następnie wykorzystać do stworzenia wykresu pudełkowego, który nie pociąga za sobą przechowywania wielu pojedynczych próbek?
Usiłuję utworzyć graficzne podsumowanie czasów obsługi kolejek w złożonym procesie składającym się z wielu kolejek. W przeszłości korzystałem z pakietu o nazwie tnftools, który pozwalał na gromadzenie dużych próbek, a następnie przetwarzanie ich w ładny wykres czasów odpowiedzi i wartości odstających… Ale tnftools nie są dostępne dla mojej obecnej platformy.
Idealnie chciałbym móc gromadzić zestaw statystyk opisowych „w locie” w trakcie trwania procesu, a następnie wyodrębniać dane do analizy na żądanie. Ale nie mogę po prostu pozwolić, aby proces gromadził próbki, ponieważ zaangażowana w to pamięć / operacja miałaby niedopuszczalny wpływ na wydajność systemu.
źródło
Odpowiedzi:
W przypadku wykresu pudełkowego „w locie” potrzebne będą kwantyle „w locie” min / max (trywialne), a także kwartyle „w locie” (0,25, 0,5 = mediana i 0,75).
Ostatnio dużo pracy dotyczy problemu algorytmu online (lub „w locie”) do obliczania mediany.
Ostatnie zmiany to binmedian . W skrócie , ma również większą złożoność w najgorszym przypadku niż szybki wybór (który nie jest ani online, ani jednoprzebiegowy).
Powiązany artykuł, a także kod C i FORTRAN można znaleźć tutaj . Być może będziesz musiał sprawdzić szczegóły licencji u autorów.
Będziesz także potrzebował algorytmu jednoprzebiegowego dla kwartylów, do którego możesz zastosować powyższe podejście i następującą rekurencyjną charakterystykę kwartylów pod względem median:
i
tj. 25 (75) procent kwartyl jest bardzo zbliżony do mediany tych obserwacji, które są mniejsze (większe) niż mediana.
Uzupełnienie:
Istnieje wiele starszych wieloprzebiegowych metod obliczania kwantyli. Popularnym podejściem jest utrzymywanie / aktualizowanie wyznaczonego rozmiaru zbiornika obserwacji losowo wybranych ze strumienia i rekurencyjne obliczanie kwantyli (patrz ten przegląd) na tym zbiorniku. To (i powiązane) podejście zostało zastąpione tym zaproponowanym powyżej.
źródło
Zamiast po prostu znaleźć medianę, istnieje algorytm, który bezpośrednio utrzymuje szacowany histogram: „ algorytm kwadratu P do dynamicznego obliczania kwantyli i histogramów bez przechowywania obserwacji”. Prawdopodobnie będzie to o wiele bardziej wydajne niż wielokrotne binowanie dla każdego kwantyla, jaki chcesz.
źródło