Anomalie-Erkennung · Verständlich erklärt

Der Local Outlier Factor verständlich erklärt

Ein Haus, das in der Stadt weit abseits steht, fällt auf. Auf einem Dorf wäre derselbe Abstand normal. Ein Rechenverfahren nutzt genau diesen Gedanken, um Auffälliges unter lauter ähnlichen Fällen zu finden. Diese Seite erklärt, wie es das tut und wo es scheitert.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

Ein Wort unbekannt? Das Begriffsverzeichnis erklärt es in wenigen Sätzen.

Das Haus am Dorfrand

Stellen Sie sich zwei Häuser vor. Das eine steht in einer Stadt. Seine Nachbarn stehen eng beieinander, dieses Haus aber 40 Meter abseits. Das andere steht auf einem Dorf, wo alle Häuser weit auseinander stehen. Auch dort sind es 40 Meter bis zum nächsten Haus.

Das Stadthaus fällt auf, das Dorfhaus nicht. Gleicher Abstand, anderes Urteil. Was auffällt, hängt von der eigenen Gegend ab. Eine feste Regel wie „über 30 Meter ist auffällig“ würde das ganze Dorf melden.

Das Verfahren dieser Seite vergleicht darum jedes Ding mit seiner Gegend. Es heißt Local Outlier Factor, auf Deutsch etwa „lokaler Ausreißer-Faktor“. Wir kürzen es mit LOF ab.

Sonderfahrten unter lauter Paketlieferungen

Ein Paketdienst fährt jeden Tag viele Touren. Zu jeder Tour schreibt jemand Kennzahlen auf, etwa die Streckenlänge, die Zahl der Halte und die Fahrdauer. Fast alle Touren ähneln sich. Ab und zu gibt es eine Sonderfahrt, Fachwort Anomalie.

Zeichnen Sie jede Tour als Punkt auf ein Blatt. Ähnliche Touren liegen nah beieinander. Der Abstand zweier Punkte sagt, wie verschieden die Kennzahlen der beiden Touren sind. Die normalen Touren bilden eine Wolke. Die Sonderfahrten liegen abseits.

Die Messungen auf dieser Seite stammen aus einem Programm zum Ausprobieren, das am Ende vorgestellt wird. Es rechnet mit künstlich erzeugten Touren und lässt drei andere Verfahren zum Vergleich mitlaufen. Dieses vereinfachte Rechenbild heißt in der Fachsprache Modell. Die Aussagen in diesem Teil beschreiben das Rechenbild, nicht die Wirklichkeit.

So rechnet das Verfahren

Für jede Tour geht das Verfahren in drei Schritten vor.

  • Nachbarn suchen. Es sucht die Touren mit den ähnlichsten Kennzahlen. Wie viele es sind, legt man vorher fest. Diese Zahl heißt k. Zunächst sind es 20.
  • Gedränge messen. Es bildet den Durchschnitt der Abstände von der Tour zu ihren Nachbarn. Kurze Abstände bedeuten Gedränge, lange bedeuten Leere.
  • Vergleichen. Dieselbe Messung macht es für jeden Nachbarn. Dann fragt es: Wie viel dünner ist es um die Tour als um ihre Nachbarn?

Das Ergebnis ist eine Zahl je Tour. Eine Zahl um eins heißt: Es ist so dicht besetzt wie bei den Nachbarn. Je höher die Zahl, desto dünner ist es um die Tour im Vergleich zu ihrer Gegend. Sortiert man alle Touren danach, entsteht eine Rangliste: Oben stehen die auffälligsten.

Dazu kommt eine Faustregel für eine Grenze: Eine Zahl über eineinhalb gilt als auffällig. Normale Touren lagen in der Messung typischerweise nahe bei eins.

Zurück zu den Häusern, grob gerechnet. Das Dorfhaus ist 40 Meter von seinen Nachbarn entfernt, und diese sind es von ihren Nachbarn auch. Verhältnis: eins. Das Stadthaus ist 40 Meter von seinen Nachbarn entfernt, doch diese stehen untereinander nur 8 Meter auseinander. Verhältnis: 5. Das liegt weit über der Faustregel.

Wie viele Nachbarn? Die Falle bei Gruppen

Stellen Sie sich eine Reisegruppe von 30 Leuten vor, die weit abseits auf einem großen Platz steht. Sie gehören dazu und fragen sich: Ist es hier einsam? Sie schauen nur auf Ihre 20 nächsten Nachbarn. Alle gehören zur Gruppe, alle stehen dicht. Ihr Urteil: ganz normal. Dass die Gruppe weit weg vom übrigen Platz steht, sehen Sie nicht.

Schauen Sie dagegen auf 40 Nachbarn, sind Fremde dabei. Jetzt fällt die Einsamkeit auf.

Bei Touren ist es dasselbe. Nehmen wir 30 Sonderfahrten, die sich untereinander ähneln. Mit 20 Nachbarn sieht jede nur ihre Gruppe, und das Verfahren hält sie für normal. Die Messung vergleicht jeweils eine Sonderfahrt mit einer normalen Tour: Wessen Zahl ist höher? Ein gutes Verfahren gibt der Sonderfahrt fast immer die höhere, Raten nur so oft wie ein Münzwurf. Mit 20 Nachbarn bekam sie die höhere Zahl seltener als beim Münzwurf, mit 40 Nachbarn in der Messung fast immer.

Der Haken: Man kennt die Größe einer solchen Gruppe vorher nicht, und auch nicht, ob es überhaupt eine gibt. Das passende k setzt also Wissen voraus, das man erst gewinnen will.

Zwischen zwei Wolken

Manchmal gibt es mehrere Arten normaler Touren, etwa Stadtfahrten und Fernfahrten. Jede Art bildet eine eigene Wolke. Eine auffällige Tour kann zwischen zwei Wolken liegen.

Ein Verfahren, das das Normale als eine einzige Wolke beschreibt, setzt deren Mitte an den Durchschnitt aller Touren. Dort liegt eine Tour zwischen zwei Wolken oft und gilt als normal. Das ist unsere Erklärung, gemessen ist nur das Ergebnis. Der LOF vergleicht dagegen mit der Gegend, und zwischen den Wolken ist es dünn besetzt.

In der Messung gab es drei Arten und 30 solche Touren. Bei passendem k, der Zahl der Nachbarn, war der LOF besser als der Münzwurf, die drei anderen Verfahren schlechter. Das Fenster für k ist eng: Mit zu wenigen oder zu vielen Nachbarn war auch der LOF schlechter.

Rangliste und Grenze sind zwei Dinge

Eine Zeitung zeigt die Rangliste der größten Städte. Die Rangliste stimmt. Wo eine Großstadt beginnt, steht darin nicht. Beim LOF entspricht das der Grenze eineinhalb: Die Rangliste sagt, wer weiter oben steht, aber nicht, ab wo es auffällig ist.

Stellen Sie sich vor, jede Tour bekommt 40 zusätzliche Kennzahlen, ausgewürfelte Zahlen ohne Bezug zur Tour. Die Rangliste blieb in der Messung fast so gut wie vorher. Doch die Werte der Sonderfahrten rückten auf die eins zu. Mit der Grenze eineinhalb wurde fast keine Sonderfahrt mehr gefunden.

Eine Deutung: Die ausgewürfelten Zahlen überdecken die wenigen wichtigen. Alle Touren wirken etwa gleich verschieden, und der Vergleich ergibt überall etwa eins.

Auch ohne ausgewürfelte Zahlen ist die Grenze eng. Ein Fehlalarm ist eine normale Tour, die fälschlich als auffällig gilt. Legt man die Grenze knapp über eins, trifft das in der Messung gut jede fünfte normale Tour. Legt man sie auf zweieinhalb, bleibt ein Teil der Sonderfahrten unentdeckt.

Häufige Missverständnisse

  • „Mehr Nachbarn sind besser.“ Nein, nur bis zu einem Punkt. Bei 100 Touren und 99 Nachbarn hat jede Tour dieselben Nachbarn, auch die Sonderfahrten. Die Gegend sagt dann nichts mehr aus, und die Sonderfahrten standen in der Rangliste unten statt oben.
  • „Alle Kennzahlen zählen von selbst gleich viel.“ Nein. Eine Kennzahl mit großen Zahlen, etwa Meter, überstimmt eine mit kleinen, etwa die Halte, weil das Verfahren Abstände misst. Darum gleicht man die Kennzahlen vorher an. Ohne diesen Schritt war die Rangliste in der Messung schlechter.

Woran Sie das im Alltag erkennen

  • Ob etwas auffällt, hängt von der Gegend ab. Eine Stunde Warten gilt auf dem Amt als normal, an einer Supermarktkasse nicht.
  • Sie sollen Ungewöhnliches finden, wissen aber nicht, wie viele ähnliche Fälle es gibt. Dann wissen Sie auch nicht, wie viele Nachbarn Sie vergleichen sollten.

Wie ernst ist das Rechenbild zu nehmen?

Die Sonderfahrten liegen im Rechenbild weit draußen. Das kommt jedem Verfahren entgegen. Die Zahlen zeigen die Mechanik, nicht die Güte bei echten Daten.

Was Sie mitnehmen

  • Fragen Sie bei jedem Auffälligen: auffällig im Vergleich zu welcher Gegend?
  • Fragen Sie, ob eine Gruppe von Auffälligen sich gegenseitig normal aussehen lässt.
  • Prüfen Sie Rangliste und Grenze getrennt. Eine gute Reihenfolge ist noch keine gute Entscheidung.

Zu dieser Seite gehört ein Programm zum Ausprobieren im Browser, die Demo. Der erste Knopf unten öffnet es. Zum Verstehen brauchen Sie es nicht. Der zweite Knopf führt zum zweiten Teil für Fachleute.

Hinweis: Alle Demos rechnen mit synthetischen oder frei verfügbaren Beispieldaten und laufen auf einem externen Anbieter (Datenschutz). Bitte geben Sie darin keine vertraulichen oder personenbezogenen Daten ein. Die Ergebnisse gelten für die jeweilige Demo-Instanz und lassen sich nicht ungeprüft auf reale Fälle übertragen; für darauf gestützte Entscheidungen übernehme ich keine Gewähr.

Teil 2 · Für Fachleute

Modell und Annahmen

Dieser Teil ist eigenständig lesbar. Er beschreibt den Local Outlier Factor (LOF; Breunig, Kriegel, Ng und Sander) und eine Messreihe an künstlichen Lieferrouten-Kennzahlen. Der LOF vergleicht die lokale Dichte jeder Beobachtung mit der Dichte ihrer \(k\) nächsten Nachbarn.

  • Szenario: Jede Tour ist eine Zeile von Kennzahlen. Sie entstehen aus zwei versteckten Faktoren (12 Kennzahlen) mit wählbaren Betriebsarten (1 bis 3 normale Gruppen), Krümmung des Normalbereichs und Rauschen. Anomalien liegen verstreut, als dichte Gruppe oder in der Lücke zwischen Betriebsarten, jeweils mit exaktem Anteil (1 bis 45 %). Zusatzmerkmale (bis 30 Merkmale) und reine Rauschmerkmale (0 bis 40) lassen sich anhängen. Die Zahl der Touren liegt zwischen 20 und 600.
  • Referenzfall: 300 Touren, 12 Merkmale, 10 % verstreute Anomalien im Abstand 6 Faktor-σ (im Raum der zwei versteckten Faktoren gemessen), ein Normalbereich, Rauschen 0,25. Der Abstand der Anomalien ist zwischen 3 und 12 σ wählbar.
  • Verfahren: LOF auf standardisierten Merkmalen mit euklidischem Abstand und genau \(k\) Nachbarn (bei gleichen Abständen entscheidet der Index). \(k\) liegt zwischen 3 und höchstens \(n/2\), dabei höchstens 100; Referenzwert 20.
  • Schwelle: Referenz ist LOF über 1,5 (Faustregel). Alternativ gilt ein angenommener Anteil, bei dem für alle Detektoren die größten Werte markiert werden.
  • Vergleichsverfahren: Isolation Forest (100 Bäume, Unterstichprobe \(\psi = 256\), Score-Schwelle 0,5) sowie klassische und robuste (FastMCD) Schätzung einer Ellipse mit dem χ²-Quantil 0,975 als Schwelle.
  • Kennzahlen: AUC (Rangsumme, Bindungen halb; 0,5 entspricht Raten), Recall (Anteil gefundener Anomalien), Fehlalarmrate (Anteil markierter normaler Touren) und F1.
  • Messreihe: Mittel über 5 feste Datensätze je Einstellung.

Die Formeln

Sei \(X\) eine Menge von \(n\) Punkten, \(d\) der euklidische Abstand und \(a \in X\). Die Menge \(N_k(a)\) enthält die \(k\) nächsten Punkte zu \(a\), ohne \(a\) selbst. Die k-Distanz ist der Abstand zum entferntesten dieser Nachbarn:

\[\text{kdist}(a) = \max_{b \in N_k(a)} d(a, b)\]

Die Erreichbarkeitsdistanz von \(a\) zu einem Nachbarn \(b\) ist mindestens die k-Distanz von \(b\):

\[\text{reach}_k(a, b) = \max\{\text{kdist}(b),\, d(a, b)\}\]

Die lokale Erreichbarkeitsdichte ist der Kehrwert des mittleren Erreichbarkeitsabstands zu den Nachbarn (mit einem kleinen \(\varepsilon\) im Nenner, hier \(10^{-10}\), das Duplikate abfängt):

\[\text{lrd}_k(a) = \Big(\tfrac{1}{k}\sum_{b \in N_k(a)} \text{reach}_k(a, b)\Big)^{-1}\]

Der Local Outlier Factor ist das Verhältnis der mittleren Dichte der Nachbarn zur eigenen Dichte. Ein Punkt in einer Umgebung gleichmäßiger Dichte hat LOF nahe 1, ein Punkt in dünnerer Umgebung als seine Nachbarn LOF über 1:

\[\text{LOF}_k(a) = \dfrac{\tfrac{1}{k}\sum_{b \in N_k(a)} \text{lrd}_k(b)}{\text{lrd}_k(a)}\]

Vor der Rechnung wird jedes Merkmal \(j\) standardisiert, mit Mittelwert \(\bar x_j\) und Standardabweichung \(s_j\), damit kein Merkmal die Abstände dominiert:

\[z_j = (x_j - \bar x_j)/s_j\]

Für neue Punkte \(q\) (etwa die Gitterpunkte einer Karte) gilt dieselbe Rechnung gegen die Trainingsmenge: \(N_k(q)\) sind die \(k\) nächsten Trainingspunkte und \(\text{reach}_k(q, b) = \max\{\text{kdist}(b),\, d(q, b)\}\).

Herleitung Schritt für Schritt

Rechnung dieser Seite, keine Messung der Demo. Sie begründet, warum die Definition so gebaut ist.

  • Schritt 1, Nachbarschaft: \(\text{kdist}(a)\) ist der Radius der kleinsten Kugel um \(a\), die \(k\) weitere Punkte enthält (bei eindeutigen Abständen). In dünnen Gegenden ist die Kugel groß, in dichten klein. Die Nachbarschaft passt sich so der lokalen Dichte an.
  • Schritt 2, Erreichbarkeit: Es gilt \(\text{reach}_k(a, b) \ge \text{kdist}(b)\). Abstände zu Punkten \(b\) innerhalb der k-Distanz von \(b\) werden auf diese angehoben. Zufällig sehr kurze Abstände zwischen Nachbarn gehen damit weniger stark ein. Das ist nach üblicher Lesart der Zweck der Definition (Glättung von Zufallsschwankungen); eine Messung dazu liefert die Demo nicht.
  • Schritt 3, Dichte: \(\text{lrd}_k(a)\) hat die Einheit 1/Länge und wächst mit der Dichte um \(a\).
  • Schritt 4, Quotient: Der LOF ist ein Quotient zweier Dichten und damit einheitenfrei. Ersetzt man alle Abstände \(d\) durch \(c\,d\) mit \(c > 0\), wachsen alle \(\text{kdist}\) und \(\text{reach}\) um den Faktor \(c\), alle \(\text{lrd}\) schrumpfen um \(1/c\), und der Quotient bleibt gleich (bis auf \(\varepsilon\)). Verschiebung und Drehung ändern keinen Abstand. Die Skalierung einzelner Merkmale verändert Abstände dagegen ungleich; deshalb wird standardisiert.
  • Schritt 5, Lesart: Gilt \(\text{lrd}_k(b) = \text{lrd}_k(a)\) für alle Nachbarn \(b\), ist der LOF genau 1. Bei annähernd gleichmäßiger Dichte liegt er nahe 1: Im Szenario liegt der Median-LOF der normalen Touren zwischen 1,007 und 1,030 (bei 20 bis 600 Touren). Ist die Umgebung von \(a\) dünner als die seiner Nachbarn, ist \(\text{lrd}_k(a)\) kleiner als deren Mittel, und der LOF liegt über 1.
  • Schritt 6, Gruppen kleiner und größer als \(k\): Eine kompakte Gruppe von \(m\) Touren liege so weit vom Rest, dass für \(k \le m - 1\) alle \(k\) Nachbarn jedes Mitglieds Gruppenmitglieder sind. Dann hängen Nachbarn, k-Distanzen, Erreichbarkeiten und Dichten der Mitglieder nur von Abständen innerhalb der Gruppe ab, der Abstand zum Rest geht nirgends ein. Die Gruppe wird bewertet, als wäre sie allein; ein gleichmäßig gebautes Mitglied bekommt LOF nahe 1. Für \(k \ge m\) enthält die Nachbarmenge jedes Mitglieds mindestens \(j = k - m + 1\) Punkte außerhalb. Sei \(D\) der kleinste Abstand eines Mitglieds zu einem Punkt außerhalb und \(\ell\) eine untere Schranke für die \(\text{lrd}\) dieser Außenpunkte. Jeder Außenpunkt trägt zum mittleren Erreichbarkeitsabstand mindestens \(D\) bei, also gilt \(\text{lrd}_k(a) \le k/(jD)\), und der Zähler ist mindestens \((j/k)\,\ell\). Daraus folgt \(\text{LOF}_k(a) \ge (j/k)^2\, D\,\ell\) (ohne \(\varepsilon\)).

Die Schranke aus Schritt 6 wächst mit \(j/k\), also mit \(k\) über \(m\) hinaus, und mit dem Produkt \(D\,\ell\) aus Abstand zur Gruppe und Dichte der Außenpunkte. Sie erklärt den Übergang der Messung nur qualitativ. Dass die AUC bei zu kleinem \(k\) unter 0,5 fällt, ist eine Vermutung dieser Seite, nicht gemessen: Die Mitglieder haben LOF nahe 1, normale Touren am Rand der Wolke einen etwas höheren, und die Gruppe steht dann im Mittel hinter den Normalen.

Durchgerechnete Beispiele

Rechnung dieser Seite, keine Messung der Demo. Erstes Beispiel: die Punkte 0, 1, 2, 3 und 10 auf einer Zahlengeraden, \(k = 2\), Abstand \(|x - y|\).

PunktNachbarn \(N_2\)\(\text{kdist}\)mittleres \(\text{reach}\)\(\text{lrd}\)\(\text{LOF}\)
\(0\)\(\{1, 2\}\)\(2\)\(3/2\)\(2/3\)\(1\)
\(1\)\(\{0, 2\}\)\(1\)\(3/2\)\(2/3\)\(1\)
\(2\)\(\{1, 3\}\)\(1\)\(3/2\)\(2/3\)\(1\)
\(3\)\(\{2, 1\}\)\(2\)\(3/2\)\(2/3\)\(1\)
\(10\)\(\{3, 2\}\)\(8\)\(15/2\)\(2/15\)\(5\)

Für den Punkt 10 gilt \(\text{reach}_2(10, 3) = \max\{2, 7\} = 7\) und \(\text{reach}_2(10, 2) = \max\{1, 8\} = 8\). Der Mittelwert ist \(15/2\), also \(\text{lrd}_2(10) = 2/15\). Seine Nachbarn 3 und 2 haben \(\text{lrd} = 2/3\). Damit ist \(\text{LOF}_2(10) = (2/3)/(2/15) = 5\), weit über der Faustregel 1,5. Bei den Punkten 0 bis 3 ist jeder Nachbar so dicht wie der Punkt selbst, der LOF ist 1.

Zweites Beispiel, lokal gegen global: Zu 0, 1, 2, 3 kommen die Punkte 50, 60, 70, 80 (Abstand 10 statt 1), \(k = 2\). Die Nachbarn der rechten vier liegen alle in der rechten Gruppe, ihre k-Distanzen sind 20, 10, 10, 20 gegen 2, 1, 1, 2 links, das mittlere \(\text{reach}\) ist 15 gegen \(3/2\). Trotzdem haben alle acht Punkte LOF 1. Eine Abstandsgrenze (etwa \(\text{kdist}\) über 5) würde die dünne Gruppe markieren, der LOF nicht. Das ist das Verhalten, das er von einer globalen Grenze unterscheidet.

Befunde

Alle Zahlen stammen aus der Messreihe: Referenzfall (300 Touren, 12 Merkmale, 10 % verstreute Anomalien im Abstand 6 Faktor-σ, ein Normalbereich, Rauschen 0,25), \(k = 20\), LOF-Schwelle 1,5, Isolation Forest mit 100 Bäumen und \(\psi = 256\), Score-Schwelle 0,5, χ²-Quantil 0,975, Mittel über 5 feste Datensätze. Abweichende Bedingungen stehen in der jeweiligen Zeile.

FrageBefund
ReferenzfallDie Rangfolge ist bei LOF, Isolation Forest und robuster Schätzung nahezu perfekt (AUC je 1,00 gerundet; klassisch 0,95). F1 an der Standardschwelle: 0,94 beim LOF (Fehlalarmrate 1,4 %) gegen 0,96 beim Isolation Forest, 0,84 bei der robusten und 0,57 bei der klassischen Schätzung. Der Median-LOF der normalen Touren liegt bei 1,02.
Dichte Gruppe: k gegen GruppengrößeGruppe von 30 Touren: AUC 0,35 mit \(k = 20\), also unter Raten (Isolation Forest 0,95, robust 1,00), und 0,97 mit \(k = 40\). Gruppen von 15 / 30 / 60 Touren brauchen \(k\) = 20 / 40 / 80 (AUC 0,99 / 0,97 / 0,95); bei 90 Touren erreicht selbst das größte einstellbare \(k = 100\) nur 0,71.
Dichte Gruppe: wachsender AnteilMit \(k\) = 1,5 × Gruppengröße (höchstens 100; bei 25 % gilt deshalb \(k = 100\)) liegt die AUC bei Anteilen von 5 / 10 / 15 / 20 / 25 % bei 0,99 / 0,99 / 0,98 / 0,98 / 0,94, der Isolation Forest bei 0,99 / 0,95 / 0,91 / 0,85 / 0,79. Das setzt voraus, dass die Gruppengröße bekannt ist.
Anomalien in der LückeDrei Betriebsarten, 30 Lücken-Touren, \(k\) = 60 bis 70: AUC 0,84 bis 0,86 (Isolation Forest 0,27, robust 0,38, klassisch 0,38). Zwei Betriebsarten, \(k = 40\): 0,71 (Isolation Forest 0,54, robust 0,40); mit 15 Lücken-Touren und zwei Betriebsarten bis 0,86 bei \(k = 30\) (0,84 bei \(k = 40\); Isolation Forest 0,71). Fenster in \(k\): bei zwei Betriebsarten nur 0,53 mit \(k = 20\), bei \(k = 90\) fällt die AUC auf 0,37 (zwei) bzw. 0,14 (drei Betriebsarten). An der Schwelle 1,5 findet der LOF die Lücken-Touren nicht (F1 0,00 bei drei Betriebsarten und \(k = 60\)): Bei diesem \(k\) liegen sie im Rang weit oben, aber nicht ganz oben.
Kleine StichprobenDer Median-LOF der normalen Touren liegt bei 20 / 50 / 100 / 300 / 600 Touren bei 1,007 / 1,024 / 1,030 / 1,018 / 1,016. F1 an der Schwelle bei 20 / 30 / 50 / 100 Touren (\(k\) = min(20, \(n/2\))): 0,96 / 0,94 / 0,88 / 0,86 beim LOF gegen 0,60 / 0,67 / 0,78 / 0,89 beim Isolation Forest (bei 20 Touren sind nur 2 Anomalien im Spiel, 10 % von 20) (Fehlalarmrate bei 20 Touren 1,1 % gegen 15,6 %). Bei 20 Touren und 30 Merkmalen: 0,92 gegen 0,61.
RauschmerkmaleBei 40 Rauschmerkmalen bleibt die AUC 0,99 (Isolation Forest ebenso, robust 0,88). Der Recall an der Schwelle 1,5 fällt dagegen auf 1,00 / 0,71 / 0,18 / 0,03 / 0,00 bei 0 / 10 / 20 / 30 / 40 Rauschmerkmalen (Isolation Forest 0,99 / 0,91 / 0,71 / 0,58 / 0,39), F1 von 0,94 auf 0,00 (Isolation Forest 0,96 auf 0,56). Mit bekanntem Anteil liegt F1 bei 0,87 (Isolation Forest 0,84).
Viele AnomalienVerstreute Anomalien werden einander Nachbarn: AUC 0,90 / 0,72 / 0,64 bei 30 / 40 / 45 % (Isolation Forest überall 1,00), F1 0,43 / 0,15 / 0,09 (Isolation Forest 0,93 / 0,87 / 0,81). Bei wenigen Anomalien ist der LOF an der Schwelle besser: 2 % ergeben F1 0,75 gegen 0,42.
Gebogener NormalbereichDie AUC bleibt 1,00, aber die Fehlalarmrate steigt mit der Krümmung von 1,4 % auf 7,8 % (F1 0,94 auf 0,74; Isolation Forest 0,96 auf 0,95; robust mit χ²-Schwelle 0,84 auf 0,38).
Mehrere BetriebsartenBei verstreuten Anomalien ist der LOF unempfindlich: AUC 1,00 bei 1 / 2 / 3 Betriebsarten (robust 1,00 / 0,95 / 0,85, F1 0,84 / 0,74 / 0,36).
SchwelleLOF-Schwelle 1,1 / 1,2 / 1,3 / 1,5 / 2,0 / 2,5: F1 0,52 / 0,69 / 0,82 / 0,94 / 0,96 / 0,85, Fehlalarmrate von 20,5 % bis 0,0 %, Recall von 1,00 bis 0,75. Der Wert hat eine Bedeutung, das nutzbare Fenster ist aber eng. Ein falsch angenommener Anteil (halb bzw. doppelt so groß) senkt F1 beim LOF und beim Isolation Forest von 0,97 auf 0,67.
k nahe nDiese Zeile läuft über den einstellbaren Bereich hinaus (der höchstens \(n/2\) erlaubt). Bei 100 Touren und verstreuten Anomalien liegt die AUC bis \(k = 90\) bei 1,00, bei \(k = 99 = n - 1\) bei 0,00: Alle Touren haben dieselben Nachbarn, die Reihenfolge kehrt sich um. Warum, zeigt die Messung nicht (Vermutung dieser Seite: Bei \(k\) nahe \(n\) verliert die Nachbarschaft ihren lokalen Bezug). Bei einer dichten Gruppe von 20 Touren: 0,99 bis 1,00 für \(k\) = 30 bis 70, 0,38 bei \(k = 90\).
EinheitenDer LOF ist gegen die Skalierung einzelner Merkmale nicht invariant (gegen gemeinsame Skalierung aller Merkmale schon, siehe Herleitung): Auf Rohdaten ist die AUC 0,87 und F1 0,68 statt 1,00 und 0,94. Der Isolation Forest ist gegen Skalierung unempfindlich.
Rechenzeit0,0004 / 0,0035 / 0,015 s für den LOF gegen 0,06 / 0,13 / 0,14 s für den Isolation Forest bei 100 / 300 / 600 Touren. Die Sekunden hängen vom Rechner ab; belegt ist nur, dass der LOF in diesem Bereich (\(n \le 600\), vektorisierte Abstandsmatrix, Aufwand \(O(n^2)\)) schneller ist.

Grenzen und was die Messung zeigt

  • Was sie belegt: Richtung und Größenordnung der Effekte auf diesen künstlichen Touren, als Mittel über feste Datensätze. Die Umsetzung stimmt bis auf Rundungsfehler mit der LOF-Implementierung von scikit-learn überein (sowohl auf der Trainingsmenge als auch für neue Punkte).
  • Was sie nicht belegt: Aussagen über echte Daten. Die Daten haben zwei Faktoren, lineare Mischung, weißes Gauß'sches Rauschen und eine feste Geometrie der Betriebsarten. Die Anomalien liegen im Faktorraum 3 bis 12 σ draußen, was allen Verfahren entgegenkommt.
  • Das passende \(k\) ist Vorwissen: Die Messung kennt die Gruppengröße, ein Anwender nicht. Ensembles über mehrere \(k\) sind ein möglicher Ausweg, in der Demo nicht gebaut. Fenster in \(k\): zu klein übersieht Gruppen, zu groß (nahe \(n\)) kehrt die Rangfolge um. Ein Rechenartefakt zeigte das: Bei 20 Touren und \(k = 20\) ergab sich AUC 0,11, weil \(k = 20\) auf 19 = \(n - 1\) begrenzt wird; das ist der degenerierte Fall, kein Messwert. Deshalb ist \(k\) in der Demo auf höchstens \(n/2\) begrenzt.
  • Rangfolge gut, Schwelle schlecht: Bei Rauschmerkmalen bleibt die AUC bei 0,99, die feste Schwelle 1,5 versagt (Recall 0,00 bei 40). Beim gebogenen Normalbereich bleibt die AUC bei 1,00, die Fehlalarmrate steigt auf 7,8 %. Im Referenzfall ist nur ein enges Fenster von 1,5 bis 2,0 nutzbar. Dass Rauschmerkmale die Abstände zusammenziehen (Dimensionsfluch), ist die Deutung; gemessen sind die Folgen, nicht der Mechanismus.
  • Streuung: Die Befunde sind Mittel über 5 Datensätze, ohne Angabe der Streuung. Unterschiede von wenigen Hundertsteln, etwa F1 0,94 gegen 0,96 im Referenzfall, sind deshalb kein Befund.
  • Vorab-Vermutungen, die nicht (ganz) stimmten: (1) „Der LOF trennt dichte Gruppen und die Lücke deutlich besser“ gilt nur mit passendem \(k\). Mit \(k = 20\) ist er bei einer Gruppe von 30 Touren schlechter als Raten (0,35). (2) „Der LOF gewinnt auf gebogenem Normalbereich“: Die Rangfolge ist für alle gleich (AUC 1,00), an der Schwelle verliert er. (3) „Rauschmerkmale schaden dem LOF stärker“ stimmt für die Schwelle (Recall 0,00 gegen 0,39), nicht für die Rangfolge (AUC 0,99 bei beiden). (4) „\(O(n^2)\) macht den LOF spürbar langsamer“ gilt bei \(n \le 600\) nicht: Er ist dort schneller als der Wald.
  • Nicht untersucht: echte Daten, mehr als 70 Merkmale (30 Merkmale plus 40 Rauschmerkmale) und mehr als 600 Touren.

Erweiterungen und Verweise

Verwandte Verfahren und Demos:

  • Gegen viele Rauschmerkmale: Die feature-bagging-demo bildet ein Ensemble aus LOF-Detektoren auf zufälligen Merkmalsteilmengen. Nach ihrer Messreihe ändern große Teilmengen fast nichts, winzige Teilmengen (2 bis 3 Merkmale) helfen deutlich, aber mit großer Streuung über Zufallsläufe; das Fenster in \(k\) löst das Ensemble nicht.
  • Anders gefragt: Der Isolation Forest fragt, wie schnell sich eine Tour abtrennen lässt (isolation-forest-demo). Er ist der Vergleichsdetektor dieser Messreihe.
  • Der Ausgangspunkt: Die elliptic-envelope-demo beschreibt das Normale als eine Wolke; ihre Schätzer sind die Vergleichsverfahren dieser Seite.

Quellen

  • Breunig, M. M., Kriegel, H.-P., Ng, R. T., Sander, J. (2000): LOF: Identifying Density-Based Local Outliers. Proceedings of the ACM SIGMOD International Conference on Management of Data.
  • Lazarevic, A., Kumar, V. (2005): Feature Bagging for Outlier Detection. Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.
  • Quelltext, Messreihe und Tests der Demo: github.com/sebastian-hanisch/lof-demo.

Die Dokumentation der Demo nennt die LOF-Arbeit nur mit Autorennamen; Lazarevic und Kumar stehen nur in der Dokumentation der feature-bagging-demo. Jahre und Fundstellen sind aus dem Gedächtnis, nicht im Original geprüft. Herleitung und Beispiele sind Rechnungen dieser Seite und keine Messungen.