본문 바로가기
ML&DL/Anomaly Detection

[Time series / Anomaly Detection / survey paper review] ANOMALY DETECTION IN UNIVARIATE TIME-SERIES: ASURVEY ON THE STATE-OF-THE-ART

by 거북이주인장 2022. 12. 30.

https://arxiv.org/pdf/2004.00433.pdf

서베이 페이퍼에 나온 방법론


 통계모형

  • AR
  • MA
  • ARMA
  • ARIMA
  • SES
  • DES/TES
  • PCI

 ML

  • K-Means clustering
  • DBSCAN
  • LOF
  • Isolation forest
  • One class support vector machine
  • XGBoost

 DL

  • MLP
  • CNN
  • Resnet
  • Wavenet
  • LSTM
  • GRU
  • Autoencoder

논문 구성


 Basics

시계열 데이터에서 이상치를 탐지하는 것에 대한 개념이 다루어진다. 기초적인 내용을 단단히하는 과정이다.

 Selected anomaly detection approaches for time series

통계 방법 / ml / dl 카테고리를 대표하는 방법론들을 소개한다.

 Approach

각기 다른 방법론을 어떻게 평가할지, 그 평가지표와 평가하는데 사용하는 데이터 세트를 설명한다.

 Experiments

각각의 알고리즘에 대한 실험 설계 과정을 설명한다.

 Results & Conclusions

결과를 설명하고 결론 짓는다.

 1. Introduction


 time series 데이터에 대해 anomaly detection 하는 방법에 대한 소개

  • statistical approach
  • machine learning approach
  • deep learning approach

 paper 의의

  • 각 카테고리별로 여러 방법론을 비교한다.
  • 여태까지 통계적, ml 방법론을 비교한 페이퍼는 있었어도, dl 방법론까지 비교한 페이퍼는 없었다!

2. Foundations


2.1 Anomalies and outliers

  • anomaly와 outlier을 동등의 관계, 또는 포함의 관계로 보는 사람들이 있지만 이 논문은 둘을 동등한 관계로 보고 anomaly의 정의에 대해 다시 한번 짚고 넘어간다.
  • 대부분 anomaly을 정의할 때는 아래 두 가지를 포함한다. 따라서 이 논문에서도 아래 두 특징을 포함하는 것으로 anomaly을 정의한다.
    • the distribution of the anomalies deviates remarkably from the general distribution of the data
    • the big majority of the dataset consists of normal data points. the anomalies form only a very small part of the dataset

2.2 Types of anomalies

 point anomalies

  • 하나의 포인트가 다른 데이터로부터 멀리 떨어져 있다면, point anomaly로 간주한다.
    • 예시: 하나의 큰 신용 거래가 다른 거래와 다른 경우

 collective anomalies

  • 각각의 포인트는 이상치가 아니지만 sequence가 이상치인 경우 collective anomaly로 분류된다
    • 예시: 한 고객이 500달러를 일주일 동안 매일 인출한다. 500달러를 종종 인출하는 행위는 정상적이지만 이를 매일 한다면 collective anomalies로 분류할 수 있다

 contextual anomalies

  • 어떤 포인트가 특정한 상황에서는 정상이지만 다른 상황에서는 이상치로 감지되는 상황을 contextual anomalies로 분류한다.
    • 예시: 여름에 35도인 것은 정상이지만 겨울에 35도인 것은 contextual anomalies로 분류할 수 있다

2.3 stochastic processes and time-series

Definition 2.2. A stochastic process is a family of time indexed random variables $Z(\omega, t)$, where $\omega$ belongs to a sample space and t belongs to an index set.

Definition 2.3. A time-series is a sequence of observations taken by continuous measurements over time. Generally, the observations are picked up in equidistant time intervals:

where d defines the dimension of time series

  • 하나의 시계열 데이터는..
    • 어떤 stochastic process의 realization
    • 하나의 source (one sensor)로부터 관측된 것
  • 이 논문에서 다루는 시계열은..
    • $d=1$이기 때문에 단변량 시계열을 다룬다
    • discrete 시계열이기 때문에 시계열 간 equal time intervals로 가정한다
  • 시계열 데이터는 기존 데이터와는 다르다
    • random variables 간에 독립성과 constant variance을 가정하지 않는다

2.4 Time-series patterns

 trend

  • 전체적으로 증가하는지 감소하는지

 seasonality

  • 주기적인 모습이 있는지
  • 보통 단위는 week, year

 cycles

  • seasonality와 비슷
  • 단위는 1년 이상, 10년

 level

  • 시계열 데이터의 평균

 stationary

Definition 2.4. $X_t$ is a stationary time-series if $\forall s \in \mathbb{R}$ the distribution of $(x_t, \cdots, x_{t+s})$ is equal

stationary 시계열 데이터는 아래의 특징을 가진다.

  • constant mean
  • constant variance
  • constant autocorrelation
  • no seasonality

 white noise

white noise $\epsilon_t$는 constant mean, variance을 가지는 고정된 분포를 가진다. 시간에 따라 uncorrelated된 특성을 가진다.

2.5 anomaly detection

2.5.1 Anomaly detection on time series

일반적으로 시계열 데이터에서 이상치 탐지는 아래 두 카테고리로 분류된다. 이 논문에서는 두 가지 방법에 대해 전반적으로 설명한다.

  • Anomaly detection based on prediction of the time series
    • 예측값 기반으로, 예측값과 실제값의 차이가 일정 부분 이상이면 이상치라고 탐지한다
    • point anomaly을 탐지하는데 더 작합하다
  • Anomaly detection based on unusual shapes of the time series
    • clustering과 같은 방법
    • collective, contextual anomaly을 탐지하는데 더 적합하다

2.5.2 Anomaly detection on univariate time series

forecasting 방법 기준으로, formal하게 정의해보자.

\[ \phi : \mathbb{R}^w \rightarrow \mathbb{R} \\ \hat{x}_i = \phi((x_{i-w}, \cdots, x_{i-1})) \]

anomaly score는 predicted value인 $\hat{x}_i$와 real value인 $x_i$의 거리를 측정하여 얻는다.

\[ e_i = d(x_i, \hat{x}_i ) \]

보통 distance function으로는 euclidean function을 사용하고, $e_i$가 일정 값 이상이라면, $\delta \in \mathbb{R}$, anomaly로 판단한다.

3. Selected Anomaly detection approaches for time series

3.1 Anomaly detection using statistical approaches

3.1.1 Autoregressive model (AR)

\[ X_t = \sum^p_{i=1} a_i X_{t-i} + c + \epsilon_t \]

  • 현재 값인 $X_t$가 이전 값들의 선형 결합 (linear combination) 으로 이루어져있다고 가정한다. AR(p)는 이전 p개의 값들로 이루어져 있다는 뜻이다.
  • $\epsilon_t$는 white noise로 가정
  • 시계열 데이터가 stationary 하다고 가정
  • 모형을 fitting하고 test 데이터에 대한 예측값과 실제값의 deviation을 비교하여 anomaly 탐지

3.1.2 Moving average model (MA)

\[ X_t = \sum^q_{i=1} a_i \epsilon_{t-i} + \mu + \epsilon_t \]

  • 현재 값인 $X_t$ 가 이전 에러값인 $\epsilon_t$들의 선형 결합 (linear combination) 으로 이루어져있다고 가정한다. MA(q)는 이전 p개의 값들로 이루어져 있다는 뜻이다.
  • 모형을 fitting하고 test 데이터에 대한 예측값과 실제값의 deviation을 비교하여 anomaly 탐지

3.1.3 Autoregressive moving average model (ARMA)

\[ X_t = \sum^p_{i=1} a_i X_{t-i} + \sum^q_{i=1} b_i \epsilon_{t-i} + \epsilon_t \]

  • 지난 p개의 관측값과 q개의 에러값의 선형 결합으로 현재 시계열을 표현하는 모형이다.
  • 시계열이 stationary하다고 가정한다.
  • p와 q를 정하는게 어렵다

3.1.4 ARIMA Model

\[ X^1_i = X_i - X_{i-1}, \forall \in \{ 1, \cdots, T \} \]

\[ X^1_t = X_t - X_{t-n}, \forall \in \{ 1, \cdots, T \} \]

  • non-stationary하다면 stationary하게 만들어야 한다.
  • 차분을 통해 stationary하게 만든다.
  • seasonal effect 주기인 n 간격으로 차분하여 seasonal effect을 없앨 수도 있다.

3.1.5 Simple exponential smoothing (SES)

\[ X_{t+1} = \alpha X_t + \alpha(1-\alpha) X_{t-1} + \alpha(1-\alpha)^2 X_{t-2} + \cdots + \alpha(1-\alpha)^N X_{t-N} \]

  • $X_{t+1}$은 이전 값들의 선형 결합이다.
  • $\alpha$가 작을수록 멀리있는 데이터에 더 큰 비중을 둔다.
  • 시계열 데이터가 stationary 하다고 가정

3.1.6 Double and Triple exponential smoothing (DES, TES)

  • double:  $\beta$를 추가하여 trend을 smooth
  • triple: $\gamma$를 추가하여 seasonality을 통제

3.1.7 Time series outlier detection using prediction confidence interval (PCI)

\[ X_t = \dfrac{\sum^{2k}_{j=1} w_{t-j} X_{t-j}}{\sum^{2k}_{j=1} X_{t-j}} \]

  • 다음 시계열을 예측하기 위해 이전 시계열의 비선형 결합을 활용한다.
  • threshold을 이용해서 이상치인지 판별한다.
  • $w_{t-j}$는 $X_{t}$와  $X_{t-j}$의 거리에 반비례한다. 즉, 현재 값과 시간적으로 더 가까울수록 더 많은 가중치를 받는다.
  • PCI는 아래와 같이 계산된다.

\[ PCI = X_t \pm t_{\alpha, 2k-1} \cdot s \sqrt{1 + \dfrac{1}{2k}} \]

$X_{t}$가 PCI 밖에 있으면 이상치로 판별한다.

3.2 Anomaly detection using classical machine learning approaches

3.2.1 K-Means clustering - subsequence time series clustering (STSC)

  • N개의 시계열 데이터를 생각해보자. $\{ X_N \} = (x_1, \cdots, x_N)$
  • 이로부터 window length와 slide lenght을 각각 $w, \gamma$으로 정하고 subsequence을 만들어본다.

\[ \mathcal{S} = \{ (x_0, x_1, \cdots, x_w)^T, (x_{0+\gamma}, x_{1+\gamma}, \cdots, x_{w+\gamma})^T, \cdots, ( x_{N-w}, x_{N-w+1}, \cdots, x_N )^T \} \]

  • cluster의 개수인 k를 정하고 데이터세트  $\mathcal{S}$에 대해 수렴할 때까지 k-means 알고리즘을 수행한다. 결과로 k개의 centroids vector set, $\mathcal{C}$을 얻는다
  • 각각의 subsequence에서 k개의 centroids까지 거리 중 최소값을 구한다.

\[ e_i = \min_{\forall c \in \mathcal{C} } d(s_i-c) \]

  • $e_i$을 $i \in \{ 0, \cdots, |\mathcal{S}| \}$에 대해서 얻은 것이 $\mathcal{E} = (e_0, e_1, \cdots, e_{|\mathcal{S}|})$ sequence 이다.
  • 각각의 subsequence가 이상치인지 판별하는 기준값은 $e_i$이다. 즉, $e_i > \delta$이면 이상치로 판별한다.

NOTE

  • 이와 같이 시계열 데이터의 subsequence에 대해 클러스터링 알고리즘을 사용하는 것이 무의미하다는 연구 결과가 있다.
  • 그럼에도 여전히 이 방법은 기본적인 클러스터링 알고리즘이므로 비교 대상에 포함한다.

3.2.2 Density based spatial clustering of applications with noise (DBSCAN)

시계열 데이터 가공 여부

  • subsequence로 만들지 않고 raw로 들어가는 것 같다.

작동 방식

  • 정해야하는 파라미터
    • $\epsilon$: 한점의 neighbor로 정의할 거리
    • $\mu$: 정상적인 군집이 가져야하는 주변 neighbors의 갯수
  • $x_i$의 neightbors는 다음과 같이 정의한다
    • $N(x_i) = \{ x_j | x_j \in \mathcal{D}: \phi(x_i,x_j) \leq \epsilon, x_i \neq x_j \}$
  • $x_i$의 core points는 다음과 같이 정의한다
    • $corepts(x_i) = true \leftrightarrow | N(x_i) | \geq \mu$
  • $x_i$의 border points는 다음과 같이 정의한다
    • $borderpts(x_i) = true \leftrightarrow \exists x_j \in \mathcal{D}: x_j \neq x_i \land x_j \in N(x_i)$ $\land \, corepts(x_j)=true$ 
    • corepts이면서 $x_i$는 아닌, 다른 점이 존재할 때를 의미한다
    • $x_i$가 corepts인 지는 중요하지 않다
  • $x_i$의 anomaly 여부는 다음과 같이 정의한다
    • $anomaly(x_i) = true \leftrightarrow corepts(x_i) \ false \land borderpts(x_i) = false$
    • corepts도 아니고, borderpts도 아닌 점이 anomaly로 정의된다

3.2.3 Local outlier factor (LOF)

시계열 데이터 가공 여부

  • window length을 정하고, subsequence을 만든다.
    • $A(w,t) = \{  (x_i, \cdots, x_{i+w} | i \in \{ 1, \cdots, t-w \}, t \leq |\{X_T\}| \}$
    • $B(w,t) = \{ x_{t-w/2} , \cdots, x_{t+w/2} \}$
  • $LOF(B(w,t)) \geq \delta$ 이면 이상치로 판별한다.

작동 방식

  • DBSCAN과 같이 density에 기반하지 않고 가장 가까운 이웃 (K-NN)을 찾는다.
  • 한 포인트의 LOF을 구하는 과정
    • $x$의 k-distance인 $\delta_k$을 구한다
      • 𝑥에 k번째로 가까운 이웃인 y는 다음과 같이 정의된다.
      • $\phi(x,y) = \delta_k, x \in \mathcal{D}$
    • 𝑥의 k-distance neighborhood는 다음과 같이 정의된다.
      • $N_{k-distance(x)} (x) = \{ y | y \in \mathcal{D}, \phi(x,y) \leq \delta_k \}$ → x와의 거리가  $\delta_k$ 이하로 떨어지는 애들
    • x의 reachability distance는 아래와 같이 정의된다.
      • $RD_k(x,y) = \max \{  k-distance(y), \phi(x,y) \}$
    • local reachability density (LRD)는 아래와 같이 정의된다.
      • $LRD_k(x) = 1 / \dfrac{\sum_{y \in N_{k-distance(x)}} RD_k(x,y)}{|N_{k-distance(x)}|}$
    • 마지막으로 LOF는 아래와 같이 계산된다.
      • $LOF(x) = \dfrac{\sum_{y \in N_{k-distance(x)}} \dfrac{LRD_k(y)}{LRD_k(x)}}{|N_{k-distance(x)}|}$

한계

  • k 정하기
  • 시계열 데이터의 시간적 순서 의미가 상실될 수 있다.
  • distance function을 정해야 한다
  • 시간 복잡도가  $O(n^2)$이다.

3.2.4 Isolation Forest

시계열 데이터 가공 여부

  • sequence로 만들기도 한다
    • $\{ X_T \} = (x_1, x_2, \cdots, x_T)$를 univariate 시계열이라고 하면, window length를 w로 정의한 sequence는 다음과 같다.
    • $W := (W_1, W_2, \cdots, W_p) = ( (x_1, \cdots, x_w)^T, (x_2, \cdots, x_{w+1})^T, \cdots, (x_p, \cdots, x_{w+p-1})^T )$
  • 그대로 point로 가져가기도 한다

작동 방식

  • 데이터 포인트를 나누는 binary tree을 만든다.
  • 이상치가 정상 포인트보다 더 고립될 것이기에 tree의 root에 더 가깝다는 것이 핵심 아이디어.
  • training: training set으로부터 n개의 트리를 만든다
  • evaluation: test instance을 트리에 넣어서 anomaly score을 계산한다

3.2.5 One-class support vector machine

시계열 데이터 가공 여부

  • sequence로 만든다.
    • $\{ X_T \} = (x_1, x_2, \cdots, x_T)$를 univariate 시계열이라고 하면, window length를 w로 정의한 sequence는 다음과 같다.
    • $W := (W_1, W_2, \cdots, W_p) = ( (x_1, \cdots, x_w)^T, (x_2, \cdots, x_{w+1})^T, \cdots, (x_p, \cdots, x_{w+p-1})^T )$

작동 방식

  • 기존의 support vector machine
    • binary 분류라고 하면, 두 클래스와의 거리(margin)을 최대(maximize)로 하는 함수(hyperplane)을 찾는다.
  • one-class support vector machine
    • 클래스가 하나밖에 없으므로 원점으로부터의 거리를 최대로 하는 함수를 찾는다.
    • 목적 함수: $\min_{w \in F, \xi \in \mathbb{R}, \rho \in \mathbb{R}} \dfrac{1}{2} ||w||^2 + \dfrac{1}{\nu l} \sum_i \xi_i - \rho, s.t., (w \cdot \Phi( x) \geq \rho - \xi_i, \xi_i \geq 0)$

  • 이점!
    • 다른 anomaly detection 방법은 일종의 점수가 계산 되어서 추가적으로 이상치로 판별할건지 의사결정을 해야한다
    • svm은 아예 이상치인지, 아닌지 구분해주는 hyperplane을 얻게 되는 것이 좋다

3.2.6. Extreme gradient boosting (XGBoost)

시계열 데이터 가공 여부

  • sequence로 가공하지 않는다.
  • point로 예측하고 예측값과 실제값과의 차이로 의사결정한다.

작동 방식

  • 그냥 시계열 데이터 넣고 예측 모델링 하는 것 같다...

3.3 Anomaly detection using neural networks

3.3.1 Multiple layer perceptron (MLP)

시계열 데이터 가공 여부

  • sequence로 가공하지 않는다.
  • 이전 w개만큼의 데이터를 사용해서 다음 시점의 예측값을 뽑아낸다.
    • 이때 다음 한개의 시점뿐만 아니라 여러시점의 예측값을 뽑아낼 수 있다.

작동 방식

  • $f$를 MLP 함수라고 하자.
  • $x_i \in \{ X_N \}, w$을 각각 시계열 데이터와 window length라고 하자.
  • $\hat{x}_{t+1} = f(x_{t-w}, \cdots, x_t), \forall t \in \{ w, \cdots, n \}$로 생각하면, 이전 w개의 데이터를 사용해서 다음 하나의 시점만 예측하는 것이다.
  • $( \hat{x}_{t+1}, \cdots, \hat{x}_{t+p_w} ) = f(x_{t-w}, \cdots, x_t), \forall t \in \{ w, \cdots, n \}$로 생각하면, 이전 w개의 데이터를 사용해서 다음  $p_w$개 시점의 데이터를 예측하는 것이다.
  • MLP 방법은,  $f( x_{i-w}, \cdots, x_i ) -x_{i+1} > \delta$이면 이상치로 판별한다.

NOTE: Hyperparameter 튜닝해야함

  • neural network의 깊이, 폭
  • window size의 크기
  • learning rate, optimization function

3.3.2 Convolutional neural networks

시계열 데이터 가공 여부

  • sequence로 만든다.
    • $\{ X_T \} = (x_1, x_2, \cdots, x_T)$를 univariate 시계열이라고 하면, window length를 w로 정의한 sequence는 다음과 같다.
    • $W := (W_1, W_2, \cdots, W_p) = ( (x_1, \cdots, x_w)^T, (x_2, \cdots, x_{w+1})^T, \cdots, (x_p, \cdots, x_{w+p-1})^T )$

작동 방식

  • CNN을 이용해서 시계열 이상탐지하는 방법은 DeepAnT가 있음
    • prediction error가 크다면 이상치로 판단함
    • input은 1차원 벡터
    • convolution, max pooling 을 거쳐서 마지막에 dense layer, output

  • $f( x_{i-w}, \cdots, x_i ) -x_{i+1} > \delta$이면 이상치로 판별한다.

NOTE: Hyperparameter 튜닝해야함

  • CNN 아키텍쳐

3.3.3 Residual neural network (Resnet)

시계열 데이터 가공 여부

  • 딱히 말은 없지만 CNN과 유사한 아키텍쳐이므로 비슷하게 가지 않을까 싶다.
  • sequence로 만든다.
    • $\{ X_T \} = (x_1, x_2, \cdots, x_T)$를 univariate 시계열이라고 하면, window length를 w로 정의한 sequence는 다음과 같다.
    • $W := (W_1, W_2, \cdots, W_p) = ( (x_1, \cdots, x_w)^T, (x_2, \cdots, x_{w+1})^T, \cdots, (x_p, \cdots, x_{w+p-1})^T )$

작동 방식

  • convolutional block에 input을 같이 추가한다.
  • $x_i, \phi$을 각각 입력값, convolution block으로 정의하자.
  • 그러면  $y$의 residual block은  $y = \phi(x_i) + x_i$가 된다.
  • image 모델링에서 resnet이 vanishing gradient 문제를 잡아주며 좋은 결과를 냈으므로 시계열 이상탐지 문제에서도 적용해보자~ 라는 느낌이다.

3.3.4 WaveNet

시계열 데이터 가공 여부

  • sequence로 만든다.
    • $\{ X_T \} = (x_1, x_2, \cdots, x_T)$를 univariate 시계열이라고 하면, window length를 w로 정의한 sequence는 다음과 같다.
    • $W := (W_1, W_2, \cdots, W_p) = ( (x_1, \cdots, x_w)^T, (x_2, \cdots, x_{w+1})^T, \cdots, (x_p, \cdots, x_{w+p-1})^T )$

작동 방식

  • 하나의 오디오 샘플 x가 이전의 모든 샘플에 의존하도록 모형을 가정한다.
    • $p(x) = \prod^T_{t=1} p(x_t | x_1, \cdots, x_{t-1} )$
    • 그렇기 때문에 시계열 데이터 가정과 어느정도 일치한다.
  • 이를 위해 dilated convolution layers라는 것을 사용한다.

  • $f( x_{i-w}, \cdots, x_i ) -x_{i+1} > \delta$이면 이상치로 판별한다.

3.3.5 Long short term memory (LSTM) network

시계열 데이터 가공 여부

  • sequence로 만들지 않는다.
  • recurrent 아키텍쳐 자체가 시계열 데이터에 적합하기 때문에 input은 하나의 timestamp 값만 들어간다

작동 방식

  • $h_t$는 새로운 데이터  $x_t$에 더해져서 short term memory를 만든다.
  • $c_t$는 새로운 값에 곱해져서 long term memory를 만든다.
  • MLP, CNN, 간단한 RNN은 vanishing gradient 문제가 있지만 LSTM은 forget gate 덕분에 이런 단점을 극복한다.
  • 이상치 탐지
    • 하나의 timestamp을 LSTM에 넣어서 l개의 예측값을 뽑아낸다.  $(\hat{x}_{i+1}, \cdots, \hat{x}_{i+l}) = f(x_i)$
    • $l$개의 에러를 계산한다.  $e^{(i)} = (e_1, \cdots, e_l)$
    • 에러 벡터를 이용해서 multivariate gaussian distribution을 적합한다.
    • $P(e^{(i)})_{e^{(i)} \~N(\mu, \Sigma) } > \delta$ 이면 이상치로 판별한다.

3.3.6 Gated recurrent unit (GRU)

  • LSTM과 비슷하다

3.3.7 Autoencoder

작동 방식

  • 기존 데이터를 저차원으로 projection하는 encoding 부분
  • projection된 데이터를 기존 차원으로 복구하는 decoding 부분
  • 정상 데이터라면 decoding 및 encoding된 결과와 기존 데이터는 크게 차이가 없다.
  • 크게 차이가 난다면, 이상치인 것이다.
  • 이상치 탐지
    • window w로 정해서 autoencoder 예측값을 계산한다. $(\hat{x}_i, \hat{x}_{i+1}, \cdots, \hat{x}_{i+w})^T = \psi (\phi ( ( x_i, x_{i+1}, \cdots, x_{i+w})^T))$
    • parameter는 input, output의 차이를 최소화하는 방향으로 진행된다.
      • $\min_{\theta_{\psi}, \theta_{\phi}} || ( x_i, x_{i+1}, \cdots, x_{i+w})^T - (\hat{x}_i, \hat{x}_{i+1}, \cdots, \hat{x}_{i+w})^T ||_2$
    • training dataset을 이용해서 autoencoder 모형  $f_{\psi \phi}$을 만든다.
    • test dataset에 대해 예측값을 만든다.  $\hat{x}_j = f_{\psi \phi}(x_j)$
    • 에러를 계산한다.  $e_j = || x_j - \hat{x}_j ||$
    • $e_j > \delta$이면 이상치로 분류한다

4. Approach

4.2 Datasets

UD1 – Real Yahoo Services Network traffic

  • 야후 서비스의 트래픽을 포함하는 단변량 시계열 자료
  • 1400개의 timestamps을 포함하는 67개의 서로 다른 시계열 데이터가 있다.
  • 사람에 의해 레이블링 되어 있다.
  • 대부분의 시계열은 stationary하고 하나의 시계열에 1.9% 정도가 이상치이다.

UD2 – Synthetic Yahoo Services Network traffic

  • 만들어진 100개의 시계열 자료
  • 각각 1420개의 timestamps을 포함하고 있고 0.3% 정도의 이상치를 가진다.

UD3 – Synthetic Yahoo Services with Seasonality

  • UD2 특징에다가 seasonality을 가지는 시계열 자료이다.

UD4 – Synthetic Yahoo Services with Changepoint Anomalies

  • UD3 특징에다가 시계열의 평균이 바뀌는 changepoint가 함께 있다.

NYCT – NYC Taxi Dataset

  • 뉴욕시의 택시 수요량에 대한 시계열 자료
  • 5개의 collective 이상치를 포함한다
    • NYC 마라톤, 추수감사절, 크리스마스, 새해, 눈폭풍

6. Results

AUC-Values

  • UD1~UD4 데이터 세트에 대해
    • 통계 모형 > ml > dl
  • NYCT
    • dl > ml > 통계모형
  • 이유?
    • UD1~UD4는 point anomalies, collective anomalies 포함
    • NYCT는 contextual anomalies 포함
    • contextual anomalies는 '맥락'에 의해서 이상치가 되는 것이다. 각각의 점들만 보면 이상치는 일반점들과 비슷하다.
    • 이러한 데이터 특징이, 통계 모형에서는 과적합 결과로 나타나는 것으로 보인다.
    • dl에서는 이런 특징을 조금 더 잘 모델링하는 것으로 보인다.

Findings

  • ml, dl이 많이 발전했지만 통계 모형이 여전히 좋은 결과를 낸다.
    • 정확도가 높을 뿐만 아니라 계산 속도도 빠르다.
    • 또한 최적화도 훨씬 쉽다.
  • 전반적으로 ml이 dl보다 더 나은 결과를 보였다.
    • 그러나 몇몇은 시간 복잡도가 치명적이다.
  • contextual anomalies을 탐지하는데에는 dl이 더 적합하다.
    • 이상치 종류에 맞는 모형을 사용하는게 중요하다.

 

  •  

댓글