Identifiera flera anomalier i säsongsbaserade tidsserier

Introduktion till avvikelsedetektering i R

Alastair Rushworth

Data Scientist

Månadsvis intäktsdata

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

Grubbs' test passar inte här

  • Säsongsmönster kan förekomma
  • Flera anomalier kan finnas
Introduktion till avvikelsedetektering i R

Visualisera månadsvis intäkt

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

Introduktion till avvikelsedetektering i R

Använda Seasonal-Hybrid ESD-algoritmen

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

Argument

  • x: vektor med värden
  • period: periodens längd för det upprepande mönstret
  • direction: hitta anomalier som är små ('neg'), stora ('pos') eller båda ('both')

Ladda ned paketet från https://github.com/twitter/AnomalyDetection

Introduktion till avvikelsedetektering i R

Utdata från Seasonal-Hybrid ESD-algoritmen

sales_ad <- AnomalyDetectionVec(x = msales$sales, period = 12, 
                                direction = 'both')
sales_ad$anoms
  index anoms
1    14 1.561
2   108 2.156
Introduktion till avvikelsedetektering i R

Graf från Seasonal-Hybrid ESD-algoritmen

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

Introduktion till avvikelsedetektering i R

Nu kör vi en övning!

Introduktion till avvikelsedetektering i R

Preparing Video For Download...