이 논문은 여러 시계열 forecasting model의 미래 예측값 사이에서 발생하는 분산을 predictive uncertainty로 사용해 각 미래 시점의 anomaly precursor를 탐지하는 FATE를 제안한다. 또한 anomaly segment 탐지, 구간 coverage, 조기 탐지 시점을 함께 반영하는 PTaPR 평가 지표를 제시한다.
1. 연구 배경
일반적인 time-series anomaly detection은 현재 또는 이미 관측된 시계열이 정상 패턴에서 벗어났는지를 판별한다. Forecasting 기반 방법은 과거 데이터를 이용해 미래 값을 예측하고, 실제 값이 도착한 뒤 prediction error를 anomaly score로 사용한다.
그러나 미래 시점의 anomaly를 현재 시점에서 미리 판단하려면 아직 관측되지 않은 실제 미래값을 사용할 수 없다.
논문은 이 문제를 Precursor-of-Anomaly(PoA) detection으로 다룬다. PoA detection의 목표는 현재까지의 관측만 이용해 미래 anomaly의 징후를 탐지하는 것이다.
논문은 PoA detection에서 다음 요소를 다룬다.
미래 target 없이 anomaly precursor score를 계산하는 방법
하나의 forecasting model이 아니라 여러 모델의 예측을 사용하는 ensemble 구조
Prediction horizon의 각 미래 시점에 대한 score
탐지 여부와 탐지 시점을 함께 반영하는 평가 지표
2. 관련 연구 구성
2.1 Time-series anomaly detection
논문은 unsupervised time-series anomaly detection 방법을 다음과 같이 분류한다.
Density-based method
Clustering-based method
Prediction-based method
Reconstruction-based method
Prediction-based method는 forecasting error를, reconstruction-based method는 reconstruction error를 anomaly score로 사용한다. Transformer 기반 anomaly detection 모델로 Anomaly Transformer와 Variable Temporal Transformer도 소개한다.
2.2 Precursor-of-Anomaly detection
PAD는 anomaly detection과 PoA binary classification을 multi-task learning으로 함께 수행한다. PAD의 PoA task는 현재 구간을 입력으로 받아 미리 정한 미래 윈도우 안에 anomaly가 발생할지를 예측한다.
FATE는 forecasting horizon의 각 미래 시점에 대해 uncertainty score를 계산한다. 실제 미래 관측값은 추론 시 사용하지 않는다.
2.3 TaPR
Time-series Aware Precision and Recall(TaPR)은 point-wise precision과 recall 대신 anomaly segment 단위의 탐지 결과를 평가한다.
TaPR은 detection score와 portion score를 결합한다.
TaR=αTaRd+(1−α)TaRp
TaP=αTaPd+(1−α)TaPp
FATE 논문은 TaPR에 early prediction component를 추가한 PTaPR을 제안한다.
3. 문제 정의
다변량 시계열은 다음과 같이 정의된다.
T={x1,x2,…,xT},xt∈Rc
여기서 c는 변수의 개수다.
현재 시점 t에서 길이 Lx인 입력 sequence는 다음과 같다.
Xt={xt−Lx+1,…,xt}
Forecasting model은 입력 Xt를 이용해 길이 Ly인 미래 sequence를 예측한다.
Y^t={y^t+1,y^t+2,…,y^t+Ly}
FATE의 목표는 현재 입력 Xt와 여러 forecasting model의 출력만 사용해 미래 시점
{t+1,t+2,…,t+Ly}
각각에 대한 anomaly precursor score를 계산하는 것이다.
4. FATE 전체 구조
FATE는 Forecasting Anomalies with Time-series forecast Ensembles의 약자다.
전체 과정은 다음과 같다.
현재 입력 시계열 X_t
│
▼
서로 다른 M개의 forecasting model
│
▼
각 모델이 동일한 미래 horizon을 예측
│
▼
동일 미래 시점에 대한 모델 간 prediction variance 계산
│
▼
Prediction step별 uncertainty normalization
│
▼
Threshold를 넘는 미래 시점을 PoA로 변환
│
▼
PTaPR로 anomaly 및 precursor detection 평가
FATE의 전체 architecture. 정상 입력과 precursor 또는 abnormal input이 forecasting ensemble을 통과하고, 모델 간 출력 차이가 uncertainty-based anomaly prediction으로 변환되는 과정을 보여준다. 오른쪽에는 PTaPR의 detection, portion, early detection 항목이 표시되어 있다.
5. Heterogeneous forecasting ensemble
5.1 Forecasting model 후보
논문은 Transformer, convolutional, linear 계열을 포함한 여러 forecasting model을 후보로 사용한다.
Transformer
Informer
Reformer
Autoformer
Crossformer
ETSformer
FEDformer
FiLM
DLinear
TimesNet
Pyraformer
PatchTST
각 모델은 동일한 training data로 학습되고, 별도의 정상 validation set에서 MSE와 MAE로 forecasting 성능을 측정한다.
5.2 Top-K ensemble
Validation forecasting 성능을 기준으로 상위 K개 모델을 선택해 ensemble을 구성한다.
본 실험의 ensemble 크기는 다음과 같다.
K=5
논문은 데이터셋에 따라 특정 forecasting model의 성능 차이를 반영해 ensemble component를 선택한다.
6. Uncertainty score
6.1 모델 간 prediction variance
특정 미래 시점 t와 변수 i에 대해 M개 forecasting model의 예측을
y^1it,y^2it,…,y^Mit
라고 하자.
Ensemble mean은 다음과 같다.
yˉit=M1m=1∑My^mit
FATE는 모델 간 표본분산을 uncertainty score로 정의한다.
Uit=M−11m=1∑M(y^mit−yˉit)2
모델들의 예측이 서로 가까우면 Uit가 작아진다.
모델들의 예측 차이가 커지면 Uit가 커진다.
논문은 precursor 또는 latent abnormality가 포함된 입력에서 forecasting model들의 prediction variance가 증가한다는 가정을 사용한다.
6.2 Prediction error와의 차이
일반적인 forecasting 기반 anomaly score는 실제 미래값이 도착한 뒤 계산된다.
∥xt+h−x^t+h∥
FATE의 uncertainty score는 실제 미래값 대신 여러 모델의 예측값만 사용한다.
Var(x^t+h(1),…,x^t+h(M))
따라서 추론 시점에 미래 target이 없어도 score를 계산할 수 있다.
7. Prediction horizon별 uncertainty normalization
Forecasting horizon이 길어질수록 정상 데이터에서도 uncertainty가 증가할 수 있다. 논문은 각 prediction step의 uncertainty distribution을 별도로 계산한 뒤 z-score normalization을 적용한다.
미래 prediction step i에서 여러 input window로부터 얻은 uncertainty의 평균과 표준편차는 다음과 같다.
μi=N1t=1∑NUit
σi=N1t=1∑N(Uit−μi)2
정규화된 uncertainty score는 다음과 같다.
Ui,normt=σiUit−μi
μi와 σi는 held-out validation set에서 계산한다. 이 과정은 서로 다른 prediction step의 uncertainty를 같은 threshold 기준으로 비교하기 위해 사용된다.
8. 미래 시점과 PoA prediction의 연결
Sliding window의 index를 이용하면 현재 입력으로 생성한 각 prediction이 원래 시계열의 어느 미래 시점에 해당하는지 연결할 수 있다.
논문의 Figure 3 예시는 다음 설정을 사용한다.
Input sequence length: Lx=10
Prediction horizon: Ly=5
세 번째 sliding window: w=2
현재 입력의 마지막 시점: 11
Forecasting 대상 시점: 12~16
탐지된 precursor 시점: 13
즉, 시점 11까지의 데이터를 이용해 시점 13의 precursor를 예측한 사례다.
8.1 Threshold 선택
논문의 실험에서는 normalized uncertainty score를 binary detection result로 변환하기 위해 threshold를 사용한다.
Threshold는 여러 후보를 test set에서 평가하고 PTaPR 기반 F1-score가 가장 높은 값을 선택하는 best-F1 search 방식으로 정한다.
9. PTaPR 평가 지표
PTaPR은 Precursor Time-series Aware Precision and Recall의 약자다. 기존 TaPR에 early prediction 요소를 추가한다.
논문은 다음 세 가지 요소를 함께 계산한다.
Anomaly segment를 탐지했는가?
Anomaly segment를 어느 정도 포함했는가?
Anomaly onset 이전에 어느 시점에서 precursor를 탐지했는가?
10. PTaPR 용어
10.1 Anomaly segment
길이 l인 anomaly segment는 다음과 같다.
a={t,t+1,…,t+l−1}
전체 anomaly segment 집합은
A={a1,a2,…,an}
이다.
10.2 Prediction segment
모델이 anomaly로 판단한 연속 구간은 다음과 같다.
p={t′,t′+1,…,t′+l′−1}
전체 prediction segment 집합은
P={p1,p2,…,pm}
이다.
10.3 Precursor segment
Prediction segment p 앞에서 anomaly precursor로 탐지된 구간을 p′로 정의한다.
p′={t′′,t′′+1,…,t′−1}
전체 precursor segment 집합은 P′로 표시한다.
10.4 Ambiguous instance
Anomaly label이 끝난 직후의 일정 구간을 ambiguous instance로 정의한다.
a′={t+l,t+l+1,…,t+l+δ−1}
전체 집합은 A′로 표시한다.
11. PTaR: Precursor Time-series Aware Recall
PTaR은 세 항의 가중합이다.
PTaR=αPTaRd+βPTaRp+γPTaRe,α+β+γ=1
각 항은 다음을 의미한다.
PTaRd: segment-level detection rate
PTaRp: within-segment detection coverage
PTaRe: early prediction reward
11.1 Segment-level detection rate
PTaRd=∣A∣∣Ad(θ)∣
Ad(θ)={a∣a∈A,∣a∣∑p∈PO(a,p,p′)≥θ}
θ는 anomaly segment가 탐지되었다고 인정하기 위한 최소 overlap ratio다.
Training data는 70% training, 30% anomaly-free forecasting validation으로 나뉜다. Anomaly label이 있는 test set은 평가에 사용한다.
14.2 구현 설정
Input sequence length: Lx=100
Prediction sequence length: Ly=24
Sliding-window stride: 1
Ensemble size: Top-5
Batch size: 32
PTaPR weights: α=β=γ=1/3
Early reward sharpness: k=0.001
Optimal lead time ϵ: 데이터셋별 hyperparameter search
Framework: PyTorch
Hardware: NVIDIA Tesla V100 32GB GPU 4개
14.3 비교 모델
LSTM-AE
LSTM-VAE
USAD
DAGMM
OmniAnomaly
Anomaly Transformer(AT)
VT-SAT
VT-PAT
논문은 PAD와 FATE의 output definition이 다르기 때문에 직접 비교 표에는 PAD를 포함하지 않는다. Baseline이 anomaly onset 이전부터 연속 anomaly score를 출력한 경우 PTaPR의 early detection component에 반영한다.
15. PTaPR 결과
Table III에 보고된 FATE의 결과는 다음과 같다.
16. Early detection 결과
Table IV는 PTaPR의 early component인 precision, recall, F1을 따로 보고한다.
17. Early reward를 제외한 anomaly detection 결과
논문은 early detection reward를 포함하지 않는 TaPR과 PA%K도 함께 평가한다.
17.1 TaPR AUC
Table V에서 FATE는 PSM, MSL, SMAP의 AUC가 가장 높고, SWaT과 SMD에서는 일부 baseline의 AUC가 더 높게 보고된다.
17.2 PA%K AUC
Table VI에서 FATE는 PSM, MSL, SMAP의 AUC가 가장 높고, SWaT과 SMD에서는 VT-PAT 또는 다른 baseline이 더 높은 AUC를 기록한다.
논문은 SMD의 긴 anomaly interval에서 FATE가 anomaly onset은 탐지하지만 anomaly 구간 전체에 걸쳐 높은 score를 유지하지 못할 수 있다고 설명한다. 또한 일부 forecasting model에서 사용하는 RevIN과 같은 normalization이 anomaly pattern을 정상 패턴과 비슷하게 변환할 수 있다고 언급한다.
18. Sensitivity 및 ablation
18.1 Sharpness parameter k
PSM에서 k를 변화시킨 결과, 논문은 다음 값을 보고한다.
k=0.1: PTaPR 38.68
k=0.0001: PTaPR 54.78
k가 작아지면 early reward가 적용되는 시간 범위가 넓어진다. 본 실험에서는 k=0.001을 사용한다.
18.2 Optimal lead time ϵ
ϵ을 1에서 10까지 변화시켰을 때 PTaPR은 비슷한 범위에서 변하며, PSM에서는 ϵ=7에서 가장 높은 값이 보고된다.
18.3 Uncertainty normalization
Figure 6(c)는 prediction step별 uncertainty normalization을 적용한 경우 PSM과 SWaT에서 PTaPR이 증가하는 결과를 제시한다.
19. 결과 시각화
19.1 Anomaly detection visualization
Figure 7은 SWaT 전체 test sequence에서 USAD, VT-PAT, FATE의 detection segment와 ground-truth anomaly segment를 비교한다.
Ground truth: 빨간색
USAD prediction: 노란색
VT-PAT prediction: 파란색
FATE prediction: 초록색
19.2 PoA visualization
Figure 8은 PSM과 SWaT의 일부 구간에서 uncertainty score와 PoA prediction을 보여준다.
파란색 선: uncertainty score
빨간색 영역: detected PoA segment
노란색 영역: ground-truth anomaly
빨간색 점선: threshold
논문은 여러 사례에서 uncertainty가 anomaly 시작 이전 또는 초기 구간에서 threshold를 넘는 결과를 제시한다.
20. 논문의 결론과 향후 계획
논문에서 제안한 구성은 다음과 같다.
여러 forecasting model로 heterogeneous ensemble을 구성한다.
동일 미래 시점에 대한 모델 간 prediction variance를 uncertainty score로 계산한다.
Detection, portion, early prediction을 결합한 PTaPR로 결과를 평가한다.
저자들은 ensemble 구조에서 여러 모델을 학습하고 추론해야 하므로 computational overhead가 발생한다고 설명한다. 향후 연구로 Bayesian neural network와 같은 single-model uncertainty estimation을 검토해 PoA detection의 계산량을 줄이는 방향을 제시한다.