I Vi har pratat om prognoser för tidsserier. En logisk fortsÀttning skulle vara en artikel om att upptÀcka avvikelser.
TillÀmpning
AvvikelseupptÀckning anvÀnds inom omrÄden som:
1) FörutsÀgelse av maskinfel
Till exempel, 2010 attackerades iranska centrifuger av viruset Stuxnet, vilket stÀllde in utrustningen pÄ en suboptimal drift och orsakade att en del av utrustningen skadades pÄ grund av ökat slitage.
Om man hade anvÀnt algoritmer för avvikelseupptÀckning pÄ utrustningen, skulle sÄdana driftstopp ha kunnat undvikas.

AvvikelseupptÀckning i maskinvÄrd anvÀnds inte bara inom kÀrnkraftindustrin, utan Àven inom metallurgi och drift av flygmotorer. Och inom andra omrÄden dÀr anvÀndning av prediktiv diagnos Àr billigare Àn potentiella förluster vid oförutsedda fel.
2) FörutsÀgelse av bedrÀgliga handlingar
Om pengar tas frÄn ett kort som du anvÀnder i Podolsk, i Albanien, kan det vara bra att dubbelkolla transaktionerna.
3) UpptÀckte avvikande kundmönster
Om en del av kunderna visar avvikande beteende kan det finnas ett problem som du inte kÀnner till.
4) UpptÀckte avvikande efterfrÄgan och belastning
Om försÀljningen i din FMCG-butik sjunker under det förutsagda konfidensintervallet, Àr det vÀrt att söka efter orsaken.
Metoder för att upptÀcka avvikelser
1) Stödvektormetoden med en klass One-Class SVM
Denna metod passar nÀr trÀningsdatamÀngden följer en normalfördelning och testdatamÀngden innehÄller avvikelser.
One-Class SVM bygger en icke-linjÀr yta runt origo. En tröskel kan sÀttas för att avgöra vilka data som ska betraktas som avvikande.
Enligt erfarenheten frÄn vÄrt team DATA4 Àr One-Class SVM den mest anvÀnda algoritmen för att lösa avvikelseupptÀckningsproblem.

2) Isolerande skog â isolate forest
Vid "slumptÀckning" av trÀd kommer avvikelser att hamna i blad pÄ tidiga stadier (med en liten trÀddjup), dvs. avvikelser Àr lÀttare att "isolera". Identifikation av avvikande vÀrden sker tidigt i algoritmens iterationer.

3) Elliptisk kuvert och statistiska metoder
AnvÀnds nÀr data Àr normalt fördelade. Ju nÀrmare mÀtningen ligger svansen av fördelningarna, desto mer avvikande Àr vÀrdet.
Denna klass kan Àven inkludera andra statistiska metoder.


Bild frÄn dyakonov.org
4) Metriska metoder
Bland metoderna finns algoritmer som k nÀrmaste grannar, k nÀrmaste granne, ABOD (angle-based outlier detection) eller LOF (local outlier factor).
Dessa Àr lÀmpliga om avstÄndet mellan vÀrden i funktionerna Àr likvÀrdigt eller normalt (för att inte mÀta pytonormar i papegujor).
Algoritmen k nÀrmaste grannar antar att normala vÀrden Àr placerade inom ett visst omrÄde i mÄngdimensionellt rum, och att avstÄndet till avvikelserna kommer att vara större Àn till den separerande hyperplanen.

5) Kluster metoder
KÀrnan i kluster metoder Àr att om ett vÀrde Àr mer Àn ett visst avstÄnd frÄn klustrets centrum, sÄ kan vÀrdet betraktas som en avvikelse.
Det viktigaste Àr att anvÀnda en algoritm som korrekt klustrar datan, vilket beror pÄ den specifika uppgiften.

6) Huvudkomponentmetoden
LÀmplig dÀr riktningar för största förÀndring av varians framhÀvs.
7) Algoritmer baserade pÄ tidsserieförutsÀgelser
Idén Àr att om ett vÀrde avviker frÄn förtroendeintervallet för prognosen, betraktas vÀrdet som en avvikelse. För tidsserieprognoser anvÀnds algoritmer som tredubbel utjÀmning, S(ARIMA), boosting, osv.
Om algoritmer för tidsserieprognoser har nÀmnts i den föregÄende artikeln.

8) LÀrande med övervakning (regression, klassificering)
Om datan tillÄter anvÀnder vi algoritmer frÄn linjÀr regression till Äterkommande nÀtverk. Vi mÀter skillnaden mellan prognosen och det faktiska vÀrdet, och drar slutsatsen om hur mycket datan avviker frÄn normen. Det Àr viktigt att algoritmen har tillrÀcklig generaliseringsförmÄga och att trÀningssetet inte innehÄller avvikande vÀrden.
9) Modelltester
Vi nÀrmar oss uppgiften att hitta avvikelser som en uppgift att hitta rekommendationer. Vi faktorisera vÄr funktionsmatris med hjÀlp av SVD eller faktoriseringmaskiner, och vÀrden i den nya matrisen som avviker avsevÀrt frÄn originalet betraktas som avvikande.

Bild frÄn dyakonov.org
Slutsats
I den hÀr artikeln har vi granskat de grundlÀggande metoderna för avvikelsedetektering.
Att identifiera anomalier kan till stor del beskrivas som en konst. Det finns ingen perfekt algoritm eller metod som löser alla problem. Oftare anvÀnds en kombination av metoder för att lösa specifika fall. Anomalidetektion utförs med hjÀlp av enklassmetoder för stödvektorer, isolerade skogar, metrisk och klustermetoder, samt genom anvÀndning av huvudkomponenter och tidsserieförutsÀgelser.
Om du kÀnner till andra metoder, skriv gÀrna om dem i kommentarerna till artikeln.
KĂ€lla: habr.com
