Forum: Digitale Signalverarbeitung / DSP / Machine Learning Ausreißer/Störungen erkennnen und filtern


von Roland P. (pram)


Lesenswert?

Hallo, hier sind sicher ein paar Filterexperten.
Ich habe das Problem, dass ich aus einen Datenstrom von Messwerten 
Ausreißer raus filtern muss:

Momentan mache ich es so, dass ich mir ein Fenster von 5 (bzw. 7) 
Punkten ansehe und anhand der Daten ein Approximationspolynom vom Grad 2 
(bzw. 3) bestimme.
Dann berechne ich den Abstand vom mittleren Punkt zum Polynom. Ist 
dieser zu groß, so wird der Punkt als Störung erkannt.

Konkret:

x=Datenpunkte

        Ausreisser
      x
      _   ] Abstand
   _,' '._
x /x     x\  x
 /         \
             Approximationspolynom

So weit klappt das auch hervorragend, allerdings hab ich ein Problem bei 
Sprungstellen:

      x  x x_
      _ -''
   _,'
x /x
 /

da auch hier die Punkte am Rand einen zu großen Abstand zum Polynom 
haben und fänschlicherweise als Ausreißer erkannt werden.

Ich möchte konkret bis zu 2 aufeinanderfolgende Ausreißer zuverlässig 
erkennen können ohne dass ich mir den Datensatz an den Sprungstellen und 
anderen Stellen "versaue".

hat jemand eine Idee wie ich das machen könnte.

Gruß
Roland

von Zacc (Gast)


Lesenswert?

Einzelstehende Aureisser kriegt man mit dem Medianfilter raus. Ein 
meidanfilter nimmt die umgebenden Punkte, [-5..+5], sortiert deren wert 
und nimmt den mittleren der Folge.

von Roland P. (pram)


Lesenswert?

Danke für den Tip, schaut auf den ersten Blick nicht schlecht aus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.