개발 노트 – 파트 0: 예측 파이프라인 구축 전 이해해야 할 핵심 개념
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
데이터 분석
대상자
- *데이터 과학자, 머신러닝 엔지니어**
- 난이도: 중급 이상 (시계열 예측 기초 개념 설명 포함)
- 관련 분야: 시계열 분석, 예측 모델 설계
핵심 요약
- 예측 범위(Horizon): 예측 기간을 정의하며,
Daily(30일)
,Monthly(6개월)
등으로 설정 - Cutoff: 학습 데이터의 마지막 날짜로, 시간 기반 분할(Temporal Split)을 통해 평가
- Covariates: 시간에 따라 변하지 않는 변수(
product category
)와 변하는 변수(day of week
,temperature
)를 구분 - Lag Feature:
y(t-1)
,y(t-7)
등 과거 값으로 계절성 또는 자기상관관계를 반영
섹션별 세부 요약
1. 예측 범위(Horizon) 정의
- 시간 단위별 예측 기간 설정:
Daily
,Weekly
,Monthly
- 예측 범위의 길이가 모델 선택, 오차 누적에 영향
- 프로젝트에서 예측 범위를 먼저 정의 후 모델 설계에 반영
2. Cutoff(분할 지점)
- 시간 기반 분할을 통해 학습 데이터(
T
이전)와 예측 데이터(T
이후) 분리 - 실제 예측 시나리오 시뮬레이션 (미래 데이터는 알 수 없음)
- 여러 Cutoff 지점을 사용해 모델의 일관성 평가
3. 시간 주기(Frequency)
- Daily: 단기 트렌드 감지 가능, 노이즈 많음
- Monthly: 경제 지표 분석에 일반적
- 불규칙 시간戳는 재샘플링 또는 보간 필요
4. Covariates(공변량)
- 변하지 않는 변수:
product category
,store type
- 변하는 변수:
day of week
,promotion status
- 딥러닝 모델에서 복잡한 상호작용 학습에 유리
5. Lag Feature(지연 특성)
- 과거 값(
y(t-1)
,y(t-7)
)을 현재 값 예측에 활용 - 계절성(예: 월요일 수요 급증) 또는 자기상관관계 시 유용
- 모델 예시:
y(t) = f(y(t-1), y(t-2), y(t-3))
6. 계절성(Seasonality)
- 일일: 점심/저녁 시간대 매출 증가
- 주간: 평일 vs 주말 패턴
- 연간: 명절, 학기 일정
- 시뮬레이션 후 적절한 모델(
Prophet
,NBEATSx
) 선택
7. 외부 변수(Exogenous Variables)
- 타겟이 아닌 외부 요인:
날씨
,가격
,매크로 경제 지표
AutoARIMA
,Deep Learning
모델에서 직접 지원 가능
8. 데이터 처리
- 결측 시간戳:
Forward Fill
,Interpolation
으로 처리 - 불완전 시리즈: 제거 또는 보완
- 정기 시간 간격 유지 필요
9. 시간 기반 분할(Temporal Split)
- 임의 분할 대신 시간 순서 기반 분할
- 백테스팅(Backtesting)을 통해 실제 예측 성능 시뮬레이션
- Cutoff 지점 이동으로 모델의 일관성 평가
10. 평가 지표(Evaluation Metrics)
- MAE: 평균 절대 오차 (간단함)
- RMSE: 대규모 오차에 민감
- MAPE: 스케일에 관계 없는 평가
- sMAPE: 0값 처리에 유리
- 혼합 지표 사용으로 모델 비교
11. 예측 알고리즘
- 기초 모델:
Naive Forecast
(최근 값 반복) - 통계 모델:
AutoARIMA
,ETS
(추세/계절성 시리즈) - ML 모델:
LightGBM
,XGBoost
(회귀 문제로 풀이) - 딥러닝 모델:
NBEATSx
,NHITS
,TFT
(고변동 시리즈)
12. 다음 단계
- 가상 데이터셋 생성 및 그룹 라벨링
- 예측 범위와 Cutoff 설정
- 학습/예측 데이터 분할 시각화
- 모델 훈련 → 로그 기록 → SHAP 설명 가능성 구축
결론
- 시간 기반 분할(Temporal Split)과 백테스팅을 통해 모델의 실무적 성능 검증
- MAE, RMSE, sMAPE 등 혼합 지표를 사용한 모델 비교
- 다음 단계에서는 가상 데이터셋 생성과 모델 파이프라인 구축을 진행할 예정