카테고리 없음

[시계열] 시계열 모델링 프로세스

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% 넘으면 재학습하기로 해요"
  • 모델 업데이트: "경쟁사 정보, 재택근무 지수 같은 새로운 변수를 추가해야겠어요"