Angenommen, ich habe einen Datensatz : Amount of money (100, 50, 150, 200, 35, 60 ,50, 20, 500)
. Ich habe gegoogelt im Internet nach Techniken suchen, der verwendet werden kann , eine mögliche Ausreißer in diesem Datensatz zu finden , aber ich am Ende verwirrte.
Meine Frage ist : Welche Algorithmen, Techniken oder Methoden können verwendet werden, um mögliche Ausreißer in diesem Datensatz zu erkennen?
PS : Beachten Sie, dass die Daten keiner Normalverteilung folgen. Vielen Dank.
algorithms
outlier
Nation Chirara
quelle
quelle
Antworten:
Sie können BoxPlot für die Ausreißeranalyse verwenden. Ich würde Ihnen zeigen, wie das in Python geht:
Betrachten Sie Ihre Daten als Array:
Verwenden Sie jetzt Seaborn, um das Boxplot zu zeichnen:
Sie würden also eine Handlung erhalten, die ungefähr so aussieht:
Scheint, als wäre 500 der einzige Ausreißer für mich. Es hängt jedoch alles von der Analyse und dem Toleranzniveau des Analytikers oder des Statistikers sowie von der Problemstellung ab.
Weitere Tests finden Sie in einer meiner Antworten auf der CrossValidated SE.
Und es gibt einige nette Fragen zu Ausreißern und den Algorithmen und Techniken, um sie zu erkennen.
Mein persönlicher Favorit ist die Mahalanobis-Distanztechnik .
quelle
Eine Möglichkeit, Ausreißer zu erkennen, besteht darin, ein Vorhersagemodell zu erstellen und dann zu überprüfen, ob ein Punkt in den Bereich der Vorhersagen fällt. Aus informationstheoretischer Sicht können Sie sehen, um wie viel jede Beobachtung die Entropie Ihres Modells erhöht.
Wenn Sie diese Daten nur als Sammlung von Zahlen behandeln und kein Modell für ihre Generierung vorgeschlagen haben, können Sie sich auch den Durchschnitt ansehen. Wenn Sie sicher sind, dass die Zahlen nicht normal verteilt sind, können Sie keine Aussagen darüber machen, wie weit eine bestimmte Zahl vom Durchschnitt entfernt ist, aber Sie können sie nur in absoluten Zahlen betrachten.
Wenn Sie dies anwenden, können Sie den Durchschnitt aller Zahlen nehmen, dann jede Zahl ausschließen und den Durchschnitt der anderen nehmen. Welcher Durchschnitt sich am stärksten vom globalen Durchschnitt unterscheidet, ist der größte Ausreißer. Hier ist etwas Python:
quelle
Ein einfacher Ansatz wäre, dasselbe zu verwenden wie Box-Plots: weg als 1,5 (Median-q1) oder 1,5 (q3-Median) = Ausreißer.
Ich finde es in vielen Fällen nützlich, auch wenn es nicht perfekt und vielleicht zu einfach ist.
Es hat den Vorteil, keine Normalität anzunehmen.
quelle