[PYTHON] Berechnen Sie die Wahrscheinlichkeit von Ausreißern auf den Box-Whiskern

Zusammenfassung dieses Artikels

Motivation, diesen Artikel zu schreiben

――Wenn Sie bei der statistischen Analyse in Unternehmen ein Box-Bart-Diagramm zeichnen, werden häufig "Ausreißer" angezeigt. ――Ich wollte wissen, wie wahrscheinlich es ist, dass "Ausreißer" auftreten, wenn eine bestimmte Verteilung angenommen wird.

Einführung: Box Whisker und Ausreißer

Auf den folgenden Websites finden Sie Erläuterungen zu Box-Whiskern und Ausreißern in Box-Whiskern.

Berechnen Sie die Auftrittswahrscheinlichkeit von Ausreißern in der Normalverteilung

Berechnen wir die Wahrscheinlichkeit von Ausreißern anhand der Wahrscheinlichkeitsdichtefunktion der Standardnormalverteilung.

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats

q1_ideal = stats.norm.ppf (q = 0,25, loc = mu, scale = sd) # 1. Quadrant q3_ideal = stats.norm.ppf (q = 0,75, loc = mu, scale = sd) # 3. Quadrant iqr_ideal = q3_ideal-q1_ideal # Quadrant lb_ideal = q1_ideal-1.5 * iqr_ideal # Untere Ausreißergrenze ub_ideal = q3_ideal + 1.5 * iqr_ideal # Obere Ausreißergrenze

print('Q1:', q1_ideal)
print('Q3:', q3_ideal)
print('IQR:', iqr_ideal)
print('Lower Bound:', lb_ideal)
print('Upper Bound:', ub_ideal)

print ('Wahrscheinlichkeit eines niedrigeren Ausreißers:', stats.norm.cdf (x = lb_ideal, loc = mu, scale = sd) * 100, '%') print ('Wahrscheinlichkeit des oberen Ausreißers:', stats.norm.sf (x = ub_ideal, loc = mu, scale = sd) * 100, '%') print ('Wahrscheinlichkeit von Ausreißern:', (stats.norm.sf (x = ub_ideal, loc = mu, scale = sd) + stats.norm.cdf (x = lb_ideal, loc = mu, scale = sd)) * 100,'%')

>Q1: -0.674489750196
>Q3: 0.674489750196
>IQR: 1.34897950039
>Lower Bound: -2.69795900078
>Upper Bound: 2.69795900078

Wahrscheinlichkeit eines niedrigeren Ausreißers: 0,348830161964% Wahrscheinlichkeit eines oberen Ausreißers: 0,348830161964% Wahrscheinlichkeit von Ausreißern: 0,697660323928%

Bei einer Normalverteilung beträgt die Wahrscheinlichkeit, einen Ausreißer zu bekommen, 0,7%. Wenn es 1000 Proben gibt, sind ungefähr 7 außer Betrieb. 0,3% liegen außerhalb von 3σ, also ist es mehr als das.

Stellen Sie sicher, dass dies tatsächlich der Fall ist

Verwenden wir Daten, die zufällig aus einer Normalverteilung entnommen wurden, um festzustellen, ob dies wirklich geschieht.

#Datengenerierung n = 1000000 # Anzahl der Proben mu = 0 # Durchschnitt sd = 1 # Standardabweichung q1 = stats.scoreatpercentile(data, 25) q3 = stats.scoreatpercentile(data, 75) iqr = q3-q1 lb = q1-1.5iqr ub = q3+1.5iqr print('Q1:', q1) print('Q2:', med) print('Q3:', q3) print('IQR:', iqr) print('Lower Bound:', lb) print('Upper Bound:', ub) print ('Verhältnis der Anzahl der Proben mit oberen Ausreißern zur Gesamtzahl der Proben:', len (np.where (Daten <lb) [0]) / n * 100, '%') print ('Verhältnis der Anzahl der Proben mit niedrigeren Ausreißern zur Gesamtzahl der Proben:', len (np.where (data> ub) [0]) / n * 100, '%') print ('Verhältnis der Anzahl der Ausreißer zur Gesamtzahl der Stichproben:', (len (np.where (data> ub) [0]) + len (np.where (data <lb))) / n * 100,'%')

>Q1: -0.674873830027
>Q2: -0.00106013590319
>Q3: 0.673290672641
>IQR: 1.34816450267
>Lower Bound: -2.69712058403
>Upper Bound: 2.69553742664

Prozentsatz der Gesamtzahl der Proben mit oberen Ausreißern: 0,3554% Prozentsatz aller Proben mit niedrigeren Ausreißern: 0,3478% Prozentsatz der Ausreißer an der Gesamtzahl der Stichproben: 0,7032%

Der Prozentsatz der Stichproben mit Ausreißern, die durch Zufallsstichproben berechnet wurden, betrug 0,7%, was fast dem Wert entspricht, der aus der Wahrscheinlichkeitsdichtefunktion berechnet wurde.

Recommended Posts

Berechnen Sie die Wahrscheinlichkeit von Ausreißern auf den Box-Whiskern
Untersuchen Sie die Auswirkung von Ausreißern auf die Korrelation
So berechnen Sie die Volatilität einer Marke
Berechnen Sie die Wahrscheinlichkeit, eine Tintenfischmünze zu sein, mit dem Bayes-Theorem [Python]
Sprechen Sie über die Fluchtwahrscheinlichkeit eines zufälligen Gehens auf einem ganzzahligen Gitter
Berechnen Sie das Volumen aus der zweidimensionalen Struktur einer Verbindung
Schritte zur Berechnung der Wahrscheinlichkeit einer Normalverteilung
Eine Überlegung zur Visualisierung des Anwendungsbereichs des Vorhersagemodells
Berechnen Sie das Produkt von Matrizen mit einem Zeichenausdruck?
Berechnen Sie die Anzahl der Änderungen
Hinweis zum Standardverhalten von collate_fn in PyTorch
Ist die Niederschlagswahrscheinlichkeit korrekt?
Die Geschichte des Exportierens eines Programms
Unter Linux ist der Zeitstempel einer Datei etwas vorbei.
Finden Sie den Rang der Matrix in der XOR-Welt (Rang der Matrix auf F2)
Ein Befehl zum einfachen Überprüfen der Netzwerkgeschwindigkeit auf der Konsole
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Ungefährer Abstand zwischen zwei Punkten auf der Oberfläche eines rotierenden Ellipsoids (auf der Erdoberfläche)
Berechnen Sie die kürzeste Route eines Diagramms mit der Dyxtra-Methode und Python
Messen Sie die Assoziationsstärke in einer Kreuztabelle
Veröffentlichen Sie das Thema Google Mail auf Twitter
Ich habe versucht, die Wartezeit der Ausführungswarteschlange eines Prozesses unter Linux zu messen
Zeigen Sie das Diagramm von tensorBoard auf jupyter an
[Python] [Meta] Ist der Python-Typ ein Typ?
Schätzen Sie die Wahrscheinlichkeit, dass eine Münze mit MCMC erscheint
Ändern Sie die Reihenfolge von PostgreSQL in Heroku
Ein Memo, das die Achsenspezifikation der Achse erklärt
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
Die Geschichte der Verarbeitung A von Blackjack (Python)
[Python] Ein Fortschrittsbalken auf dem Terminal
Beachten Sie den Abschluss eines zeitaufwändigen Befehls
Versuchen Sie, die Umweltkonzentration organischer Fluorverbindungen mit offenen Daten auf einer Karte darzustellen
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat
Holen Sie sich den Aufrufer einer Funktion in Python
Visualisieren Sie die innere Schicht des neuronalen Netzwerks
Das Verhalten von signal () hängt von der Kompilierungsoption ab
Hinweise zum Anpassen der Diktatlistenklasse
Berechnen Sie die Speicherfreigaberate von Linux-Prozessen
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
[2020Juli] Überprüfen Sie die UDID des iPad unter Linux
Kopieren Sie die Liste in Python
Finden Sie die Anzahl der Tage in einem Monat
Schreiben Sie eine Notiz über die Python-Version von Python Virtualenv
[Python] Ein grobes Verständnis des Protokollierungsmoduls
Ausgabe in Form eines Python-Arrays
Zum Zeitpunkt des Python-Updates mit Ubuntu
Ändern Sie die Auflösung von Ubuntu, das auf VirtualBox ausgeführt wird
Die Geschichte eines Mel-Icon-Generators
Berücksichtigung der Stärken und Schwächen von Python
[AWS S3] Bestätigung des Vorhandenseins von Ordnern in S3
Erstellen Sie eine GUI auf dem Terminal mit Flüchen
Ich habe ein wenig über die Klasse recherchiert
[Python3] Machen Sie einen Screenshot einer Webseite auf dem Server und schneiden Sie sie weiter zu