Wykrywanie wielu anomalii w sezonowych szeregach czasowych

Wprowadzenie do wykrywania anomalii w R

Alastair Rushworth

Data Scientist

Miesięczne dane przychodów

head(msales)
  sales month
1 6.068     1
2 5.966     2
3 6.133     3
4 6.230     4
5 6.407     5
6 6.433     6

Test Grubbsa jest tu nieodpowiedni

  • Mogą wystąpić sezonowość
  • Może być wiele anomalii
Wprowadzenie do wykrywania anomalii w R

Wizualizacja miesięcznych przychodów

plot(sales ~ month, data = msales, type = 'o')

Wprowadzenie do wykrywania anomalii w R

Użycie algorytmu Seasonal-Hybrid ESD

library(AnomalyDetection)
sales_ad <- AnomalyDetectionVec(x = msales$sales, period = 12, 
                                direction = 'both')

Argumenty

  • x: wektor wartości
  • period: okres powtarzającego się wzorca
  • direction: wykrywa anomalie małe ('neg'), duże ('pos') lub oba typy ('both')

Pobieranie pakietu z https://github.com/twitter/AnomalyDetection

Wprowadzenie do wykrywania anomalii w R

Wynik algorytmu Seasonal-Hybrid ESD

sales_ad <- AnomalyDetectionVec(x = msales$sales, period = 12, 
                                direction = 'both')
sales_ad$anoms
  index anoms
1    14 1.561
2   108 2.156
Wprowadzenie do wykrywania anomalii w R

Wykres algorytmu Seasonal-Hybrid ESD

AnomalyDetectionVec(x = msales$sales, period = 12, 
                    direction = 'both', plot = T)

Wprowadzenie do wykrywania anomalii w R

Czas na ćwiczenia!

Wprowadzenie do wykrywania anomalii w R

Preparing Video For Download...