본문 바로가기
논문리뷰/Time series

[논문 리뷰] TimeMixer: Decomposable Multiscale Mixing For Time Series Forecasting (ICLR, 2024)

by 알푼 2025. 1. 24.
300x250

TimeMixer는 ICLR 2024에서 poster 발표한 연구이다. 전통적으로 시계열에 대한 분해는 decomposition(트렌드, 계절성, 잔차 등으로 분해 하는 방법)과, multiperiodicity(주기에 따른 분해)등으로 구성된다. 하지만 해당 연구는 새로운 관점인 multi scale 관점에서의 분해를 제안한다. 누구나 생각해볼만한 분해지만 시계열 예측 연구에 도입된 것은 처음 보았기 때문에 신선하면서도 나는 왜 이런걸 못할까란 생각도 들었다. 한편으로는 최근 시계열 연구는 트랜스포머 기반, 선형 모델, 사전학습 모델 등으로 발전되고 있는데 가장 계산 효율이 좋은 선형 모델을 사용하여 좋은 성능을 낸다는 것도 주목할만한 연구인 것 같다.

 

Introduction

다양한 변동이 포함되는 시계열을 분석하기 위해 주로 시계열 분해(Series decomposition)과 다중 주기성 분석(Multiperiodicity analysis)등이 사용된다. 시계열 분해는 추세와 계절성 같은 더 예측이 가능한 구성요소로 분해하여 예측과정에 도움을 주고, 다중 주기성 분석은 혼합된 시간적 변동을 서로 다른 주기 길이를 가진 여러 구성요소로 분리하여 시계열의 고유한 특성을 강조하고 예측 성능을 향상시킨다.

해당 연구는 시계열이 서로 다은 샘플링 스케일에서 뚜렷한 시간적 변동을 보인다는 점을 주목했다. 예를 들어서 시간별로 기록된 교통 흐름은 하루 중 다른 시간대의 교통 변화를 보여준다. 즉, 출퇴근 시간대나 점심 시간 등 하루 중 세부적인 변화를 볼 수 있다. 반면 일별로 기록된 교통 흐름은 이러한 세밀한 변동이 사라지고 휴일과 관련된 변동이 나타난다. 이러한 관찰은 자연스럽게 복잡한 시간적 변동을 분리하기 위한 멀티스케일 분석 패러다임을 요구하며, 여기서 미세 및 큰 스케일은 각각 미시적 및 거시적 정보를 반영할 수 있다. 특히 시계열 예측 작업에서는 미래 변동이 여러 스케일의 변동에 의해 공동으로 결정된다는 점도 주목할 만 한다. 즉, 해당 연구에서 언급하는 스케일이란 "데이터가 수집된 주기" 정도로 이해할 수 있을 것이고, 주기가 짧은 데이터는 미시적 정보를 나타내고 주기가 긴 데이터는 거시적 정보를 나타낸다.

따라서 본 연구는 Multiscale Mixing이라는 새로운 관점에서 예측 모델을 설계한다.

 

방법론

모델은 전체적으로 아래 그림의 흐름대로 구성된다. 크게 세 부분으로 나누어 볼 수 있다.

(a) Multiscale Time Series : 시계열 데이터의 인풋을 다운 샘플링하여 주기가 여러개인 데이터, 즉 Multiscale 데이터로 변환하는 과정이다.

(b) Past Decomposable Mixing : 각각의 Multiscale 데이터에서 그 feature들을 추출하는 과정이다. 여기서 개별 scale 데이터를 계절적 요소와 추세 요소로 분해한다.

(c) Futrue Multipredictor Mixing : 추출한 feature들을 바탕으로 최종적으로 미래 예측값을 얻어내는 과정이다.

TimeMixer-Model-Structure

 

(a) Multiscale Time Series

복잡한 변동을 분해하기 위해 과거 관측치 $\mathrm{x}\in\mathbb{R}^{P\times C}$ (관측 길이 x 채널), average pooling을 통해 $M$개의 스케일로 다운샘플링하여 멀티스케일 시계열 집합 $\mathcal{X}=\{\mathrm{x}_0, ..., \mathrm{x}_M\}$ 을 얻는다. 이 때, $\mathrm{x}_m\in \mathbb{R}^{\lfloor \frac{P}{2^m}\rfloor \times C},\;m\in\{0, ..., M\},\;C$는 변수의 수이다. 가장 낮은 레벨의 시계열 $\mathrm{x}_0 = \mathrm{x}$는 입력 시계열로 가장 미세한 시간적 변동을 포함하고, 가장 높은 레벨의 시계열 $\mathrm{x}_M$은 거시적 변동을 나타낸다. 그 다음 임베딩 레이어를 통해 이러한 멀티스케일 시계열을 $\mathcal{X}^0=\text{Embed}(\mathcal{X})$로 표현한다.

이렇게 논문에 쓰여진대로 이해하면 이해가 어려우니 예시를 가지고 이해해본다.

Multiscale-Time-Series-과정

먼저 96개의 과거 데이터를 가지고 96개의 미래 데이터를 예측 하는 문제라고 가정해보자. 그러면 인풋 데이터의 시퀀스는 96이 된다. 이 데이터 시퀀스를 average pooling을 통해서 다운샘플링 한다. 즉, 2개 값의 평균을 내면 96개의 데이터가 48개로 변환된다. 만약 scale을 4개로 한다면 3번의 다운샘플링 과정을 통해 4가지 scale의 데이터를 얻을 수 있다. (논문의 실험 결과 scale을 4개로 설정하는 것이 가장 좋은 성능을 보였다)

이렇게 하면 총 4가지 스케일의 데이터가 생성되고, 이를 트렌드 부분과 계절성 부분으로 나눈다. 그러면 4가지 스케일 각각에 트렌드 / 계절성 데이터를 반영하면 총 8가지 데이터셋이 생성되었다고 볼 수 있다. 마지막으로 임베딩을 통해 데이터를 다시 표현하는데, 이 때 채널 수만 확장한다. 이 부분은 논문에서 자세히 설명하진 않지만, 채널 확장 시 1d convolution을 사용한 것으로 보아 locality를 포착하기 위함임을 추론할 수 있고 이것은 아마 채널 수 확장을 통해 추후에 데이터에서 feature를 얻을 때, 변수간의 관계를 포함시키기 위함으로 이해할 수 있을 것 같다.

 

(b) Past Decomposable Mixing

$l$번째 PDM 블록에서, 다중 스케일 시계열 $\mathcal{X}_l$을 Autoformer의 시계열 분해 블록을 사용하여 시계열 부분인 $\mathcal{S}^l = \{\mathrm{s}_0^l,\cdots,\mathrm{s}_M^l \}$ 과 트렌드 부분인 $\mathcal{T}^l = \{\mathrm{t}_0^l,\cdots,\mathrm{t}_M^l \}$ 로 분리한다. 계절성-트렌드 부분의 서로 다른 특성을 고려하여, 다중 스케일 간의 정보 상호작용을 위해 계절성과 트렌드 항에 대해 별도로 혼합 연산을 적용한다. 전체적으로 $l$번째 PDM 블록은 다음과 같이 공식화 할 수 있다.

$\mathrm{s}_m^l, \mathrm{t}_m^l = \text{SeriesDecomp}(\mathrm{x}_m^l), m \in \{0, \cdots, M\}$

$\mathcal{X}^l = \mathcal{X}^{l-1} + \text{FeedForward}\left(\text{S-Mix}\left(\{\mathrm{s}m^l\}{m=0}^M\right) + \text{T-Mix}\left(\{\mathrm{t}m^l\}{m=0}^M\right)\right)$

여기서 FeedForward는 채널 간 정보 상호작용(표현력 높임)을 위한 중간 GeLU 활성 함수가 있는 두 개의 선형 레이어이며, S-Mix와 T-Mix는 각각 계절성과 트렌드의 혼합을 나타낸다.

 

- Seasonal Mixing

계절성 분석에서 (Box & Jenkins, 1970) 더 큰 주기는 더 작은 주기들의 집합으로 볼 수 있다. 예를 들어, 교통 흐름의 주간 주기는 7일간의 일일 변화로 형성된다. 이는 미래의 계절적 변동을 예측할 때, 세부적인 정보의 중요성을 보여준다.

따라서 계절성 혼합에서는 bottom-up 접근 방식을 채택하여 더 낮은 레벨의 미세한 스케일 시계열의 정보를 위쪽으로 통합한다. 이를 통해 더 coarser 스케일(주기가 긴 스케일)에 계절성 모델링에 세부적인 정보를 보충할 수 있다.

Mixing-Method

 

위 그림과 같이 seasonal mixing에서는 아래에서 위로 정보가 통합, 즉 주기가 짧은 세밀한 데이터의 정보가 주기가 큰 coarser 스케일에 통합되는 과정을 포함한다. 이 작동은 아래와 같이 이루어진다.

주기가 가장 짧은 데이터의 시퀀스는 96개의 길이를 가진 데이터이다. 다 그릴 수 없으니 그림에서는 8칸으로 표현했다. 여기서 선형 변환을 통해 길이를 절반으로 줄여주고, 비선형 변환(GeLU) 후 다시 선형 변환을 거쳐서 그 다음 주기인 48과 같은 길이로 맞춰준다. 그리고 이렇게 변환된 값(위 그림에서 4개짜리 파란 블록)과 기존의 다음 주기인 48의 값(위 그림에서 4개인 주황 블록)을 더해준다. 이 과정이 바로 주기가 짧은 세밀한 데이터의 정보를 한 단계 큰 주기의 정보에 주입해주는 과정이며, 순차적으로 가장 큰 주기를 갖는 데이터까지 이 과정을 수행한다.

 

- Trend Mixing

계절성 부분과 달리, 추세 항목은 세부적인 변동이 거시적 추세를 포착하는 데 노이즈를 유발할 수 있다. 주기가 긴 스케일이 하위 레벨보다 더 명확한 거시적인 정보를 제공할 수 있다. 따라서 여기서는 top-down 혼합 방법을 채택한다.

수행 방법은 Seasonal Mixing과 정확히 반대 개념으로 수행하면 된다.

 

(c) Future Multipredictor Mixing

$L$개의 PDM 블록을 지나면 다중 스케일 과거 정보를 $\mathcal{X}^L=\{\mathrm{x}_0^L,...,\mathrm{x}_M^L\}, \mathrm{x}m^L \in \mathbb{R}^{\lfloor \frac{P}{2^m}\rfloor \times d{model}}$ 로 얻는다. 서로 다른 스케일의 시계열이 서로 다른 주요 변동을 보이기 때문에, 이들의 예측도 서로 다른 능력을 보인다. 다중 스케일 정보를 충분히 활용하기 위해, 다중 스케일 시계열에서 나온 예측들을 집계하고 Future-Multipredictor-Mixing 블록을 다음과 같이 제시한다.

$\hat{\mathrm{x}}_m = \text{Predictor}_m(\mathrm{x}m^L), m \in \{0, \cdots, M\}, \quad \hat{\mathrm{x}} = \displaystyle\sum{m=0}^M \hat{\mathrm{x}}_m$

여기서 $\hat{\mathrm{x}}_m \in \mathbb{R}^{F \times C}$ 는 $m$번째 스케일 시계열에서의 미래 예측을 나타내며, 최종 출력은 $\hat{\mathrm{x}} \in \mathbb{R}^{F \times C}$ 이다. $\text{Predictor}_m$은 $m$번째 스케일 시계열의 예측이를 나타낸다. 이는 먼저 하나의 선형 레이어를 사용하여 추출된 과거 정보로부터 길이 $F$의 미래를 직접 회귀하고, 그 다음 표현을 $C$개의 변량으로 투영한다. FFM은 예측기의 앙상블임에 주목해야 한다. 서로 다른 예측기들이 서로 다른 스케일의 과거 정보를 기반으로 하기 때문에, FMM은 혼합된 다중스케일 시계열의 상호 보완적인 예측 능력을 통합할 수 있다. 

 

Seasonal Mixing과 Trend Mixing이 끝나면, 각각의 스케일에 대해 계절성 데이터와 추세 데이터가 남는다. 이 때, 계절성 데이터와 추세 데이터를 더해주면 결국 4개 스케일에 대한 최종적인 feature들이 생성되었다고 볼 수 있다. 그러면 이 데이터로 예측을 수행하면 된다. 아래와 같이 4개 스케일에 대한 데이터가 남았다면 이를 projection하는데, 예측하고자 하는 길이만큼 projection을 한다. 즉, 단순한 선형 변환을 통해 최종적인 예측을 출력하는 것이다. 그러면 각각의 스케일에 대해 동일한 예측 값들이 형성되고, 이들을 모두 더해주면 최종적인 모델의 출력이 된다.

 

결론

실험의 결과는 당연히 SOTA를 달성했다고 하니 생략하고, ablation study에서는 seasonal mixing 및 trend mixing에서 mixing을 사용하는 것과 안하는 것, 사용할 때 top-down / bottom-up을 서로 다르게 적용해 보는 10가지 테스트를 수행한다. 결과적으로 가장 좋은 성능을 보인 것이 위 방법론에 해당한다.

개인적으로 다양한 스케일에 대해 고려한 것이 신선한 접근이였고, 이를 또 중요도에 따라서 정보를 활용한 것이 좋은 아이디어라고 생각한다. 다만 그냥 2개씩 average pooling으로 다운샘플링한 것이 얼마나 의미가 있을지는 조금 의문점이 든다. 또한 단순한 선형 모델을 활용했다는 것이 계산 효율 측면에서 아주 좋은 연구였다고 생각한다.

 

댓글