피드로 돌아가기
Handling Non-Stationary Time Series: Building a Probabilistic Engine with XGBoost & Python
Dev.toDev.to
AI/ML

XGBoost와 Monte Carlo 결합을 통한 비정상성 시계열 예측 엔진 구축

Handling Non-Stationary Time Series: Building a Probabilistic Engine with XGBoost & Python

Artem2026년 5월 20일7advanced

Context

금융 데이터의 Non-Stationary 특성으로 인해 Deterministic 모델이 Regime Shift 상황에서 급격한 성능 저하를 보이는 문제 발생. 과거 데이터의 단순 복제에 의존하는 기존 방식의 통계적 취약성 해결 필요.

Technical Solution

  • Raw Price 대신 Volatility-Adjusted Returns 및 Relative Volume 등 시장 상태를 정의하는 Feature Vector 설계로 Overfitting 방지
  • XGBoost의 Non-linear Regression 결과물에 Stochastic Noise를 주입하는 Monte Carlo Simulation 레이어 추가
  • 단일 경로 예측이 아닌 30회의 독립적 시뮬레이션을 통해 신호의 Robustness를 검증하는 Multiverse 구조 채택
  • 시뮬레이션 경로의 수렴 여부에 따라 Neutral 신호를 필터링하는 확률적 합의 메커니즘 구현
  • Timeframe별 Retrain Limit를 설정한 Smart Caching 및 Hot Reload 로직으로 실시간 추론 성능 최적화

- 시계열 예측 시 절대값 대신 상태(State) 기반의 특성 공학 적용 여부 검토 - 단일 예측치 대신 몬테카를로 시뮬레이션을 통한 결과의 분포 및 신뢰도 측정 도입 - 학습 비용이 높은 모델의 경우 데이터 업데이트 주기와 학습 주기를 분리한 캐싱 전략 수립

원문 읽기