Zum Inhalt springen
LG4ML
  • Start
  • Idee
  • Projekte
  • Über uns
  • Wiki
  • Blog

Buzzwords

7
  • Transfer Learning
  • Machine Learning
  • Künstliche Intelligenz
  • Deep Learning
  • Data Science Workflow
  • Computer Vision
  • Big Data

Computer Vision

3
  • YOLOv4
  • Object Tracking
  • Frame Differencing

Grundlagen

14
  • Unüberwachtes Lernen
  • Überwachtes Lernen
  • Trainingsphase
  • Sampling
  • Regression
  • Preprocessing
  • Metrics
  • Klassifikation
  • Hyperparameter Tuning
  • Hyperparameter
  • Distanzmetriken
  • Data Science Workflow
  • Data Exploration
  • Cross Validation

Lernverfahren

8
  • Support Vector Machine
  • Principal Component Analysis
  • Perceptron
  • Logistische Regression
  • Lineare Regression
  • K-Nearest-Neighbours
  • K-Means
  • Decision Tree

Neuronale Netze

5
  • Verlustfunktion
  • Transfer Learning
  • Künstliches Neuron
  • Early Stopping
  • Aktivierungsfunktion

Preprocessing

8
  • Value Imputation
  • Scaling
  • Principal Component Analysis
  • Outlier Detection Basic
  • Outlier Detection Advanced
  • Frequenz Filter
  • Feature Engineering
  • Data Augmentation

Python Pakete

1
  • Data-Science Pakete
View Categories
  • Startseite
  • Docs
  • Preprocessing
  • Outlier Detection Advanced

Outlier Detection Advanced

2 min read

In diesem Artikel soll es ebenfalls um Outlier Detection gehen, allerdings um “angewandte Outlier Detection” oder auch “Outlier Detection in der freien Wildbahn”. Angenommen, man hat bereits ein Machine Learning Modell trainiert und möchte dieses jetzt in einer Echtzeit-Umgebung einsetzen. In diesem Fall gibt es verschiedene Möglichkeiten, an das Thema der Erkennung von Ausreißern heranzugehen – dieser Artikel stellt einige Wege vor.

Weg 1: ein Sample alle n Sekunden #

Angenommen, wir haben eine Anwendung, die Daten von einem Beschleunigungssensor aufnimmt, zum Beispiel zur Bewegungserkennung. Alle paar Sekunden, z. B. alle 3 Sekunden, nehmen wir die gerade aufgenommenen 3 Sekunden an Daten und führen unsere Outlier Detection auf dieser Zeitreihe durch. Dabei kann das Verfahren beliebig aus den bisher vorgestellten Verfahren gewählt werden, also bspw. eine Distribution Based Outlier Detection sein. Diese Herangehensweise erlaubt uns also, die gleiche Outlier Detection und letztendlich auch das gleiche Preprocessing zu verwenden, wie beim ersten Training des Machine Learning Modells. Außerdem kann dieser Ansatz sehr gut mich hochfrequenten Daten umgehen, wie z. B. Beschleunigungsdaten mit mehreren Hundert Hertz. 

Weg 2: jeder einzelne Datenpunkt #

Eine andere Möglichkeit ist, sich jeden einzelnen Datenpunkt zum Zeitpunkt seiner Aufnahme anzuschauen, und sofort (wenn der Punkt “reinkommt”) zu entscheiden, ob es sich um einen Ausreißer handelt oder nicht. Da wir hier unter Umständen ein vielfaches an Rechenpower benötigen, ist dieses Verfahren eher für niederfrequente Zeitreihendaten geeignet, bei denen es nur jede Sekunde oder alle paar Sekunden einen neuen Datenpunkt gibt. Ein verbreitetes Beispiel für solche Daten sind GPS-Daten, bei denen wir nur ca. 1 mal pro Sekunde eine neue Position ermitteln. Bei jedem neuen Datenpunkt den wir erhalten, müssen wir also nur Anhand der letzten Datenpunkte entscheiden, ob es sich bei diesem “neuen” Punkt um einen Ausreißer handelt oder nicht. Hier kann man jetzt unterschiedlich herangehen:

HerangehensweiseBeschreibung
Domain knowledgeWenn wir wissen, wie unsere Daten auszusehen haben, können wir schon viele Punkte als Ausreißer klassifizieren. In diesem Fall bietet sich das Beispiel Herzschlag an: wir wissen, dass die Herzfrequenz in der Regel nicht 200 Schläge/Minute überschreitet, also klassifizieren wir alle Datenpunkte, die deutlich größer als 200 Schläge/Minute sind als Outlier.
Time basedEin weiterer Ansatz ist es festzustellen, dass Ausreißer einem bestimmten Zeitmuster folgen. Wenn man bspw. den GPS-Sensor auf dem Smartphone aktiviert und nach seiner genauen Position sucht, dauert es meistens ein paar Sekunden, bis das Smartphone die genaue Position gefunden hat, und dabei “springt” unsere Position ggf. um einige Meter hin und her. Da bietet es sich an, alle Daten, die in ersten 10 Sekunden nach einschalten der GPS-Antenne aufgenommen wurden, als Outlier zu klassifizieren.
“Distance” basedWenn wir wissen, dass zwei Punkte immer recht nah aneinander liegen, definieren wir eine Distanze-Schwelle, die zwei Punkte maximal auseinander sein dürfen. Wir müssen also immer nur den letzten gesehen Punkt speichern und können diesen dann mit dem nächsten Punkt vergleichen. Wird die Schwelle überschritten, ist der neue Datenpunkt ein Outlier.
RingbufferMöchte man einen Ansatz wie die Distribution Based Outlier Detection verfolgen, gibt es die Möglichkeit, über eine Datenstruktur wie einen Ringpuffer oder eine Pipe die letzten Sekunden an Daten zu speichern, um anschließend auf Basis dieser Daten eine Verteilung zu ermitteln, in die der “neue” Punkt dann reinpasst (= kein Outlier), oder eben nicht (= Outlier).
Herangehensweisen zur Outlier Detection für jeden einzelnen neuen Datenpunkt.

Kombination von Verfahren #

Je nach Art der Daten ist es durchaus auch angebracht bzw. erforderlich, mehrere dieser Herangehensweisen miteinandern zu kombinieren. Bei GPS-Daten könnte man zum Beispiel mit Time based die ersten paar Sekunden herausfiltern, um anschließend über “Distance” based Outlier im laufenden Datenstrom zu erkennen.

Je nachdem, was der Anwendungsfall ist und welche Probleme es zu lösen gibt, kann man die oben genannten Verfahren nutzen oder selbst ein Verfahren entwickeln, um zuverlässig Outlier zu erkennen. Dieser Artikel stellt lediglich eine Auswahl an Möglichkeiten vor, wie man an ein solchen Problem herangehen kann.

Updated on 12/03/2022

What are your Feelings

  • Happy
  • Normal
  • Sad
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Inhalt
  • Weg 1: ein Sample alle n Sekunden
  • Weg 2: jeder einzelne Datenpunkt
  • Kombination von Verfahren

LG4ML

Promoting Machine Learning from Lüneburg!

© 2025 LG4ML

Navigation

  • Kontakt
  • Datenschutzerklärung
  • Impressum

Folge uns auf

Github Slack Instagram

Made with 🍺 in Lüneburg.

Cookie-Hinweis
Wir verwenden Cookies auf unserer Website, um Ihnen die bestmögliche Erfahrung zu bieten, indem wir uns an Ihre Präferenzen und wiederholten Besuche erinnern. Wenn Sie auf "Alle akzeptieren" klicken, erklären Sie sich mit der Verwendung aller Cookies einverstanden. Sie können jedoch die Einstellungen besuchen, um eine kontrollierte Zustimmung zu erteilen.
EinstellungenAlle akzeptieren
Zustimmung verwalten

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
immer aktiv
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDauerBeschreibung
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SPEICHERN & AKZEPTIEREN