9 benaderingen om afwijkingen te detecteren

В vorige artikel we hadden het over tijdreeksvoorspellingen. Een logisch vervolg zou een artikel zijn over het identificeren van afwijkingen.

Toepassing

Anomaliedetectie wordt gebruikt op gebieden zoals:

1) Voorspelling van defecten aan apparatuur

Zo werden Iraanse centrifuges in 2010 aangevallen door het Stuxnet-virus, waardoor de apparatuur niet optimaal functioneerde en een deel van de apparatuur werd uitgeschakeld vanwege versnelde slijtage.

Als er op de apparatuur afwijkende detectie-algoritmen waren gebruikt, had de storingssituatie voorkomen kunnen worden.

9 benaderingen om afwijkingen te detecteren

De zoektocht naar afwijkingen in de werking van apparatuur wordt niet alleen gebruikt in de nucleaire industrie, maar ook in de metallurgie en de werking van vliegtuigturbines. En op andere gebieden waar het gebruik van voorspellende diagnostiek goedkoper is dan mogelijke verliezen als gevolg van een onvoorspelbare storing.

2) Fraudevoorspelling

Als er geld wordt afgeschreven van de kaart die u in Podolsk in Albanië gebruikt, moeten de transacties mogelijk verder worden gecontroleerd.

3) Identificatie van abnormale consumentenpatronen

Als sommige klanten abnormaal gedrag vertonen, kan er sprake zijn van een probleem waar u zich niet van bewust bent.

4) Identificatie van abnormale vraag en belasting

Als de verkopen in een FMCG-winkel onder het betrouwbaarheidsinterval van de voorspelling zijn gedaald, is het de moeite waard om de reden te achterhalen voor wat er gebeurt.

Benaderingen voor het identificeren van afwijkingen

1) Ondersteuning van vectormachines met één klasse één-klasse SVM

Geschikt wanneer de gegevens in de trainingsset een normale verdeling volgen, maar de testset afwijkingen bevat.

De ondersteuningsvectormachine van één klasse construeert een niet-lineair oppervlak rond de oorsprong. Het is mogelijk om een ​​grenswaarde in te stellen waarvoor gegevens als afwijkend worden beschouwd.

Gebaseerd op de ervaring van ons DATA4-team is One-Class SVM het meest gebruikte algoritme voor het oplossen van het probleem van het vinden van afwijkingen.

9 benaderingen om afwijkingen te detecteren

2) Isoleer bosmethode

Bij de “willekeurige” methode om bomen te construeren, zullen de emissies in een vroeg stadium (op een ondiepe diepte van de boom) in de bladeren terechtkomen, d.w.z. emissies zijn gemakkelijker te ‘isoleren’. Isolatie van afwijkende waarden vindt plaats in de eerste iteraties van het algoritme.

9 benaderingen om afwijkingen te detecteren

3) Elliptische envelop en statistische methoden

Wordt gebruikt wanneer de gegevens normaal verdeeld zijn. Hoe dichter de meting bij de staart van het mengsel van verdelingen ligt, hoe afwijkender de waarde.

Andere statistische methoden kunnen ook in deze klasse worden opgenomen.

9 benaderingen om afwijkingen te detecteren

9 benaderingen om afwijkingen te detecteren
Afbeelding van dyakonov.org

4) Metrische methoden

Methoden omvatten algoritmen zoals k-dichtstbijzijnde buren, k-dichtstbijzijnde buren, ABOD (hoekgebaseerde uitbijterdetectie) of LOF (lokale uitbijterfactor).

Geschikt als de afstand tussen de waarden in de kenmerken gelijkwaardig of genormaliseerd is (om geen boaconstrictor bij papegaaien te meten).

Het k-dichtstbijzijnde burenalgoritme gaat ervan uit dat normale waarden zich in een bepaald gebied van de multidimensionale ruimte bevinden, en dat de afstand tot afwijkingen groter zal zijn dan tot het scheidende hypervlak.

9 benaderingen om afwijkingen te detecteren

5) Clustermethoden

De essentie van clustermethoden is dat als een waarde meer dan een bepaald bedrag verwijderd is van de clustercentra, de waarde als afwijkend kan worden beschouwd.

Het belangrijkste is om een ​​algoritme te gebruiken dat de gegevens correct clustert, afhankelijk van de specifieke taak.

9 benaderingen om afwijkingen te detecteren

6) Hoofdcomponentenmethode

Geschikt waar de richtingen van de grootste verandering in spreiding worden benadrukt.

7) Algoritmen gebaseerd op tijdreeksvoorspellingen

Het idee is dat als een waarde buiten het betrouwbaarheidsinterval van de voorspelling valt, de waarde als afwijkend wordt beschouwd. Om een ​​tijdreeks te voorspellen, worden algoritmen zoals triple smoothing, S(ARIMA), boosting, etc. gebruikt.

Tijdreeksvoorspellingsalgoritmen zijn besproken in het vorige artikel.

9 benaderingen om afwijkingen te detecteren

8) Begeleid leren (regressie, classificatie)

Als de gegevens het toelaten, gebruiken we algoritmen variërend van lineaire regressie tot terugkerende netwerken. Laten we het verschil meten tussen de voorspelling en de werkelijke waarde, en een conclusie trekken in hoeverre de gegevens afwijken van de norm. Het is belangrijk dat het algoritme voldoende generalisatievermogen heeft en dat de trainingsset geen afwijkende waarden bevat.

9) Modeltesten

Laten we het probleem van het zoeken naar afwijkingen benaderen als een probleem van het zoeken naar aanbevelingen. Laten we onze kenmerkmatrix ontleden met behulp van SVD- of factorisatiemachines, en de waarden in de nieuwe matrix die aanzienlijk verschillen van de originele, als afwijkend beschouwen.

9 benaderingen om afwijkingen te detecteren

Afbeelding van dyakonov.org

Conclusie

In dit artikel hebben we de belangrijkste benaderingen van anomaliedetectie besproken.

Het vinden van afwijkingen kan in veel opzichten een kunst worden genoemd. Er bestaat geen ideaal algoritme of een ideale aanpak waarvan het gebruik alle problemen oplost. Vaker wordt een reeks methoden gebruikt om een ​​specifiek geval op te lossen. Anomaliedetectie wordt uitgevoerd met behulp van ondersteunende vectormachines van één klasse, waarbij forests, metrische en clustermethoden worden geïsoleerd, en met behulp van hoofdcomponenten en tijdreeksvoorspellingen.

Als u andere methoden kent, schrijf hierover dan in de opmerkingen bij het artikel.

Bron: www.habr.com

Voeg een reactie