9 abordări pentru identificarea anomaliilor

În articolul anterior Am discutat despre prognozarea seriei temporale. O continuare logică ar fi un articol despre detectarea anomaliilor.

Aplicare

Detectarea anomaliilor este utilizată în domenii precum:

1) Predicția defectării echipamentului

Astfel, în 2010, centrifugele din Iran au fost atacate de virusul Stuxnet, care a impus un mod de funcționare neoptimizat și a deteriorat o parte din echipament din cauza uzurii accelerate.

Dacă pe echipament s-ar fi folosit algoritmi de căutare a anomaliilor, situațiile de defectare ar fi putut fi evitate.

9 abordări pentru identificarea anomaliilor

Căutarea anomaliilor în funcționarea echipamentului nu este utilizată doar în industria nucleară, ci și în metalurgie și în funcționarea turbinelor aviatice. Și în alte domenii unde utilizarea diagnosticării predictive este mai ieftină decât posibilele pierderi cauzate de defectări imprevizibile.

2) Predicția fraudelor

Dacă bani sunt retrăși de pe cardul pe care îl folosești în Podolsk, în Albania, este posibil ca tranzacțiile să merite o verificare suplimentară.

3) Detectarea modelelor de consum anormale

Dacă o parte din clienți demonstrează un comportament anormal, este posibil să existe o problemă despre care nu știi.

4) Detectarea cererii și încărcării anormale

Dacă vânzările dintr-un magazin FMCG au scăzut sub limita intervalului de încredere al prognozei, merită să găsești cauza acestui fenomen.

Aproape de detectarea anomaliilor

1) Metoda vectorilor de suport cu un singur clasa One-Class SVM

Se potrivește atunci când datele din setul de antrenament se supun unei distribții normale, iar cele din test conțin anomalii.

Metoda cu un singur clasa a vectorilor de suport construiește o suprafață neliniară în jurul originii coordonatelor. Este posibil să se stabilească o limită de tăiere pentru a determina ce date sunt considerate anormale.

Din experiența echipei noastre DATA4, One-Class SVM este cel mai frecvent algoritm utilizat pentru a aborda problema căutării anomaliilor.

9 abordări pentru identificarea anomaliilor

2) Metoda pădurii de izolare – isolate forest

Prin metoda de construcție aleatorie a copacilor, valorile anormale vor ajunge în frunze în etapele inițiale (la o adâncime mică a copacului), adică valorile anormale sunt mai ușor de „izolat”. Evidențierea valorilor anormale se face în primele iterații ale funcționării algoritmului.

9 abordări pentru identificarea anomaliilor

3) Învelișul eliptic și metodele statistice

Este utilizat atunci când datele sunt distribuite normal. Cu cât o măsurare este mai aproape de coada mixturii de distribuții, cu atât valoarea este mai anormală.

Această clasă include și alte metode statistice.

9 abordări pentru identificarea anomaliilor

9 abordări pentru identificarea anomaliilor
Imagine de pe site-ul dyakonov.org

4) Metodele metrice

Printre metode se numără algoritmii, cum ar fi k-nearest neighbors, k-vecinul cel mai apropiat, ABOD (detectarea anomaliilor bazată pe unghi) sau LOF (factorul de anomalii local).

Acestea sunt potrivite dacă distanța dintre valorile caracteristicilor este egală sau normalizată (pentru a nu măsura șarpele în papagali).

Algoritmul k-nearest neighbors presupune că valorile normale sunt situate într-o anumită zonă a spațiului multidimensional, iar distanța față de anomalii va fi mai mare decât față de hiperplanul de separare.

9 abordări pentru identificarea anomaliilor

5) Metodele de clustering

Esenta metodelor de clustering este că dacă o valoare este îndepărtată de centrele cluster-elor cu mai mult decât o anumită mărime, valoarea poate fi considerată anormală.

Principalul lucru este să folosești un algoritm care clusterizează corect datele, ceea ce depinde de sarcina specifică.

9 abordări pentru identificarea anomaliilor

6) Metoda componentelor principale

Este potrivită acolo unde se evidențiază direcțiile de cea mai mare schimbare a dispersiei.

7) Algoritmi bazati pe prognozarea seriilor temporale

Ideea este că dacă o valoare deviază din intervalul de încredere al prognozei, valoarea este considerată anormală. Pentru prognozarea seriilor temporale se folosesc algoritmi precum netezirea triplă, S(ARIMA), boosting etc.

Despre algoritmii de prognozare a seriilor temporale s-a vorbit în articolul precedent.

9 abordări pentru identificarea anomaliilor

8) Învățare supravegheată (regresie, clasificare)

Dacă datele permit, folosim algoritmi de la regresia liniară la rețele neuronale recurente. Vom măsura diferența dintre prognoză și valoarea reală și vom trasa concluzia despre cât de mult datele deviază de la normal. Este important ca algoritmul să aibă o capacitate de generalizare suficientă și ca setul de antrenament să nu conțină valori anormale.

9) Teste de model

Vom aborda problema identificării anomaliilor ca pe o problemă de generare de recomandări. Vom descompune matricea noastră de caracteristici folosind SVD sau mașini de factorizare și valorile din noua matrice, care se abate semnificativ de la cele originale, le vom considera anormale.

9 abordări pentru identificarea anomaliilor

Imagine de pe site-ul dyakonov.org

Concluzie

În acest articol am analizat principalele abordări pentru detectarea anomaliilor.

Căutarea anomaliilor poate fi considerată, într-o mare măsură, o artă. Nu există un algoritm sau o metodă perfectă care să rezolve toate problemele. De regulă, se folosește un set de metode pentru a aborda un caz specific. Căutarea anomaliilor se realizează prin intermediul metodei SVM (Support Vector Machine), pădurilor izolate, metode metrice și de clustering, precum și prin utilizarea componentelor principale și predicția seriilor temporale.

Dacă știți alte metode, scrieți despre ele în comentarii la articol.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster