SW 기술 트렌드

[시계열 데이터 분석] 시계열 예측을 위한 해석 가능한 딥 러닝

해피해커 2023. 3. 2. 00:00

"시계열 예측을 위한 해석 가능한 딥 러닝"이란 제목의 블로그 내용을 요약합니다. 이 글은 구글 AI 블로그에 실린 내용이며, International Journal of Forecasting에 실린 TFT(Temporal Fusion Transformer) 논문의 저자인 O. Arik, Tomas Pfister가 작성했습니다.

 

MONDAY, DECEMBER 13, 2021
Posted by Sercan O. Arik, Research Scientist and Tomas Pfister, Engineering Manager, Google Cloud

https://ai.googleblog.com/2021/12/interpretable-deep-learning-for-time.html

 

Interpretable Deep Learning for Time Series Forecasting

Posted by Sercan O. Arik, Research Scientist and Tomas Pfister, Engineering Manager, Google Cloud Multi-horizon forecasting, i.e. predicting variables-of-interest at multiple future time steps, is a crucial challenge in time series machine learning. Most r

ai.googleblog.com

 

다중 지평선 예측, 즉 여러 미래 시간 단계에서 관심 변수를 예측하는 것은 시계열 머신 러닝에서 중요한 과제입니다. 대부분의 실제 데이터 세트에는 시간 요소가 포함되어 있으며, 미래를 예측하면 큰 가치를 얻을 수 있습니다. 예를 들어, 소매업체는 미래 매출을 사용하여 공급망과 프로모션을 최적화하고, 투자 관리자는 금융 자산의 미래 가격을 예측하여 성과를 극대화하고, 의료 기관은 미래 환자 입원 건수를 사용하여 충분한 인력과 장비를 확보할 수 있습니다.

 

Q: 타임 시리즈 분석에서 horizon(지평선)이란 무엇인가?

A: 예측 기간을 의미한다. 일반적으로 예측 기간은 단기 예측 기간(3개월 미만)부터 장기 예측 기간(2년 이상)까지 다양합니다.

 

Q: 다중 지평선 예측 (Multi horizon forecasting)이란 무엇인가?

A: 다중 예측 기간을 의미한다.

정적 공변량 및 다양한 시간 종속적 입력을 사용한 다중 지평선 예측.

 

심층 신경망(DNN)은 다중 지평선 예측에 점점 더 많이 사용되고 있으며, 기존 시계열 모델에 비해 성능이 크게 향상되었습니다. 많은 모델(예: DeepAR, MQRNN)이 순환 신경망(RNN)의 변형에 초점을 맞춰 왔지만, 트랜스포머 기반 모델을 포함한 최근의 개선된 모델에서는 주의 기반 레이어를 사용하여 RNN의 귀납적 편향(정보의 순차적 순서 처리 등)을 넘어 관련 시간 단계의 선택을 향상시켰습니다. 그러나 이러한 모델은 다중 지평선 예측에 일반적으로 존재하는 다양한 입력을 고려하지 않고 모든 외생적 입력이 미래에 대해 알려져 있다고 가정하거나 중요한 정적 공변량을 무시하는 경우가 많습니다.

 

Q: 왜 DNN이 다중 지평선 예측에 점점 더 많이 사용되나요?

A: 예측 성능이 향상되었기 때문입니다. 어텐션 메커니즘을 사용해서 RNN의 귀납적 편향의 단점을 극복했다.

 

 

또한 기존의 시계열 모델은 많은 매개 변수 간의 복잡한 비선형 상호 작용에 의해 제어되므로 이러한 모델이 예측에 도달하는 방식을 설명하기 어렵습니다. 안타깝게도 DNN의 동작을 설명하는 일반적인 방법에는 한계가 있습니다. 예를 들어, 사후 방법(예: LIME 및 SHAP)은 입력 특징의 순서를 고려하지 않습니다. 일부 주의 기반 모델은 주로 언어 또는 음성과 같은 순차적 데이터에 대해 고유한 해석 가능성을 가지고 제안되지만, 다중 지평선 예측에는 언어 또는 음성뿐만 아니라 다양한 유형의 입력이 있습니다. 주의 기반 모델은 관련 시간 단계에 대한 인사이트를 제공할 수 있지만, 주어진 시간 단계에서 서로 다른 특징의 중요성을 구분할 수는 없습니다. 고성능을 위해 다중 지평선 예측에서 데이터의 이질성을 해결하고 이러한 예측을 해석 가능하게 만들려면 새로운 방법이 필요합니다.

이를 위해, 국제 예측 저널에 게재된 "해석 가능한 다중 시계열 예측을 위한 시간적 융합 변환기"를 발표하고, 다중 시계열 예측을 위한 주의 기반 DNN 모델인 시간적 융합 변환기(TFT)를 제안합니다. TFT는 모델을 일반적인 다중 지평선 예측 작업과 명시적으로 일치시켜 뛰어난 정확도와 해석 가능성을 제공하도록 설계되었으며, 다양한 사용 사례에서 이를 입증했습니다.

시간적 융합 트랜스포머
높은 예측 성능을 위해 각 입력 유형(예: 정적 입력, 알려진 입력, 관측된 입력)에 대한 특징 표현을 효율적으로 구축하도록 TFT를 설계합니다. TFT의 주요 구성 요소(아래 그림 참조)는 다음과 같습니다:

게이팅 메커니즘: 모델에서 사용되지 않는 구성 요소(데이터에서 학습)를 건너뛰고 광범위한 데이터 집합을 수용할 수 있도록 적응형 깊이와 네트워크 복잡성을 제공합니다.


변수 선택 네트워크: 각 시간 단계에서 관련 입력 변수를 선택합니다. 기존 DNN은 관련 없는 특징에 과도하게 적합할 수 있지만, 주의 기반 변수 선택은 모델이 학습 능력의 대부분을 가장 두드러진 특징에 고정하도록 유도하여 일반화를 개선할 수 있습니다.

 

정적 공변량 인코더: 정적 특징을 통합하여 시간적 역학이 모델링되는 방식을 제어합니다. 정적 특징은 예측에 중요한 영향을 미칠 수 있습니다. 예를 들어, 매장 위치에 따라 매출의 시간적 역학이 다를 수 있습니다(예: 시골 매장은 주말 트래픽이 더 높지만 시내 매장은 근무 시간 이후에 매일 최고치를 기록할 수 있음).


시간 처리: 관찰된 입력과 알려진 시간 변화 입력 모두에서 장기 및 단기 시간 관계를 모두 학습합니다. 시퀀스 간 계층은 순서화된 정보 처리에 유리한 귀납적 편향이 있기 때문에 로컬 처리에 사용되는 반면, 장기적인 종속성은 새로운 해석 가능한 다중 헤드 주의 블록을 사용하여 캡처합니다. 이렇게 하면 정보의 유효 경로 길이를 줄일 수 있습니다. 즉, 관련 정보(예: 작년 매출)가 있는 과거의 모든 시간 단계에 직접 집중할 수 있습니다.

 

예측 구간: 각 예측 구간에서 목표 값의 범위를 결정하는 사분위수 예측을 표시하여 사용자가 단순한 포인트 예측이 아닌 출력의 분포를 이해하는 데 도움을 줍니다.

TFT는 정적 메타데이터, 시간에 따라 변화하는 과거 입력, 시간에 따라 변화하는 선험적으로 알려진 미래 입력을 입력합니다. 변수 선택은 입력에 따라 가장 두드러진 특징을 신중하게 선택하는 데 사용됩니다. 게이트 정보는 잔여 입력으로 추가된 후 정규화됩니다. GRN(Gated Residual Network) 블록은 스킵 연결과 게이팅 레이어를 통해 효율적인 정보 흐름을 가능하게 합니다. 시간 의존적 처리는 로컬 처리를 위한 LSTM과 모든 시간 단계의 정보를 통합하기 위한 멀티헤드 주의력을 기반으로 합니다.

 

예측 성능
반복적 방법(예: DeepAR, DeepSSM, ConvTrans)과 직접적 방법(예: LSTM Seq2Seq, MQRNN)을 사용하는 다양한 딥 러닝 모델과 ARIMA, ETS, TRMF와 같은 기존 모델을 포함하여 멀티 호라이즌 예측을 위한 광범위한 모델과 TFT를 비교합니다. 아래는 잘린 모델 목록과 비교한 것입니다.

Model    Electricity    Traffic    Volatility     Retail   
ARIMA  0.154 (+180%)   0.223 (+135%)  
ETS  0.102 (+85%)    0.236 (+148%)   
DeepAR  0.075 (+36%)   0.161 (+69%)    0.050 (+28%)    0.574 (+62%)   
Seq2Seq  0.067 (+22%)    0.105 (+11%)    0.042 (+7%)    0.411 (+16%)   
MQRNN  0.077 (+40%)    0.117 (+23%)   0.042 (+7%)    0.379 (+7%)   
TFT  0.055   0.095   0.039    0.354  

TFT와 대체 모델에 대한 P50 정량적 손실(낮을수록 좋음). 

 

위에 표시된 바와 같이, TFT는 다양한 데이터 세트에서 모든 벤치마크보다 우수한 성능을 보였습니다. 이는 포인트 예측과 불확실성 추정 모두에 적용되며, TFT는 차선책 모델에 비해 각각 평균 7% 낮은 P50 손실과 9% 낮은 P90 손실을 산출합니다.

 

해석 가능성 사용 사례
TFT의 설계를 통해 개별 구성 요소를 분석하여 해석 가능성을 향상시키는 방법을 세 가지 사용 사례를 통해 보여드립니다.

변수 중요도
모델 가중치를 관찰하여 다양한 변수가 소매 판매에 어떤 영향을 미치는지 관찰할 수 있습니다. 예를 들어, 정적 변수의 가중치가 가장 큰 것은 특정 매장 및 품목이고, 미래 변수의 가중치가 가장 큰 것은 프로모션 기간과 공휴일입니다(아래 표시).

소매업 데이터 집합의 변수 중요도입니다. 변수 선택 가중치의 10번째, 50번째 및 90번째 백분위수가 표시되며, 0.1보다 큰 값은 굵은 보라색으로 표시됩니다.

 

영구 시간 패턴
지속적인 시간적 패턴을 시각화하면 주어진 데이터 집합에 존재하는 시간 종속적 관계를 이해하는 데 도움이 될 수 있습니다. 다양한 기간의 과거 예측에서 고정된 지연에 따른 특징의 기여도를 측정하여 유사한 지속적 패턴을 식별합니다. 아래 그림에서 관심도 가중치는 TFT가 의사 결정의 근거로 삼는 가장 중요한 과거 시간 단계를 보여줍니다.

10%, 50%, 90% 사분위수 수준에 대한 트래픽 데이터 세트의 지속적인 시간 패턴(𝛕는 예측 기간을 나타냄). 피크가 최대 24시간 간격으로 분리되어 명확한 주기성이 관찰됩니다. 즉, 모델이 과거 일과 하루 중 같은 시간대에 있는 시간 단계에 가장 많이 참석하며, 이는 예상되는 일일 트래픽 패턴과 일치합니다.

 

위의 표는 시간 경과에 따른 관심도 가중치 패턴을 보여주며, TFT가 하드 코딩 없이도 지속적인 시간적 패턴을 학습하는 방법을 보여줍니다. 이러한 기능은 예상되는 알려진 패턴을 확인하기 때문에 사용자와의 신뢰를 구축하는 데 도움이 될 수 있습니다. 모델 개발자는 특정 기능 엔지니어링이나 데이터 수집 등을 통해 모델 개선에 사용할 수도 있습니다.

 

중요한 이벤트 식별
중요한 이벤트의 존재로 인해 일시적인 변화가 발생할 수 있으므로 갑작스러운 변화를 식별하는 것이 유용할 수 있습니다. TFT는 각 지점의 주의 패턴 사이의 거리와 평균 패턴을 사용하여 유의미한 편차를 식별합니다. 아래 그림은 변동성이 낮을 때는 과거 입력에 동일한 주의를 기울이고, 변동성이 높은 기간에는 급격한 추세 변화에 더 많은 주의를 기울이는 등 이벤트 간에 주의를 변경할 수 있음을 보여줍니다.

2002년부터 2014년까지 S&P 500의 변동성 실현을 위한 이벤트 식별.

변동성이 높은 기간을 중심으로 주의 패턴의 상당한 편차가 위에서 관찰될 수 있으며, 이는 주의 패턴 사이의 거리인 dist(t)에서 관찰되는 피크에 해당합니다(빨간색 선). 보라색으로 강조 표시된 것처럼 임계값을 사용하여 중요한 이벤트를 나타냅니다.

2008년 금융 위기 전후의 기간에 초점을 맞춘 아래 아래쪽 플롯은 위쪽 플롯의 일반 이벤트(낮은 변동성 기간 동안 관심도가 동일함)와 비교하여 중요한 이벤트(급격한 추세 변화에 대한 관심도 증가가 분명함)의 중간에 확대되어 있습니다.

 

S&P 500 실현 변동성에 대한 이벤트 식별은 2004년과 2005년의 기간을 확대한 것입니다.

 

S&P 500 실현 변동성에 대한 이벤트 식별은 2008년과 2009년의 기간을 확대한 것입니다.

 

실제 영향
마지막으로, TFT는 예측 정확도를 개선하고 해석 기능을 제공하여 소매 및 물류 기업의 수요 예측을 지원하는 데 사용되었습니다.
또한 실시간으로 전력 공급과 수요의 균형을 맞춰 온실가스 배출을 줄이고 강우량 예측 결과의 정확성과 해석 가능성을 개선하는 등 기후 관련 과제에도 TFT를 적용할 수 있습니다.


결론
우리는 고성능 다중 지평선 예측을 위한 새로운 주의 기반 모델을 제시했습니다. 다양한 데이터 세트에서 향상된 성능 외에도 TFT에는 변수 선택 네트워크와 해석 가능한 다중 헤드 주의 등 고유한 해석 가능성을 위한 특수 구성 요소도 포함되어 있습니다. 세 가지 해석 가능성 사용 사례를 통해 이러한 구성 요소를 사용하여 피처 중요도 및 시간적 역학에 대한 인사이트를 추출하는 방법도 설명합니다.

 

감사 인사
브라이언 림, 니콜라스 로프, 진민호, 야광 리, 앤드류 무어의 공헌에 감사드립니다.

 

 

 

참고로, DART 라이브러리가 있습니다. 타임시리즈 데이터 분석을 위한 파이썬 라이브러리입니다. 여기에 TFT가 구현되어 있다고 합니다.

https://unit8co.github.io/darts/index.html

 

Time Series Made Easy in Python — darts documentation

Time Series Made Easy in Python Darts is a Python library for user-friendly forecasting and anomaly detection on time series. It contains a variety of models, from classics such as ARIMA to deep neural networks. The forecasting models can all be used in th

unit8co.github.io

Darts는 시계열에 대한 사용자 친화적인 예측 및 이상 징후 탐지를 위한 Python 라이브러리입니다. 여기에는 ARIMA와 같은 고전적인 모델부터 심층 신경망에 이르기까지 다양한 모델이 포함되어 있습니다. 예측 모델은 모두 같은 방식으로 사용할 수 있으며, fit() 및 predict() 함수를 사용하여 scikit-learn과 유사하게 사용할 수 있습니다. 또한 이 라이브러리를 사용하면 모델을 쉽게 백테스트하고, 여러 모델의 예측을 결합하고, 외부 데이터를 고려할 수 있습니다. Darts는 단변량 및 다변량 시계열과 모델을 모두 지원합니다. ML 기반 모델은 여러 시계열을 포함하는 잠재적으로 큰 데이터 세트에 대해 학습할 수 있으며, 일부 모델은 확률적 예측을 위한 풍부한 지원을 제공합니다.