Outlier detection und entfernen

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
mapeLB

Outlier detection und entfernen

Beitrag 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!
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Outlier detection und entfernen

Beitrag 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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Outlier detection und entfernen

Beitrag von jogo »

Ein allgemeiner Hinweis findet sich in den R-Fortunes:

Code: Alles auswählen

library("fortunes")
fortune(71)
Gruß, Jörg
wbart
Beiträge: 89
Registriert: Fr Mär 16, 2018 4:08 pm

Re: Outlier detection und entfernen

Beitrag 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
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Outlier detection und entfernen

Beitrag 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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten