카테고리 없음
[시계열] 시계열 모델링 프로세스
ParkS2
2025. 7. 1. 21:48
모델링 프로세스
1단계: 문제 정의
- 예측 목표 명확화 (단기/장기, 점 예측/구간 예측)
- 데이터 수집 주기 및 예측 주기 결정
- 비즈니스 제약사항 파악
2단계: 데이터 준비
- 데이터 품질 검사 및 정제
- 결측치 처리 전략 수립
- 이상치 탐지 및 처리
3단계: 모델링 전략
- 단순 → 복잡: 기본 모델부터 시작
- 앙상블: 여러 모델 조합으로 성능 향상
- 계층적 모델링: 전체 → 세부 단위 예측
4단계: 모델 비교
- 동일한 검증 방법으로 공정 비교
- 통계적 유의성 검정
- 비즈니스 관점에서 실용성 평가
5단계: 운영 및 모니터링
- 모델 성능 지속적 모니터링
- 컨셉 드리프트 탐지
- 재학습 주기 설정
6. 모델 선택 가이드
데이터 특성별 추천
- 규칙적 패턴: ARIMA/SARIMA
- 복잡한 비선형: LSTM, Transformer
- 빠른 프로토타이핑: Prophet
- 대용량 데이터: 머신러닝 기법
요구사항별 추천
- 해석가능성 중요: 전통적 방법
- 높은 정확도: 딥러닝 + 앙상블
- 실시간 예측: 간단한 모델
- 확률적 예측: DeepAR, Prophet
상황 예시
예시 시나리오: 카페 체인 일일 매출 예측
1단계: 문제 정의
상황
카페 사장: "매일 아침 재료를 주문해야 하는데, 얼마나 팔릴지 모르겠어요. 어제는 재료가 부족해서 손님을 못 받았고, 그저께는 재료가 남아서 버렸어요."
구체적 문제 정의:
- 예측 목표: 다음 7일간 일일 매출 예측
- 예측 단위: 일별 (daily)
- 예측 범위: 단기 예측 (1주일)
- 비즈니스 목적: 재료 주문량 최적화, 재고 손실 최소화
- 제약사항: 매일 오전 6시까지 결정해야 함
2단계: 데이터 준비
상황
데이터 담당자: "POS 시스템에서 데이터를 뽑아봤는데 문제가 많네요."
발견된 문제들:
- 결측치: "3월 15일 데이터가 없네요?" → "그날 정전으로 시스템이 다운됐었어요"
- 이상치: "5월 3일 매출이 평소의 10배?" → "그날 회사 단체 주문이 있었어요"
- 데이터 품질: "주말 데이터가 평일보다 적은 게 정상인가요?" → "네, 주말엔 직장인 고객이 적어요"
해결 과정:
- 결측치: 전후 평균으로 보간
- 이상치: 특별 이벤트로 분류, 별도 처리
- 공휴일 정보 추가 수집
3단계: 모델링 전략
상황
분석가: "어떤 방법으로 예측할까요? 여러 옵션이 있어요."
단순 → 복잡 순서로 시도:
첫 번째 시도: "일단 간단하게 해봅시다"
- 이동평균: "지난 7일 평균으로 예측해보니 평일은 괜찮은데 주말이 틀려요"
두 번째 시도: "계절성을 고려해봅시다"
- Prophet: "요일별 패턴을 학습시켜보니 훨씬 나아졌어요. 월요일은 적고 금요일은 많다는 걸 잡아내네요"
세 번째 시도: "더 복잡한 패턴도 고려해봅시다"
- LSTM: "날씨, 근처 이벤트 정보까지 넣어봤는데 성능이 더 좋아졌어요"
앙상블: "여러 모델을 조합해봅시다"
- Prophet 50% + LSTM 30% + 이동평균 20%
4단계: 모델 비교
상황
카페 사장: "어떤 모델이 제일 좋은가요? 숫자로 보여주세요."
테스트 과정: 지난 달 데이터로 검증:
- 실제 매출: 월 120만원, 화 85만원, 수 90만원...
모델별 예측 결과:
- 이동평균: 월 95만원, 화 95만원, 수 95만원 (MAPE: 25%)
- "요일별 차이를 못 잡네요"
- Prophet: 월 115만원, 화 88만원, 수 92만원 (MAPE: 8%)
- "요일 패턴은 잘 잡는데 갑작스런 변화는 놓치네요"
- LSTM: 월 118만원, 화 83만원, 수 89만원 (MAPE: 6%)
- "가장 정확하지만 가끔 이상한 예측을 해요"
비즈니스 관점 평가:
- "LSTM이 가장 정확하지만, Prophet도 충분히 좋고 해석하기 쉬워요"
- "재료 주문에는 약간 보수적인 게 나으니까 Prophet을 쓸까요?"
5단계: 운영 및 모니터링
상황
3개월 후 카페 사장: "처음엔 잘 맞더니 요즘 예측이 자꾸 틀려요."
발생한 문제들:
성능 저하 발견:
- "1월엔 예측 오차가 8%였는데, 지금은 15%예요"
- "특히 목요일 예측이 계속 빗나가요"
원인 분석:
- "근처에 새로운 카페가 생겼어요" → 경쟁 환경 변화
- "재택근무가 늘어서 평일 패턴이 바뀌었어요" → 고객 행동 변화
- "메뉴를 바꿨는데 그 영향도 있을 것 같아요" → 내부 요인 변화
대응 방안:
- 즉시 조치: "최근 2개월 데이터만으로 모델을 다시 학습시켜봅시다"
- 모니터링 강화: "매주 예측 정확도를 체크하고 15% 넘으면 재학습하기로 해요"
- 모델 업데이트: "경쟁사 정보, 재택근무 지수 같은 새로운 변수를 추가해야겠어요"