Recent Posts
Recent Comments
Link
Today
Total
03-04 00:06
관리 메뉴

Hippo's data

[Paper review] TimeXer 본문

Paper review

[Paper review] TimeXer

Hippo's data 2026. 3. 3. 09:59
728x90

TimeXer

Paper: TIMEXER: EMPOWERING TRANSFORMERS FOR TIME SERIES FORECASTING WITH EXOGENOUS VARIABLES

(Yuxuan Wang, Haixu Wu, Jiaxiang Dong, Guo Qin, Haoran Zhang, Yong Liu, Yunzhong Qiu, Jianmin Wang, Mingsheng Long)

 

GitHub - thuml/TimeXer: Official implementation for "TimeXer: Empowering Transformers for Time Series Forecasting with Exogenous

Official implementation for "TimeXer: Empowering Transformers for Time Series Forecasting with Exogenous Variables" (NeurIPS 2024) - thuml/TimeXer

github.com

 

 

TimeXer: Empowering Transformers for Time Series Forecasting with Exogenous Variables

Deep models have demonstrated remarkable performance in time series forecasting. However, due to the partially-observed nature of real-world applications, solely focusing on the target of interest, so-called endogenous variables, is usually insufficient to

arxiv.org

 

 

TimeXer = Time Series Transformer with eXogenous variables

트랜스포머 구조를 이용하여 내생 + 외생변수를 효과적으로 활용하여 예측하는 모델

1. SUMMARIZE

항목 핵심 내용
Problem 기존 접근
• Channel Independence (CI):
변수 간 상관관계를 무시하여 외부 변수의 도움을 못 받음 - PatchTS, DLinear
Channel Dependence (CD): 내생(Target) 변수와 외생(External) 변수를 구분 없이 단순 결합(Concatenation) 임베딩 - iTransformer, Crossformer, Autoformer / Informer

→ 현실의 시계열 예측에는 내생변수 + 외부요인(외생변수) 영향 큰 문제
Method 1. Endogenous, Exogenous 변수 임베딩
Endogenous (내생 변수): Patch-wise (패치단위) → 각 시계열 시간적 종속성(Temporal Dependency) 포착, 전역 토큰( Global Token, 내생변수 전체 시계열 요약, 내생-외생 bridge 역할) 생성
Exogenous (외생 변수): Variate-wise (변수단위) → 전체 시계열을 하나의 토큰으로 압축

2. Attention Mechanism
• Self-Attention: 내생변수 - 패치, 전역토큰 → 각 패치 간의 시간적 종속성, 패치와 전체 시계열(전역 토큰) 간의 관계 학습
• Cross-Attention: 외생-내생(전역토큰) 변수 간 관계 학습
Results short/long-term forecasting 성능 증명, 다양한 현실 시나리오(결측값, 시간/빈도/길이 불일치 등) 적용 가능
Contribution 복잡한 구조 변경 없이, 표준 Transformer 아키텍처로 내생 변수의 시간적 패턴과 외생 변수의 상관관계를 학습할 수 있도록 하는 범용적인 프레임워크 제안

2. DETAIL

1. Introduction

현실 시나리오 → 외생변수 중요

기존 모델의 한계:

  • 단변량 예측: 외생 변수 정보 무시 (PatchTST, Autoformer)
  • 다변량 예측:
    • 모든 변수를 동등하게 취급 → 불필요한 복잡성 (Crossformer)
    • 내생/외생 변수 간 관계를 충분히 모델링하지 못함 (iTransformer)
    • 실제 외생 변수가 가질 수 있는 불규칙성(결측값, 시간/빈도/길이 불일치 등) 처리하기 어려움 (Transformer 기반 모델 → Point-wise, Patch-wise 토큰)

→ TimeXer 아키텍처 제안

  • 내생변수 (Endogenous): x(1)
    • 과거 x(1)으로 미래 x(1) 맞춤
  • 외생변수 (Exogenous): z(1),z(2),…,z(C)
    • 예측의 대상은 아니지만, 예측을 돕기 위해 참조만 하는 외부 요인

다양한 현실 시나리오(결측값, 시간/빈도/길이 불일치 등) 적용 가능

  • 각 외생변수를 단일 토큰으로 처리하므로

2. RELATED WORK

2.1 Transformer-based Time Series Forecaster

→ 장기적인 시간 의존성(temporal dependencies), 다변량 상관관계(multivariate correlations) 포착 강점

Transformer 표현의 세분성(granularity)에 따라 분류

  • Point-wise (점 단위)
    • 각 시점(point)을 하나의 시간 토큰으로 임베딩
    • 한계: 국소적인 의미 정보(local semantic information)를 잘 포착하지 못함
    • Informer, Autoformer, Pyraformer
  • Patch-wise (패치 단위)
    • 시계열 데이터를 패치(patch)로 분할, 패치들 간의 의존성을 포착
    • PatchTST - 시간 축(cross-time) 어텐션 수행
    • Crossformer - 시간 축(cross-time), 변수 축(cross-variate)에서 어텐션 수행
  • Variate-wise (변수 단위)
    • 전체 시계열의 전역적인 표현 활용 → 다변량 상관관계 포착
    • 한계: 변수 간의 관계를 잘 파악, 전체 시계열을 하나의 변수 토큰으로 임베딩 → 내부적인 시간적 변화를 포착하는 능력 부족
    • iTransformer - 각 변수를 토큰으로 → 다변량 토큰간 어텐션 → 변수 간 상호 관계 파악

. → former

✧: 다변량 예측 시나리오에 적용될 수 있지만, 명시적(explicit)으로 변수 간의 교차 의존성(cross-variate dependency)을 모델링하지는 않음

  • Univariate (단변량): 단일 변수단일 변수 예측
  • Multivariate (다변량): 여러 변수여러 변수 예측
  • Exogenous (외생 변수 활용): 예측 대상 변수(내생 변수) 외에 예측에 도움이 되는 외부 정보(외생 변수)를 활용할 수 있는 능력

TimeXer는 단변량, 다변량, 외생 변수를 활용하는 시나리오까지 처리 → 범용적인(general) 능력

2.2 Forecasting with Exogenous Variables

외생변수 결합 기존 접근법

  • 통계적 기반
    • ARIMAX, SARIMAX
    • 주로 선형관계 가정, 다수 외생변수 불규칙한 특징 다루는데 한계
  • 딥러닝 기반
    • TFT - 변수 선택에 중점(해석)
    • NBEATSx, TiDE

→ 내생/외생 시계열의 시간 정렬(alignment) 필수

→ 결측값, 불균일한 샘플링 등으로 인해 시간 정렬 어려움

→ TimeXer- 각 외생변수를 변수 토큰(variate token)으로 임베딩 → 문제해결

3. TimeXer

(a) 내생 변수를 패치(patch)로 분할하여 임베딩, 전역 토큰(global token) 도입

(b) 외생 변수를 각 변수 토큰(variate token)으로 임베딩

(c) 내생 변수 각 패치, 전역 토큰 간 Self-Attention

(d) 내생 전역 토큰, 외생 변수 토큰 간 Cross-Attention

 

Problem Settings

  • 입력
    • 내생변수(endogenous): $x_{1:T}$ = ${x_1​,x_2​,…,x_T​}∈R^{T×1}$
      • 1 ~ T 시점까지 과거값
    • 외생변수(exogenous): $z_{1:T_{\text{ex}}}$ = ${z^{(1)}{1:T{\text{ex}}}, z^{(2)}{1:T{\text{ex}}}, \dots, z^{(C)}{1:T{\text{ex}}}} \in \mathbb{R}^{T_{\text{ex}} \times C}$
      • C개 외생변수
      • 1 ~ Tex 시점까지 과거값
    • look-back 길이 유연하게(flexible) 처리 가능
      • 외생, 내생변수 길이(look-back) 달라도 처리가능
      • $T_{\text{ex}} \neq T$
  • 출력
    • $\hat x = {{x_{T+1}, x_{T+2}, ..., x_{T +S} }}$
    • 미래 S 시점의 내생 변수 값 예측
  • 모델
    • $\hat x_{T+1:T+S}​=F_θ​(x_{1:T}​,z_{1:Tex}​​)$

Endogenous Embedding

$$ \begin{aligned} \{ \mathbf{s}_1, \mathbf{s}_2, \dots, \mathbf{s}_N \} &= \text{Patchify}(\mathbf{x}), \\ \mathbf{P}_{\text{en}} &= \text{PatchEmbed}(\mathbf{s}_1, \mathbf{s}_2, \dots, \mathbf{s}_N), \\ \mathbf{G}_{\text{en}} &= \text{Learnable}(\mathbf{x}). \end{aligned} $$

 

  • Patch-wise Token
    • 패치화 (Patchify): 내생 변수를 겹치지 않는(non-overlapping) 패치단위로 분할
      • 각 패치는 Local Temporal Pattern 표현
    • 패치 임베딩 (PatchEmbed): 각 패치 임베딩 $P_{\text{en}}$ (D차원 벡터)
  • Global Endogenous Token
    • 학습 가능한 전역 토큰 $G_{\text{en}}$ 생성 (VIT, Vision Transformer 에서 영감받음 - learnable global endogenous token)
    • 전역 토큰은 거시적 정보(macroscopic) 표현

Exogenous Embedding

$\mathbf{V}_{\text{ex},i} = \text{VariateEmbed}(\mathbf{z}^{(i)}), \quad i \in {1, \dots, C}$

  • Variate-level Token
    • 각 변수(1~C)가 하나의 토큰으로 임베딩
  • 이유
    • 결측값, 시간 스탬프, 샘플링 빈도, 길이 불일치 처리
    • 각 변수패치단위 처리 → 계산 복잡성과 메모리 사용량 큼
    • 외생변수의 거시적(Macro) 정보 반영

Endogenous Self-Attention

$$
\begin{aligned}
\text{Patch-to-Patch: } & \mathbf{\hat{P}}^{l,1}_{\text{en}} = \text{LayerNorm} \left( \mathbf{P}^{l}_{\text{en}} + \text{Self-Attention} (\mathbf{P}^{l}_{\text{en}}) \right) \\
\text{Global-to-Patch: } & \mathbf{\hat{P}}^{l,2}_{\text{en}} = \text{LayerNorm} \left( \mathbf{P}^{l}_{\text{en}} + \text{Cross-Attention} (\mathbf{P}^{l}_{\text{en}}, \mathbf{G}^{l}_{\text{en}}) \right) \\
\text{Patch-to-Global: } & \mathbf{\hat{G}}^{l}_{\text{en}} = \text{LayerNorm} \left( \mathbf{G}^{l}_{\text{en}} + \text{Cross-Attention} (\mathbf{G}^{l}_{\text{en}}, \mathbf{P}^{l}_{\text{en}}) \right)
\end{aligned}
$$

 

  • Patch-to-Patch: 패치간 시간 관계 학습
  • Global-to-Patch: 전역 토큰(query), 패치 토큰(key, value) → 전역 토큰이 패치 토큰으로부터 시계열 세부 정보 학습
  • Patch-to-Global: 패치 토큰(query), 전역 토큰(key, value) → 패치 토큰이 전역 토큰으로부터 시계열 전체 맥락 학습

$\hat{\mathbf{P}}_\text{en}^l, \hat{\mathbf{G}}_\text{en}^l = \left(\text{LayerNorm} \left(\left[\mathbf{P}_\text{en}^l, \mathbf{G}_\text{en}^l\right]\right) + \text{Self-Attention} \left(\left[\mathbf{P}_\text{en}^l, \mathbf{G}_\text{en}^l\right]\right)\right)$

 

  • overall process → 실제 연산은 모든 토큰을 합쳐(concatenation, $\left[\mathbf{P}_\text{en}^l, \mathbf{G}_\text{en}^l\right]$) 3가지 연산이 한번에 수행됨(Self-Attention)

즉, 입력 시퀀스를 [Global_Token, Patch_1, Patch_2, ...] 형태로 Concatenation(연결)한 뒤, Self-Attention

 

Exogenous-to-Endogenous Cross-Attention

  • 전역 토큰은 내생 시계열 정보 요약한 상태 (이전 Self-Attention)
  • Cross-Attention → 전역 토큰이 외생변수 정보 학습 (중요한 외생 변수 선택적 가중치)
    • 전역 토큰(query), 각 외생 변수 토큰(key, value)

$$
\hat{G}^{n}_{l+1} = \text{LayerNorm}(\hat{G}^{n}_{l+1}) + \text{Cross-Attention}(\hat{G}^{n}_{l+1}, V_{\text{ex}})
$$


Forecasting

  • FFN(Feed-Foward network)
    • $G_{\text{en}}^{l+1} = \text{Feed-Forward}(\hat{G}_{\text{en}}^{l+1})$
    • $P_{\text{en}}^{l+1} = \text{Feed-Forward}(P_{\text{en}}^{n})$
    • $\text{FFN}(x) = \text{Activation}(x W_1 + b_1) W_2 + b_2$
    • 각 패치, 전역 토큰 FFN 통과
    • 비선형성, 복잡한 관계 학습
  • Forecasting Loss
    • MSE(Mean Squared Error)
  • 선형 투영(Linear Projection)
    • $Output=Input×W+b$ 
    • $\hat{x} = \text{Projection}([P_{\text{en}}^L, G_{\text{en}}^L])$
    • Linear Projection을 통해 최종 예측값 생성
    • Encoder-only 구조이므로 한번에 여러시점 예측
  • Parallel Multivariate Forecasting
    • 각 변수마다 하나는 내생변수, 나머지는 외생변수로 취급 → 병렬적으로 예측 가능
      • iTransformer, Crossformer → 모든 변수(C개)를 한 번에 타겟→ 관계학습 → 한번에 모든변수 예측값 뱉어냄
      • TimeXer → 각 변수를 타겟(내생)으로 놓고 나머지 외생으로 (C번 수행, 병렬적으로 가능)
    • 각 변수 예측시, 가중치 공유(Parameter Sharing) 가능

4. EXPERIMENTS

Setting

  • short-term forecasting: Electricity Price Forecasting(EPF) - 5개 전력시장 데이터, 2 외생/1 내생변수
    • Look-back: 168 / Prediction length: 24 / Patch length: 24 (non-overlapping)
  • long-term forecasting: 7개(ECL, Weather, ETTh1, ETTh2, ETTm1, ETTm2, Traffic)
    • Look-back: 96/ Prediction length: 96, 192, 336, 720/ Patch length: 16 (non-overlapping)

 

Baselines

  • Transformer-based: iTransformer, PatchTST, Crossformer, Autoformer
  • CNN-based: TimesNet, SCINet
  • Linear-based: RLinear, DLinear, TiDE(외생변수 특화)

Metric

  • MSE, MAE

4.1 Main Results

  • short-term forecasting
    • Transformer based > Linear based (변수간 상호작용 interaction 파악 한계)
    • TimeXer SOTA
    • Crossformer - 다양한 segment 수준에서 분할 → 불필요한 노이즈(noise) 가능성
    • iTransformer - temporal dependency 포착 한계

  • long-term forecasting
    • 대부분 TimeXer SOTA
      • MSE > MAE : MSE는 극단적인 오차를 과도하게 반영 (제곱계산)
      • 급변 지점 예측
        • TimeXer, PatchTST (patch-wise 방식) → 전반적인 추세 잘예측하지만, 급변지점 놓칠 수 있음 (평활화 하는 경향)
        • iTransformer (Variate-wise 방식) → 급변지점이 특졍 변수와 강한 연관성 → 구조적 강점traffic dataset → iTransformer 낮은 성능

4.2 Ablation Study

 

Ex: 외생변수(Exogenous)

En: 내생변수(Endogenous)

P: patch token

G: learnable global token

V: variate token

  • Ours(기존 TimeXer): 가장 우수한 성능
  • Replace (외생변수 V → P): 외생변수는 세밀한 시간정보를 반영하는 패치 토큰(P) 보다 전체 정보를 담는 변수 토큰(V)이 더 효과적 / 각 변수 패치토큰(P) 임베딩 → 불필요한 노이즈 담길 수 있음
  • Remove (내생 G 제거): 전역 토큰(G)Bridge 역할 잘 해냄(내생변수 거시적 정보 + 외생변수 정보)
  • Add: 기존 Cross Attention → 내생, 외생변수 단순히 더함(Add) - Cross Attention이 외부정보 통합시 유용
  • Concatenate: 기존 Cross Attention → 내생, 외생변수 연결(Concatenate) 후, Self-Attention
    • Concatenate - 외생변수 간 상호작용 고려단순 Cross Attention 유용

→ 즉, 외생변수는 변수단위 토큰(V) 효과적 / 전역 토큰(G)의 효과 / 변수간 상호작용은 Cross Attention 이 효과적

4.3 TimeXer Generality

4.3.1 Practical Situations

Increasing Look-back Length

  • Look-back Length 길수록, 성능향상
  • 특히 외생변수(Exogenous)보다 내생변수(Endogenous) 길이 늘릴 때, 더 큰 성능 향상 (둘다 늘리면 더 좋음)
  • 외생변수 길이 성능편차 크지 않음 → 외생 변수간 불일치(misalignment)에도 잘 작동함

Missing Values

→ 내생, 외생변수 0으로 채움(Zeros) or 랜덤값(0~1범위 무작위)

  • 내생변수(Endogenous)에 변화를 줄 시 오차값 큰 변동 → 내생변수(Endogenous)가 예측성능에 직접적 관련
  • 외생변수(Exogenous) 변화에는 강건함(Robust) - 성능변동 크지 않음

→ 외생변수가 유용하지 않더라도(결측, 특정값 변형 등), 내생변수가 예측을 주도함

4.3.2 Scalability

→ 큰, 복잡한 데이터셋 얼마나 잘 작동하는지

  • Dataset : large-scale weather dataset - National Centers for Environmental Information (NCEI)
  • 내생변수: 각 관측소 기온 (시간별)
  • 외생변수: 각 관측소 근처 기상지표 (내생변수와 샘플링 빈도 다름 - 3시간별)
  • TimeXer SOTA

4.4 Model Analysis

Variate-wise Correlations

→ 내생변수와 유사한 형태를 보이는 외생시계열이 큰 Attention score를 보임

→ TimeXer의 Cross-Attention이 유용하게 외생 변수를 선택, 해석가능(interpretability) Attention map 제공

Model Efficiency

ECL 데이터셋 - (320개의 외생 변수 - 대규모 시계열 데이터셋)

  • 메모리사용, 훈련시간 측면TimeXer가 iTransformer보다 효율적
    • iTransformer: 모든 변수(외생, 내생)에 대해 Self-Attention
    • TimeXer: 외생변수 - variate embedding / 내생 - 외생 변수 상호작용 → Cross-Attention (외생변수간 상호작용 어텐션 생략)

3. Implementation

  • Dataset: ETTh1 (중국 전력 변압기 온도 데이터)
  • 길이: 2년(2016-2018), 시간단위(17,420 시간)
  • Look-back Length: 96 → FCST Length: 24
  • 내생변수: Oil Temperature / 외생변수 (6개): HUFL, HULL, MUFL … 등
  • 모델 아키텍처
    • 입력: [배치, 시계열길이(96), 변수(7)]
    • Patch 분할: patch_len=2 → 48개 패치 + Global Token
    • 임베딩:
      • 타겟(Endogenous): Patch Embedding + PositionalEmbedding
      • 외생변수(Exogenous): Variate Embedding (시간→변수)
    • 인코더:
      • 3개 레이어
      • 각 레이어:
        • Self-Attention (패치 간 관계)
        • Cross-Attention (Global Token ↔ 외생변수)
        • FeedForward(Conv1d)
    • 헤드:
      • Flatten + Linear → 예측값(24시점)
  • 파라미터
class Configs:
    task_name = 'long_term_forecast'
    features = 'MS'           # MS: Multivariate-to-Single
    seq_len = 96              
    pred_len = 24             
    enc_in = 7                # ETTh1: 6개 외생변수 + 1개 타겟
    c_out = 1                 
    d_model = 64              
    d_ff = 128                
    n_heads = 2              
    e_layers = 3              
    patch_len = 4            
    factor = 3                
    dropout = 0
    activation = 'gelu'
    use_norm = True           
    learning_rate = 0.001
    batch_size = 64
    epochs = 120

  • X/Y축: Patch 토큰들 (P0~P47 → patch length 2로 쪼갠 패치) + Global Token (GLB)

→ 각 인코더 레이어별 패치-글로벌 토큰 Self-Attention 가중치 시각화

→ 레이어별로 서로 다른 구간/패치/글로벌 토큰에 집중하며 다양한 패턴을 학습(레이어 깊어질수록 국소적/세부적 정보에서 거시적/전역적인 정보 포착해나감)

  • 각 인코더 레이어별 글로벌-외생변수 어텐션 가중치 시각화

→ 레이어별로 집중하는 외생변수 다름

  • 첫번째 레이어 각 헤드별 어텐션 스코어
  • Self-Attention (위쪽) - 패치간 Self-Attention
    • X축(Key), y축(Query)
    • 참조되는 패치→ 시계열을 patch_len=2로 쪼갠 48개 패치
    • 각 패치가 어느 패치와 유사한지
  • Cross-Attention (아래쪽) - 외생변수, 전역토큰 간 Cross-Attention
    • X축(Key): 외생변수 (6개)
    • y축(Query): 내생변수 전역토큰 (Global Token)
    • Global Token이 예측할 때, 어떤 외생변수를 얼마나 참고하는지

헤드별로 서로 다른 패턴/특징을 학습 중

4. Discussion

  • TimeXer는 외생변수를 variate-wise 토큰화함 → 만약 Look-back Window 가 매우 길다면, 토큰화 가정에서 정보손실?, 예측력에 영향? (외생변수의 세밀한 시점 정보가 희석될 수 있음)
    • TimeMixer 모델 찾아보기
  • 외생변수 또한 Patch 단위로 분할하여 반영한다면?
    • Crossformer ->모든 변수를 패치로 쪼개고, 시간과 변수 차원 모두에서 Attention을 수행
  • 외생변수도 내생변수처럼 글로번 토큰, 패치화해서 반영한다면?
  • 미래 예측시점 실시간 정보 반영하는법? → 외생변수를 늘려서 토큰화 후, input?
728x90

'Paper review' 카테고리의 다른 글

[Paper review] VIT(Vision Transformer)  (0) 2026.03.03
[Paper review] TimesNet  (0) 2026.02.10
[Paper review] Pre-LN(Pre-Layer Normalization)  (0) 2026.02.09
[Paper review] iTransformer  (1) 2026.02.04
[Paper review] PatchTST  (0) 2026.01.30