Time-series cross-validation은 시계열 데이터를 사용한 모델 평가 기법으로, 데이터의 시간적 순서를 고려하여 모델을 학습하고 평가하는 데 사용됩니다. 시계열 데이터는 시간이 흐름에 따라 순차적으로 발생하므로, 일반적인 k-fold 교차 검증을 적용하면 미래 데이터를 사용해 과거 데이터를 예측하는 잘못된 설정이 생길 수 있습니다. 이를 방지하기 위해 시간 순서를 유지한 상태에서 검증을 수행합니다.
Time-series cross-validation의 특징
- 시간 순서 유지
미래 데이터를 훈련에 포함하지 않고, 과거 데이터를 기반으로 모델을 학습하여 미래 데이터를 예측합니다. - 점진적 데이터 증가
학습 데이터의 크기가 점진적으로 증가하면서 검증 데이터도 변화합니다. - 적합성
금융 데이터, 날씨 데이터, 판매 데이터 등 시계열 데이터가 필요한 모든 분석에 적합합니다.
방법
1. Rolling Window 방식
- 학습 데이터와 검증 데이터의 크기를 일정하게 유지하면서 창(window)을 앞으로 이동합니다.
- 학습 데이터가 고정된 크기라 오래된 데이터는 제외됩니다.
- 장점: 최신 데이터를 중점적으로 학습.
- 단점: 데이터의 일부만 사용하므로 정보 손실 발생 가능.

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

Time-series Cross-validation 과정
- 데이터를 시간 순으로 나눕니다.
- 과거 데이터를 학습 데이터로 사용하고, 이후 데이터를 검증 데이터로 설정합니다.
- 학습-검증 과정을 여러 번 반복합니다.
- 모든 검증 결과의 평균 점수를 계산하여 모델 성능을 평가합니다.
장단점
- 장점
- 시간 종속성을 유지하여 현실적인 성능 평가 가능.
- 데이터의 시간적 특성을 반영하여 신뢰도 높은 검증 결과 제공.
- 단점
- 데이터의 분리 방식에 따라 검증 데이터가 중복될 가능성이 있어 계산 비용이 증가.
- 시계열 데이터 자체의 불균형성이나 계절성을 처리하기 위해 추가 작업이 필요할 수 있음.
'코딩관련 개인 학습 및 기록 > 머신러닝, 딥러닝' 카테고리의 다른 글
단일회귀, 다중회귀, 다항회귀 (0) | 2024.12.23 |
---|---|
Min-max normalization, Robust normalization, Standardization (0) | 2024.12.23 |
Stratified K-Fold validation (1) | 2024.12.23 |
K-fold cross-validation (0) | 2024.12.23 |
YOLO v1 의 loss function (0) | 2024.12.09 |