콘텐츠로 이동

시계열 모델 (Time Series Models)

난이도: 중급~고급
선수 지식: 신경망 기초, 손실 함수, 기초 통계학
관련 문서: RNN/LSTM/GRU | Transformer | 특성 공학


개요

시계열 데이터(Time Series Data)는 시간 순서에 따라 관측된 데이터 포인트의 연속이다. 주가, 기온, 서버 트래픽, 에너지 소비량 등이 대표적이다. 시계열이 일반적인 ML 문제와 근본적으로 다른 이유는 i.i.d. 가정의 위반이다. 관측값들이 시간적으로 종속(temporally dependent)되어 있으며, 이 종속 구조 자체가 핵심 정보를 담고 있다.

관점 일반 ML 시계열
데이터 분할 무작위 분할 가능 시간 순서 유지 필수
교차 검증 k-fold CV 확장 윈도우 (Expanding Window) CV
특성 독립적으로 존재 래그(lag), 이동 평균, 계절 성분 등 시간 기반
분포 정적(static) 가정 비정상성 (Non-stationarity) 빈번
평가 전체 데이터에서 무작위 샘플링 미래 시점에서만 평가

핵심 개념

1. 정상성 (Stationarity)

시계열 분석의 출발점은 정상성 확인이다. 약한 정상성 (Weak Stationarity)의 조건:

  1. \(E[y_t] = \mu\) — 평균이 시간에 무관하게 일정
  2. \(\text{Var}(y_t) = \sigma^2\) — 분산이 시간에 무관하게 일정
  3. \(\text{Cov}(y_t, y_{t+k}) = \gamma(k)\) — 자기공분산이 시차 \(k\)에만 의존

검정 방법:

검정 귀무가설 해석
ADF (Augmented Dickey-Fuller) 단위근 존재 (비정상) p-value < 0.05이면 정상
KPSS 정상 p-value < 0.05이면 비정상

두 검정을 함께 사용하면 보다 신뢰할 수 있는 판단이 가능하다.

비정상 시계열을 정상으로 변환하는 방법: - 차분 (Differencing): \(y_t' = y_t - y_{t-1}\), 추세 제거 - 로그 변환: \(y_t' = \log(y_t)\), 분산 안정화 - Box-Cox 변환: \(y_t' = \frac{y_t^\lambda - 1}{\lambda}\), 일반화된 분산 안정화

2. 자기상관 (Autocorrelation)

자기상관함수 (ACF)와 편자기상관함수 (PACF)는 시계열의 내부 구조를 파악하는 핵심 도구이다.

  • ACF (Autocorrelation Function): 시차 \(k\)에서의 상관계수 \(\rho_k = \frac{\gamma(k)}{\gamma(0)}\)
  • PACF (Partial ACF): 중간 시차의 영향을 제거한 순수 상관

ACF/PACF 해석 가이드:

패턴 ACF PACF 모델
AR(p) 지수적 감소 또는 진동 감소 \(p\) 이후 절단 \(\text{AR}(p)\)
MA(q) \(q\) 이후 절단 지수적 감소 또는 진동 감소 \(\text{MA}(q)\)
ARMA(p,q) 지수적 감소 지수적 감소 \(\text{ARMA}(p,q)\)

3. 분해 (Decomposition)

시계열은 세 성분으로 분해할 수 있다:

\[y_t = T_t + S_t + R_t \quad \text{(덧셈 모델)}$$ $$y_t = T_t \times S_t \times R_t \quad \text{(곱셈 모델)}\]

여기서 \(T_t\)는 추세(trend), \(S_t\)는 계절성(seasonality), \(R_t\)는 잔차(residual)이다.

  • 덧셈 모델: 계절 변동의 크기가 일정할 때
  • 곱셈 모델: 계절 변동이 추세에 비례하여 커질 때
  • STL (Seasonal-Trend decomposition using LOESS): 비선형 추세와 변동하는 계절성을 처리할 수 있는 강건한 분해 방법

4. 예측 지평 (Forecast Horizon)

유형 기간 특성 적합 모델
단기 1~수 시점 높은 정확도 가능 ARIMA, 지수 평활
중기 수십~수백 시점 추세 + 계절성 중요 Prophet, SARIMA
장기 수백 시점 이상 오차 누적, 불확실성 급증 확률적 예측 필수

예측 지평이 길어질수록 오차가 누적되므로, 점 예측(point forecast)보다 구간 예측(interval forecast)이 중요해진다.


상세 내용

통계 모델

AR, MA, ARMA

자기회귀 모델 AR(p):

\[y_t = c + \phi_1 y_{t-1} + \phi_2 y_{t-2} + \cdots + \phi_p y_{t-p} + \epsilon_t\]

현재 값이 과거 \(p\)개 시점의 선형 결합으로 결정된다.

이동평균 모델 MA(q):

\[y_t = \mu + \epsilon_t + \theta_1 \epsilon_{t-1} + \theta_2 \epsilon_{t-2} + \cdots + \theta_q \epsilon_{t-q}\]

현재 값이 과거 \(q\)개 시점의 오차항 선형 결합으로 결정된다.

ARMA(p,q): AR과 MA를 결합한 모델이다.

ARIMA와 SARIMA

ARIMA(p,d,q)는 비정상 시계열을 \(d\)번 차분하여 정상으로 만든 후 ARMA를 적용하는 모델이다.

\[\Delta^d y_t = c + \sum_{i=1}^{p} \phi_i \Delta^d y_{t-i} + \sum_{j=1}^{q} \theta_j \epsilon_{t-j} + \epsilon_t\]

여기서 \(\Delta\)는 차분 연산자 (\(\Delta y_t = y_t - y_{t-1}\))이다.

SARIMA(p,d,q)(P,D,Q)[m]은 계절 성분을 추가한 확장으로, \(m\)은 계절 주기이다.

Box-Jenkins 방법론:

graph TD
    A["원시 데이터"] --> B{"정상성 검정<br/>(ADF/KPSS)"}
    B -->|"비정상"| C["변환/차분<br/>(d 결정)"]
    C --> B
    B -->|"정상"| D["ACF/PACF 분석<br/>(p, q 후보 결정)"]
    D --> E["모델 추정"]
    E --> F{"잔차 진단<br/>(백색잡음?)"}
    F -->|"패턴 있음"| D
    F -->|"통과"| G["AIC/BIC로<br/>모델 선택"]
    G --> H["예측"]

모델 선택 기준: - AIC (Akaike Information Criterion): \(\text{AIC} = -2\ln(L) + 2k\), 예측 정확도 중시 - BIC (Bayesian Information Criterion): \(\text{BIC} = -2\ln(L) + k\ln(n)\), 모델 간결성 중시 (더 강한 패널티)

여기서 \(L\)은 우도(likelihood), \(k\)는 매개변수 수, \(n\)은 관측 수이다.

지수 평활 (Exponential Smoothing)

최근 관측에 더 높은 가중치를 부여하는 모델 군이다.

단순 지수 평활 (SES): 추세/계절성 없는 경우

\[\hat{y}_{t+1} = \alpha y_t + (1-\alpha)\hat{y}_t\]

Holt 방법: 추세 포함

\[\hat{y}_{t+h} = l_t + h \cdot b_t\]

여기서 \(l_t\)는 수준(level), \(b_t\)는 추세(trend)이다.

Holt-Winters 방법: 추세 + 계절성 포함 (덧셈/곱셈 변형 존재)

ETS (Error, Trend, Seasonality) 프레임워크는 지수 평활의 모든 변형을 체계적으로 분류한다: 오차(A/M), 추세(N/A/Ad/M/Md), 계절성(N/A/M)의 조합으로 30가지 모델을 정의한다.

Prophet

Facebook(Meta)이 개발한 Prophet은 비즈니스 시계열 예측에 특화된 모델이다.

\[y(t) = g(t) + s(t) + h(t) + \epsilon_t\]

여기서: - \(g(t)\): 추세 함수 (선형 또는 로지스틱 성장) - \(s(t)\): 푸리에 급수 기반 계절성 - \(h(t)\): 휴일/이벤트 효과 - \(\epsilon_t\): 정규 분포 오차

장점: 결측치에 강건, 변화점(changepoint) 자동 탐지, 도메인 지식(휴일, 이벤트) 쉽게 반영, 분석가 친화적 인터페이스

한계: 매우 짧은 주기의 시계열(분/초 단위)에 약함, 다변량 시계열 직접 지원 안 함, 복잡한 비선형 패턴 포착 제한적

딥러닝 기반 모델

LSTM/GRU

순환 신경망 기반 시계열 모델은 RNN/LSTM/GRU에서 상세히 다룬다. 시계열에서의 핵심 적용 방식은 슬라이딩 윈도우로 입력 시퀀스를 구성한 후, 인코더-디코더 구조로 다중 시점 예측을 수행하는 것이다.

Temporal Fusion Transformer (TFT)

정적 공변량, 알려진 미래 입력, 과거 관측값을 구분하여 처리하는 어텐션 기반 아키텍처이다. 변수 중요도 해석이 가능하여 실무에서 높은 인기를 얻고 있다.

N-BEATS

순수 MLP 기반의 시계열 예측 모델로, 잔차 연결과 기저 확장(basis expansion)을 활용한다. 외부 특성 없이 과거 값만으로 예측하는 "순수 시계열" 접근이 특징이다.

PatchTST

시계열을 패치(patch)로 분할한 후 Transformer의 self-attention을 적용한다. 긴 시퀀스를 효율적으로 처리할 수 있으며, 채널 독립(channel-independent) 전략으로 다변량 시계열에도 강건하다.

파운데이션 모델 (Foundation Models)

TimesFM (Google), Chronos (Amazon) 등 대규모 시계열 데이터로 사전 학습된 모델이 등장하고 있다. 제로샷(zero-shot) 또는 소수 샷(few-shot) 예측이 가능하여, 도메인별 학습 없이도 준수한 성능을 보인다. 아직 초기 단계이나 빠르게 발전 중이다.

모델 분류 체계

graph TD
    TS["시계열 모델"]
    TS --> Stat["통계 모델"]
    TS --> DL["딥러닝 모델"]
    TS --> Hybrid["하이브리드"]

    Stat --> Classical["고전적"]
    Stat --> ExpSmooth["지수 평활"]

    Classical --> AR["AR/MA/ARMA"]
    Classical --> ARIMA["ARIMA/SARIMA"]
    ExpSmooth --> SES["SES"]
    ExpSmooth --> HW["Holt-Winters"]
    ExpSmooth --> ETS["ETS"]

    DL --> RNNBased["RNN 기반"]
    DL --> AttnBased["Attention 기반"]
    DL --> MLPBased["MLP 기반"]
    DL --> Foundation["파운데이션 모델"]

    RNNBased --> LSTM["LSTM/GRU"]
    RNNBased --> DeepAR["DeepAR"]
    AttnBased --> TFT["TFT"]
    AttnBased --> PatchTST2["PatchTST"]
    MLPBased --> NBEATS["N-BEATS"]
    MLPBased --> NHiTS["N-HiTS"]
    Foundation --> TimesFM["TimesFM"]
    Foundation --> Chronos["Chronos"]

    Hybrid --> Prophet2["Prophet"]
    Hybrid --> ES_RNN["ES-RNN"]

확률적 예측 (Probabilistic Forecasting)

점 예측만으로는 의사결정에 불충분한 경우가 많다. 확률적 예측은 예측 불확실성을 정량화한다.

분위 회귀 (Quantile Regression): 특정 분위수 \(\tau\)에 대한 예측값을 학습한다.

\[L_\tau(\hat{y}, y) = \begin{cases} \tau(y - \hat{y}) & \text{if } y \geq \hat{y} \\ (1 - \tau)(\hat{y} - y) & \text{if } y < \hat{y} \end{cases}\]

이 손실 함수를 핀볼 손실 (Pinball Loss)이라 한다.

DeepAR: 오토리그레시브 RNN에 확률적 출력층을 결합하여 예측 분포를 직접 모델링한다.

등각 예측 (Conformal Prediction): 모델에 무관한(model-agnostic) 방법으로 유효한 예측 구간을 보장한다. 교환 가능성(exchangeability) 가정이 필요하므로 시계열에 직접 적용하기 어렵지만, 적응적 변형(ACI)이 연구되고 있다.

다변량 시계열 (Multivariate Time Series)

VAR (Vector Autoregression): 다변량 AR 모델로, \(k\)개 변수의 상호 의존성을 동시에 모델링한다.

\[\mathbf{y}_t = c + \sum_{i=1}^{p} \Phi_i \mathbf{y}_{t-i} + \boldsymbol{\epsilon}_t\]

여기서 \(\Phi_i\)\(k \times k\) 계수 행렬이다.

공적분 (Cointegration): 개별적으로 비정상이지만 선형 결합이 정상인 시계열 쌍. 장기 균형 관계를 나타낸다.

그랜저 인과성 (Granger Causality): 변수 \(X\)의 과거 값이 \(Y\) 예측에 통계적으로 유의한 정보를 추가하는지 검정한다. "예측적 인과성"이지 진정한 인과성이 아님에 주의한다.

시계열 교차 검증

일반적인 k-fold CV는 시계열에 적용할 수 없다. 미래 데이터로 과거를 예측하는 정보 누수가 발생하기 때문이다.

graph LR
    subgraph "확장 윈도우 CV (Expanding Window)"
        F1["Fold 1: [====Train====][Test]__________"]
        F2["Fold 2: [========Train========][Test]___"]
        F3["Fold 3: [============Train============][Test]"]
    end

확장 윈도우 (Expanding Window): 학습 데이터의 시작은 고정, 끝을 점진적으로 확장 슬라이딩 윈도우 (Sliding Window): 학습 데이터의 크기를 고정하고 시작점을 이동

시나리오별 모델 선택 가이드

시나리오 데이터 규모 추천 모델 이유
빠른 베이스라인 소~중 ARIMA / ETS 구현 쉽고 해석 가능
강한 계절성 + 휴일 Prophet / SARIMA 계절성과 이벤트 처리 우수
다수 시계열 동시 예측 DeepAR / TFT 시계열 간 패턴 공유
장기 예측 중~대 PatchTST / N-HiTS 긴 수용 영역 처리
확률적 예측 필요 중~대 DeepAR / TFT / Conformal 불확실성 정량화
도메인 데이터 부족 TimesFM / Chronos 제로샷 예측 가능

언제 사용하는가 / 언제 피하는가

사용하기 좋은 경우

  • 수요 예측 (Demand Forecasting): 재고 관리, 인력 배치, 마케팅 예산 배분
  • 금융 시계열: 주가 변동성 예측 (주가 자체의 점 예측은 극도로 어려움), 리스크 관리
  • 센서/IoT 데이터: 장비 상태 모니터링, 예지 보전(predictive maintenance)
  • 이상 탐지 (Anomaly Detection): 예측값과 실제값의 괴리를 이상 스코어로 활용
  • 에너지 부하 예측: 전력 수요, 태양광 발전량

피해야 하는 경우

  • 비시간적 데이터: 시간 순서가 의미 없는 데이터에 시계열 모델을 억지로 적용하지 않는다
  • 매우 짧은 시계열에 복잡한 모델: 수십 개 데이터 포인트에 LSTM을 적용하는 것은 과적합의 지름길이다. 단순 지수 평활이나 ARIMA가 낫다
  • 빈번한 체제 전환 (Regime Change): 과거 패턴이 미래에 지속된다는 기본 가정이 무너지면 모든 시계열 모델이 고전한다
  • 인과적 추론이 목적인 경우: 시계열 모델은 예측에 특화되어 있으며, 인과 관계 추론에는 별도의 프레임워크(차분법, 도구 변수 등)가 필요하다

흔한 오해와 함정

1. "LSTM이 항상 ARIMA보다 낫다"

Makridakis et al.의 M4 대회 (2018) 결과를 보면, 순수 통계 모델이 단순 DL 모델을 이기는 경우가 빈번하다. 데이터가 적거나 패턴이 단순하면 ARIMA/ETS가 LSTM보다 우수한 경우가 많다. 우승 모델(ES-RNN)은 통계와 DL의 하이브리드였다.

2. "무작위 분할해도 괜찮다"

시계열에서 무작위 train/test 분할은 미래 정보가 학습에 사용되는 심각한 데이터 누수를 발생시킨다. 반드시 시간 순서를 유지한 분할을 사용해야 한다. 자세한 내용은 데이터 누수를 참고한다.

3. "정상성 확인을 건너뛰어도 된다"

ARIMA 계열 모델은 정상 시계열을 전제로 한다. 비정상 시계열에 직접 적용하면 허위 회귀(spurious regression)가 발생하여 의미 없는 결과를 얻는다. 딥러닝 모델이라도 정상성 변환이 성능을 향상시키는 경우가 많다.

4. "장기 예측도 정확할 것이다"

예측 지평이 길어질수록 오차가 지수적으로 누적된다. 장기 예측은 점 예측의 정확도보다 불확실성 구간의 유효성이 더 중요하다.

5. "데이터가 많으면 항상 좋다"

오래된 데이터가 현재 패턴과 무관하거나 체제 전환 이전의 데이터인 경우, 오히려 모델 성능을 저해한다. "관련 있는 데이터"의 양이 중요하다.

6. 선행 편향 (Look-ahead Bias)

특성 공학 단계에서 미래 정보가 스며드는 미묘한 형태의 데이터 누수이다. 이동 평균 계산 시 현재 시점 이후의 값을 포함하거나, 정규화에 전체 시계열의 통계량을 사용하는 것이 대표적이다. 특성 공학에서 다루는 원칙을 시간 축에도 엄격히 적용해야 한다.


다른 주제와의 연결

  • RNN/LSTM/GRU: 시계열 딥러닝의 기초가 되는 순환 신경망 아키텍처
  • Transformer: PatchTST, TFT 등 시계열 Transformer의 기반
  • 어텐션 메커니즘: TFT의 변수 선택 및 시간 어텐션의 이론적 기초
  • 손실 함수: MSE, MAE, 핀볼 손실 등 시계열 평가 지표의 기초
  • 특성 공학: 래그 특성, 이동 평균, 시간 인코딩 등 시계열 특성 설계
  • 평가 지표: MAPE, RMSE, MASE 등 시계열 전용 지표
  • 정규화: 시계열 DL 모델의 과적합 방지
  • 앙상블 방법: 통계 + DL 모델 앙상블이 실무에서 강력한 성능을 보임
  • 데이터 누수: 시계열에서 특히 치명적인 시간 기반 누수
  • MLOps: 시계열 모델의 지속적 재학습 및 드리프트 탐지

참고 문헌

  • Hyndman, R. J., & Athanasopoulos, G. (2021). Forecasting: Principles and Practice (3rd ed.). OTexts.
  • Box, G. E. P. et al. (2015). Time Series Analysis: Forecasting and Control (5th ed.). Wiley.
  • Lim, B. et al. (2021). Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting. International Journal of Forecasting.
  • Oreshkin, B. N. et al. (2020). N-BEATS: Neural Basis Expansion Analysis for Interpretable Time Series Forecasting. ICLR.
  • Nie, Y. et al. (2023). A Time Series is Worth 64 Words: Long-term Forecasting with Transformers. ICLR.