숟가락 그만 얹어
DeepAR 본문
DeepAR은 Amazon Sagemaker에서 제공하는 forecasting 알고리즘으로 decoder만 사용한다. Training phase에서는 next time sample을 바로 예측하도록 학습시키고 (teacher-forcing), 실제 목표로 하는 inference phase의 decoding 부분은 previous sample의 예측 값을 다음 step의 input으로 활용하는 과정 (full sampling)을 반복하여 예측을 진행한다.
Contribution
1) LSTM-based autoregressive probabilistic model: LSTM으로 encoder와 decoder를 설계하고 각 LSTM step의 output을 확률 모델 (ex. Gaussian)로 가정한다. 확률 모델은 추론에 대한 uncertainty 정보를 제공한다.
2) Global model: 370명의 전기 사용량 데이터에 대하여 local model은 370개의 개별 모델을 만들어야 하지만, global model은 단일 모델로 사용량 패턴의 유사 특성을 반영하여 예측을 진행한다.
3) How to deal with scale-free nature: 현실 세계에서는 데이터의 분포 scale이 다양할 뿐만 아니라 매우 skew되어 있다. 이를 처리하기 위해 DeepAR에서는 각 item 별로 (1+mean)을 나누어 normalize한다.
Implementation details
1) Covariates: time-series (z) 외의 feature (x) 정보로 age, month, week, day, hour, category 등의 정보를 이용한다.
2) Data augmentation: 어떤 window size만큼 sampling을 수행할 때 window가 데이터의 시작점보다 앞쪽에 위치한다 하더라도 sampling하여 빈 부분은 0으로 채운다.
3) Gaussian model: mean과 variance를 neural networks의 output으로 두고 variance가 양이 되도록 variance output에 softplus를 적용한다. MSE를 구하는 것과 거의 같으나 분모에 variance term이 붙기 때문에 training 안정성은 조금 떨어지는 듯?
References
[1] D. Salinas et al., DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks, arXiv 2017
'Research > Forecasting' 카테고리의 다른 글
N-BEATS (0) | 2020.09.04 |
---|---|
Deep Factors (0) | 2020.08.24 |
The M4 Forecasting Competition: A Practitioner’s View (0) | 2020.07.19 |