Messfehler / Ausreisser erkennen und elemieren

Neue Frage »

ISSchuster Auf diesen Beitrag antworten »
Messfehler / Ausreisser erkennen und elemieren
Hallo Zusammen,


ich hoffe mal ich bin hier "nicht ganz falsch" - eigentlich bin ich Programmierer aber ich stehe gerade vor einem mathematischen Problem bei dem ich keine Idee habe wo / wie ich anfangen soll.

Viellecht hat ja jemand einen Tip / Idee oder hat sowas schon gemacht.

Ich habe Messwerte - in dem Fall den Wasserstand eines Flusses. (Ist glaube ich wichtig - da man ja in etwa vorhersagen kann wie er sich entwickelt.)

Leider gibt es immer wieder mal fehlerhafte Messwerte die ausgefiltert werden sollen - oder durch einen Durschnittswert der umliegenden Werte ersetzt werden sollen.

Habe mal zwei Beispiel Grafiken angehängt.

Oben ist eindeutig zwei Mal ein Fehler drin (sehr extrem - aber könnte auch sein dass der Aussreisser "kleiner" ist).

Unten ist eine normale Kurve. Der Anstieg ist ein Hochwasser und es ist ja eine saubere Kurve die auch Sinn macht.

Die Frage ist jetzt - wie kann ich sowas berechnen.

Einfach Höchst- / Tiefstwerte rauswerfen macht nicht wirklich Sinn. Da muss es doch was anderes geben?

Extreme Messwerte (wie oben in der Grafik - bei denen die Werte davor und danach komplett abweichen) sind ein Fehler. Extreme Messwerte (wie unten in der Grafik - bei denen es eine "Kurve" gibt und der Wert "langsam" wieder fällt sind (zu 99%) ein Hochwasser (fehlerhafte Messwerte bilden normal keine Kurve).

Hat irgendjemand eine Idee wie man sowas berechnet? Oder noch besser - hat jemand sowas schon gemacht oder kennt ein Script / Klasse / Beispiel (für PHP, Perl, Python, ...).

Vielen Dank schon mal.

Gruss Stefan
Cugu Auf diesen Beitrag antworten »

Soweit ich das verstehe, ist der wesentliche Unterschied, dass im oberen Bild die extremen Messwerte sprunghaft und im unteren Bild langsam abklingen.
Das sollte man durch Bilden von Vorwaertsdifferenzenquotienten unterscheiden koennen.
Im simpelsten Fall bildet man .
Nehmen wir der Einfachheit halber an dass ist. Wenn in gleichen Abstaenden gemessen wird, kann man so skalieren.
Nun deuten die Messwerte auf einen Fehler hin und auf ein Hochwasser,
denn fuer die Differenzenquotienten erhaelt man bzw. .
Obwohl hier die Messwerte identische Groessenordnungen haben und in derselben Weise ansteigen, erkennt man einen klaren Unterschied beim Abklingen.
willyengland Auf diesen Beitrag antworten »

Evtl. mehrfach absichern.
Obiges Beispiel geht ja auf 900, was wohl bei dem Fluss unmöglich ist.
Also Werte die oberhalb eines bestimmten Levels liegen rausfiltern.

Dann gucken, ob es ein Spike ist (nur ein Punkt).
Das würde der Differenzenquotienten erledigen.
Man könnte auch gucken, ob die Kurve genauso aussieht, wenn man nur jeden zweiten Punkt nimmt.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »