Gewusst wie: ersetzen von Ausreißern mit dem 5. und 95. Perzentil, Werte in R
Möchte ich ersetzen Sie alle Werte in meinem relativ großen R dataset die Werte oberhalb der 95. und unterhalb der 5. Perzentile, mit denen Perzentil-Werte jeweils. Mein Ziel ist es zu vermeiden, einfach zuschneiden, diese Ausreißer aus den Daten ganz.
Jede Beratung würde sehr geschätzt, ich finde keine Informationen, wie dies überall sonst.
Daneben gibt es viele weitere details erforderlich, um diese Frage zu beantworten, sind Sie wirklich sicher, dass Sie dies tun wollen? Eine relativ große Datenmenge von sagen wir 100 zahlen, werden 5 Werte unterhalb der 5. Perzentile und 5 oberhalb der 95. Perzentile, wenn es keine Ausreißer.
Große Sorgfalt bei der Einnahme von diesen Arten von Maßnahmen, die Sie drastisch ändern Ihre Statistiken auf dataset. Wenn dieser gültig ist, hängt davon ab, was Sie versuchen, aus den Daten und der Verteilung der Daten (z.B. Normalverteilung).
seien Sie vorsichtig mit der Verwendung von
Ich verwende fast immer
Bobbo, die fehlenden Angaben umfassen würde, was das Modell ist und wie Ihnen die Definition Ihrer Perzentile; ob Sie wollten empirischen Abkürzungen aus den Daten abgeleitet oder cutoffs abgeleitet von einem Modell, und was das Modell ist, und speziell, wie Sie wollte, die durch die Punkte ersetzt,... " ersetzen durch random-Werte mit Hilfe der Modell-Parameter?... eine andere form der Zuschreibung? tack zurück auf das Ende? Zusätzlich, was Sie tun, keine Prüfung der Robustheit von selbst. Es würde erfordern das hinzufügen etwas anderes.
Große Sorgfalt bei der Einnahme von diesen Arten von Maßnahmen, die Sie drastisch ändern Ihre Statistiken auf dataset. Wenn dieser gültig ist, hängt davon ab, was Sie versuchen, aus den Daten und der Verteilung der Daten (z.B. Normalverteilung).
seien Sie vorsichtig mit der Verwendung von
=
als Zuweisungsoperator. Die <-
kann noch verstärkt werden, aber =
kann nichtIch verwende fast immer
=
, und ich habe selten in Schwierigkeiten. Nur in aufrufen wie system.time(bla <- spam())
ist die <-
obligatorisch.Bobbo, die fehlenden Angaben umfassen würde, was das Modell ist und wie Ihnen die Definition Ihrer Perzentile; ob Sie wollten empirischen Abkürzungen aus den Daten abgeleitet oder cutoffs abgeleitet von einem Modell, und was das Modell ist, und speziell, wie Sie wollte, die durch die Punkte ersetzt,... " ersetzen durch random-Werte mit Hilfe der Modell-Parameter?... eine andere form der Zuschreibung? tack zurück auf das Ende? Zusätzlich, was Sie tun, keine Prüfung der Robustheit von selbst. Es würde erfordern das hinzufügen etwas anderes.
InformationsquelleAutor Bobbo | 2012-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser es tun würde.
Vielen Dank, funktioniert wie ein Traum. Ich bin neu auf dieser website, gibt es eine Möglichkeit, ich kann dir rep geben oder etwas für diese Antwort?
Sie können die Antwort(en) und übernehmen Sie es (Sie akzeptiert es schon). Siehe stackoverflow.com/faq, die auch geben Ihnen ein Signal, wenn du Sie alle gelesen
Das obige snippet ersetzen auch NAs (falls vorhanden) durch die quantile-Werte!
InformationsquelleAutor Romain Francois
Können Sie es sich mit einer Zeile code mit
squish()
:In der Waage-Bibliothek, betrachten Sie
?squish
und?discard
Beispiel:
InformationsquelleAutor Ricardo Saporta
Ich habe diesen code bekommen, was Sie brauchen:
wo
df
Ihre Daten.Rahmen undvalue
die Spalte, die Ihre Daten enthält.InformationsquelleAutor Paul Hiemstra
Gibt es einen besseren Weg, um dieses problem zu lösen. Ein Ausreißer ist nicht jeder Punkt über der 95. Perzentile oder unterhalb der 5. Perzentil. Stattdessen ein Ausreißer betrachtet, wenn es unter dem ersten Quartil – 1.5·IQR oder über Dritte Quartil + 1.5·IQR.
Dieser website erklären, in mehr gründlich http://www.mathwords.com/o/outlier.htm
Ich habe nicht die Definition von unter 20% oder über 80%. Ich verwendet eine gemeinsame definition der Ausreißer, die wahrscheinlich verwendet werden, in eine Einführung in die Statistik-Klasse. Etwas weniger das erste Quartil - 1.5 * der interquartilbereich oder über dem Dritten Quartil + 1.5 * der interquartilbereich ist als ein Ausreißer. Der interquartilbereich(IQR) ist der Bereich zwischen dem ersten Quartil und dem Dritten Quartil (mittlere 50% der Daten).
Das ist keine "gewöhnliche" definition, was ein Ausreisser ist. Es ist eine beliebige ein.
Wenn Sie einen 101 Statistik-Klasse im college, dann geben Sie diese definition, was ein Ausreisser ist. Überprüfen Sie die website in meiner Antwort. Es gibt andere Definitionen, was ein Ausreißer ist, aber dies ist die grundlegende und am häufigsten verwendete. Und die definition, die ich gepostet ist genauer als der in der Frage. Wenn Sie die Daten (.99998,1,1,1,1,1,1,1,1.0001), dann .99998 und 1.0001 eingestuft werden fälschlicherweise als Ausreißer, wenn Sie den Ausreißer-Klassifikation beschriebene Methode in Frage.
InformationsquelleAutor Kyle Peters