Seite 1 von 1

Outlier detection und entfernen

Verfasst: Do Jul 05, 2018 11:10 am
von mapeLB
Hallo und zwar habe ich folgende Frage:

Und zwar arbeite ich aktuell mit mehreren Datensätzen, die die Koordinaten von ausgeführten Zeigebewegungen auf Zielpunkte enthalten. Es wurde eine x,y und z Koordinate für jeden Punkt erhoben. Bei der Messung kam es zeitweise dazu, dass das Gerät, was wir benutzt haben, die Koordinaten "zu früh" gemessen hat, das heißt es gibt Messwerte, die ganz klare Ausreißer darstellen. Allerdings stelle ich mich momentan offenbar ziemlich doof an, diese Ausreißer in den Datensätzen zu identifizierten. Geschweigedenn habe ich eine Idee, wie ich diese dann aus dem Datensatz entfernen kann.

Vielleicht gibt es hier ja jemanden, der da eine Idee für mich hat?

Vielen Dank!

Re: Outlier detection und entfernen

Verfasst: Do Jul 05, 2018 3:19 pm
von bigben
Als unser Spezialist für Zeigebewegungen, hast Du inhaltlich irgendwelche Vorstellungen, wie sich die "Ausreißer" von den anderen unterscheiden könnten?

LG,
Bernhard

Re: Outlier detection und entfernen

Verfasst: Do Jul 05, 2018 3:26 pm
von jogo
Ein allgemeiner Hinweis findet sich in den R-Fortunes:

Code: Alles auswählen

library("fortunes")
fortune(71)
Gruß, Jörg

Re: Outlier detection und entfernen

Verfasst: Sa Jul 07, 2018 11:19 am
von wbart
Hallo,

mit boxplot() kannst du eine Grafik erstellen die die Ausreißer als Kreise anzeigt. mit dem Argument outliers = FALSE werden die Outliers herausgenommen. Leider ist es mir ein Rätsel wie ich die bereinigten Daten, dann wieder als Tabelle speichern kann. Wenn ich den boxplot als neue Variable speichere ist das Ergebnis eine Liste. Vielleicht kommst du da ja weiter.

VG
Werner

Re: Outlier detection und entfernen

Verfasst: So Jul 08, 2018 11:02 pm
von bigben
Hallo Werner,

das, was im Boxplot als Outlier bezeichnet wird, kann man nicht universell als inhaltichen Outlier betrachten, schon gar nicht automatisch löschen. Insofern finde ich Deine Antwort nicht so hilfreich. Schau mal, ob Dir das folgende Codeschnipsel mit Deinem Problem hilft: Die Daten zu löschen, die nach Boxplotregeln als Ausreißer gelten:

Code: Alles auswählen

bsp <- c(rnorm(50), 10, 11)  # 10 und 11 sind unsere initialen Ausreißer
boxplot(bsp)
outlier <- boxplot(bsp)$out
bsp.bereinigt <- Filter(function(x) !(x %in% outlier), bsp)
boxplot(bsp.bereinigt)  # 10 und 11 sind verschwunden, andere Werte können jetzt als Ausreißer gelten
LG,
Bernhard