Time-series cross-validation은 시계열 데이터를 사용한 모델 평가 기법으로, 데이터의 시간적 순서를 고려하여 모델을 학습하고 평가하는 데 사용됩니다. 시계열 데이터는 시간이 흐름에 따라 순차적으로 발생하므로, 일반적인 k-fold 교차 검증을 적용하면 미래 데이터를 사용해 과거 데이터를 예측하는 잘못된 설정이 생길 수 있습니다. 이를 방지하기 위해 시간 순서를 유지한 상태에서 검증을 수행합니다.

Time-series cross-validation의 특징

  1. 시간 순서 유지
    미래 데이터를 훈련에 포함하지 않고, 과거 데이터를 기반으로 모델을 학습하여 미래 데이터를 예측합니다.
  2. 점진적 데이터 증가
    학습 데이터의 크기가 점진적으로 증가하면서 검증 데이터도 변화합니다.
  3. 적합성
    금융 데이터, 날씨 데이터, 판매 데이터 등 시계열 데이터가 필요한 모든 분석에 적합합니다.

방법

1. Rolling Window 방식

  • 학습 데이터와 검증 데이터의 크기를 일정하게 유지하면서 창(window)을 앞으로 이동합니다.
  • 학습 데이터가 고정된 크기라 오래된 데이터는 제외됩니다.
  • 장점: 최신 데이터를 중점적으로 학습.
  • 단점: 데이터의 일부만 사용하므로 정보 손실 발생 가능.

2. Expanding Window 방식

  • 학습 데이터의 크기를 점진적으로 늘려가며 과거의 모든 데이터를 포함합니다.
  • 검증 데이터는 시간순으로 고정된 크기를 유지합니다.
  • 장점: 전체 데이터를 최대한 활용하여 모델 학습.
  • 단점: 계산 비용 증가.

Time-series Cross-validation 과정

  1. 데이터를 시간 순으로 나눕니다.
  2. 과거 데이터를 학습 데이터로 사용하고, 이후 데이터를 검증 데이터로 설정합니다.
  3. 학습-검증 과정을 여러 번 반복합니다.
  4. 모든 검증 결과의 평균 점수를 계산하여 모델 성능을 평가합니다.

장단점

  • 장점
    • 시간 종속성을 유지하여 현실적인 성능 평가 가능.
    • 데이터의 시간적 특성을 반영하여 신뢰도 높은 검증 결과 제공.
  • 단점
    • 데이터의 분리 방식에 따라 검증 데이터가 중복될 가능성이 있어 계산 비용이 증가.
    • 시계열 데이터 자체의 불균형성이나 계절성을 처리하기 위해 추가 작업이 필요할 수 있음.

+ Recent posts