논문명: DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks
학회(출판연도): International Journal of Forecasting (2020)
연구분야: 딥러닝 기반 시계열 예측 및 시계열 표현 학습
Deep AR
수많은 time series를 동시에 학습하는 autoregressive RNN기반 global neural forecasting model
⇒ 이후 DeepState, DeepFactor, Transformer-based forecasting, Temporal Fusion Transformer, PatchTST 등장
Time Series Forecasting
Probabilistic Forecasting
Autoregressive Model
Recurrent Neural Network (RNN)
Likelihood Modeling
연구 흐름
기존에는 single time series models로 각 모델 간 데이터 공유가 없고 학습 데이터가 부족하다는 문제가 있었음
이 논문에서 Power-law scale distribution이 중요한데
몇몇 상품만 huge scales를 가지고 있어서 scale imbalance한 문제가 있음
→ 그래서 small series와 large series를 같은 모델에 넣으면 gradient imbalance 한 문제 발생
Probabilistic forecasting(확률적 예측)
DeepAR
많은 관련 시계열 데이터를 이용해 자기회귀(auto-regressive) 구조의 순환 신경망(RNN)을 학습시켜 정확한 확률적 예측을 생성하는 방법
✓ 자기회귀(auto-regressive)
- 현재의 값을 과거의 값들의 함수로 표현하는 모델
✓ 순환신경망(RNN)
DeepAR의 경우 RNN의 구체적인 구현으로 LSTM 사용
Vanilla RNN은 gradient vanishing 문제로 인해 long term dependency로 학습이 어려움
→ LSTM은 memory cell을 가지고 있어서 long-term pattern을 잘 학습
time series의 dynamics를 잘 학습함
, seasonality, trend, covariates 같은 정보를 hidden state에 저장함
!image.png
hidden state에서 확률 분포 파라미터 계산 - fully connected layer로 계산
이전 전통적인 방식은 시계열 하나 → 모델 하나에 대응시켰다면 DeepAR의 경우 수 천개의 시계열을 하나의 딥러닝 모델로 대응시켜서 패턴을 공유하고 학습
여러 실제 예측 데이터셋에 대한 실험을 통해 최신 방법과 비교하여 약 15%의 정확도 향상을 보였음
예측(forecasting)은 대부분의 기업에서 운영 프로세스를 ① 자동화하고 ② 최적화하는데 중요한 역할을 하며, ③ 데이터 기반의 의사결정을 가능하게 함
기존: 개별 시계열 또는 소수의 시계열을 예측하는 환경에서 개발
각 시계열마다 모델 파라미터를 과거 데이터로부터 독립적으로 추정
이렇게 되면 상품이 1000개라고 했을 때 모델이 1000개 필요한 비효율 발생 + 신제품의 경우에는 데이터가 적어서 모델이 불안정
모델은 자기 상관 구조, 추세, 계절성, 기타 설명 변수 등을 고려해서 수동으로 선택(사람이 설계해야함)
학습된 모델은 모델의 동적 구조에 따라 ① 미래 값을 예측, ② 시뮬레이션
예측 분포의 닫힌 형태(closed-form expression)을 통해 확률적 예측 생성 가능
✓ 모델의 동적 구조(dynamic structure)
동적구조: 시간이 흐르면서 값이 어떻게 변화하는지를 정의하는 규칙
현재 값 → 다음 값이 어떻게 만들어지는지 정의하는 수식 구조
시간 의존성이 존재하기 때문에 동적 모델 statet = f(state{t-1})
↔ 정적 모델 y=f(x)
✓ 예측 분포의 닫힌 형태
적분이나 시뮬레이션없이 수식 하나로 바로 계산할 수 있는 형태
가우시안, 이항분포, 포아송
↔ 시뮬레이션: 샘플을 많이 만들어서 근사
ex. GAN, Diffusion, DeepAR sampling
기존의 예측 방법
ARIMA, Exponential smoothing
✓ Exponential smoothing
- 최근 데이터에 더 큰 가중치를 주는 방법
한계
수요 예측 매우 불규칙적이고, 간헐적이며, 갑자기 급증하는 데이터 多
→ 전통적 모델의 핵심 가정을 깨뜨림
데이터 전처리 방법도 위 문제를 충분히 해결하기 어려움
⇒ 분포: zero-inflated Poisson, negative binomial
여러 시계열간 정보를 공유하면 예측 정확도를 향상시킬 수 있으나 구현의 어려움
(각 시계열이 매우 이질적이기 때문)
⇒ matrix factorization, Bayesian Hierarchical models


데이터의 노이즈 모델 결정하고, 데이터의 통계적 특성에 맞게 선택되어야 함
신경망이 다음 시정의 확률 분포의 모든 파라미터(ex. 평균과 분산)를 직접 예측함
사용하는 likelihood 2가지
실수 데이터 → 가우시안


양의 정수 데이터 → negative binomial likelihood
beta distribution, bernoulli, mixture distributions 와 같은 다른 likelihood 모델도 쉽게 사용 가능
단, 해당 분포에서 샘플링이 쉽고, log-likelihood 와 그 gradient를 계산할 수 있어야 함
시계열 데이터셋 {} 과 covariates 가 주어졌다고 하면 모델 파라미터는 log-likelihood를 최대화하는 방식으로 학습

DeepAR은
latent variable inference 필요없음 → direct likelihood optimiztion 이므로!
training window sampling → data augmentation 가능
training 과 predition의 mismatch한 문제가 있긴 하지만 큰 문제는 안 됨
autoregressive 구조 때문에 입력 과 네트워크 출력 모두 관측값에 비례해 스케일이 커짐
신경망의 비선형 함수들의 작동 범위가 제한적이라 gradient 문제 발생
→ 추가적 조치가 없다면 (P) 입력을 적절한 범위로 스케일링 하는 방법을 학습해야함
⇒ (S) 아이템별 scale factor vi로 나누어 해결
(각 아이템별로 고유한 특성이 있을 것이기 때문)
µ = νi * softplus(oµ)
→ 네트워크 output을 scaled parameter로 하는 데에 중요
→ 평균값을 scale factor로 사용하는 방법 잘 작동
실험 환경
Framework: MXNet
Machine: AWS p2.xlarge
성과
사용 데이터셋
parts(자동차 부품 판매량/1046개의 시계열, 50 time steps)
electricity(전력 사용량/370 households, 시간 단위)
traffic(도로 점유율/963 freeway lanes, 시간 단위)
→ 전력과 도로 점유율은 rolling window forecast 방식 사용
✓ rolling window forecast
- rolling window
- 여러 시점에서 반복 평가
- 모델을 다시 학습하지 않음 - 한 번 학습된 모델로 여러 forecast 수행
✓ ec(아마존 판매 데이터), ec-sub(아마존 판매 데이터 subset)
time series가 매우 다양 - slow moving item, fast moving item
즉, 판매량 scale 차이가 매우 큼
새 상품의 경우 history가 거의 없다는 문제 → cold start problem
DeepAR의 경우 global model로 모든 시계열을 같이 학습하기 때문에 패턴 공유 가능
→ probabilistic forecasting(불확실성 모델링)
→ scale normalization(power-law 문제 해결)
parts와 ec/ec-sub 데이터셋에서 baseline 모델 비교
baseline 모델
Croston - 간헐적 수요 예측을 위해 개발된 방법
ETS - Error Trend Seasonality 대표적인 Classical forecasting 모델
Snyder - Negative Binomial 기반 autoregressive 모델
ISSM - covariates를 사용하는 state space model
[RNN기반] ← DeepAR의 구성요소가 실제로 중요한지 검증 목적
RNN-Gaussian
RNN-negbin ← DeepAR의 design 요소 검증 목적
평가지표: p-risk metric (quantile loss) ← parts, ec, ec-sub

ISSM 모델은 uncertainty가 선형적으로 증가한다고 가정하지만
DeepAR은 uncertainty 증가 패턴을 데이터로부터 학습
→ 시간이 지날수록 uncertainty가 증가한다는 패턴 학습
- uncertainty는 4분기(Q4)에 증가하고 이후 다시 감소 - retail의 특징 (수요변동성 증가)
ISSM모델과 비교했을 때 DeepAR이 calibration이 전반적으로 good
shuffled forecast calibration 곡선
예측 샘플을 시간 순서 없이 섞음으로써 시간 간의 상관관계 제거
짧은 구간에서는 큰 차이가 없지만 긴 예측 구간에서는 상관관계를 제거하면 calibration이 더 나빠짐
→ 모델이 시간 간 중요한 상관관계를 잘 학습하고 있음을 알 수 있음