TimesNet - CNN Based Time Series Forecasting (Multi periodicity 활용)

Introduction

  • a CNN-based architecture to achieve state-of-the-art results across different tasks,

Motivation

  • Mutli-periodicity
  • 예) 밤보다 낮이 덥고, 겨울보다 여름이 더 덥다. 이렇게 여러 특징이 Overlap되기도 하고 상호작용하기도 한다. → 기간만을 가지고 분리하기가 어려울 수 있다.
  • 저자는 2D Space로 TIme Series의 Reshape을 제안 → intraperiod-variation and interperiod-variation.를 각각 모델링

Architecture

  • TimesNet은 여러 TimesBlock을 [[📦 Residual Learning은 신경망이 깊어질 때 성 저하를 막기위한 학습 방식이다.|Residual Connection]] 과 함께 Stacking한 구조
  • 각 Time Block에는 Series 형태의 Data가  a fast Fourier transform (FTT)를 거쳐서 Period를 구분된 다음, 2D Vector로 Reshape이 이루어짐, 다음에 Inception Block으로 가서 2D Space형태의 Representation을 학습하고 2D Space 형태로 예측까지 이루어짐
  • 마지막으로 1D Vector로 제공하기 위해서 Adaptive Aggregation을 활용함

Multi-periodicity를 어떻게 인식할 것인가?

  • 저자는  intraperiod and interperiod variations. 를 각각 모델링하기 위해서 1d Series를 2D Vector로 변환
  • Red rectangles(intraperiod-variation): 예를 들면 월요일에서 화요일, 수요일로 가면서 데이터가 어떻게 바뀌는지
  • Blue Rectangle(Interperiod-variation): 지난주 월요일, 다음주 월요일간의 데이터 변화
  • interperiod-variation는 Vecrtical로 ,the intraperiod-variation는 Horizontal로 표현됨
  • 유의미한 Period를 어떻게 인지하기 위해서 FastFourier Transform (FTT)를 활용
  • 예시로 위 이미지에서는 ETT Dataset에 FTT를 적용한 결과이며 Amplitude의 Peak을 보고 Dilay와 Year가 중요한 Period임을 파악할 수 있다. 이 때 Parameter K를 이용해서 Period 갯수 선정할 수 있음 → 이 데이터 기반으로 2D Vector를 구성하고 2D Kernel 이용해서 Temporal Variation을 찾는다.

Inside the TimesBlock

위 데이터는 Inception Block으로 보내진다. Inception Block을 통해서 Sparse Representation을 유지하고 일르 통해서 보다 효과적인 Representation Status를 유지하고자 함 → GooLeNet 아이디

왜 Inception Block을 채택했을까? → Inception Block은 원래 Vision Model 쪽 idea임

  • 2D Data Parsing을 할 수 있다는 강점 외에, Inception Block을 활용함으로써 Vision 쪽에서의 개선 아이디어를 지속차용함으로써 모델 개선 가능성을 열어두었음

Adaptive aggregation

  • Aggression을 할 때 Period별로 Amplitude가 다른 부분을 반영하기 위해서 Adaptive Aggerssion을 활용 → 연/월/일 중요도가 다르기 떄문에
  • 이 부분이 매끄럽게 진행되기 위해서 FTT이후 Softmax Layer를 거치게 함으로써 중요도가 비교될 수 도록 변환을 거친다.
  • 이렇게 거친 데이터가 하나의 TimeBlock을 거치고 이 Time Block들이 Stacking을 하고 Residual Learning이 결합되면서 TimesNet이 완성된다.