Research Task · RT-T7 · 2025.04
⏱️ 예측 ETA 모듈 설계
TMS AI 라우팅 엔진 · LSTM + XGBoost 앙상블 · GPS·교통·날씨 결합 · MAE 4.2분 · 김지훈 수석연구원 · 연구노트 7p 대응
🎯 예측 ETA 모듈 개요단순 추정 → ML 앙상블
기존 ETA 계산은 거리 ÷ 평균속도의 단순 추정으로 교통 상황·신호 체계·날씨 영향을 반영하지 못해 현장에서 오차가 컸다. RT-T7은 GPS·교통·날씨 데이터를 결합한 머신러닝 ETA 모듈을 설계한다. 시계열 교통 패턴은 LSTM으로, 도로 유형/신호 수 같은 정적 피처는 XGBoost로 각각 모델링한 뒤, 가중 앙상블로 최종 ETA를 산출한다.
4월 실험에서 MAE 4.2분 (기존 7.8분 대비 46% 감소), MAPE 8.3% (기존 14.1%)로 목표였던 15% 정확도 향상을 크게 상회했다. 특히 비 오는 날 MAE가 9.4분 → 6.1분으로 개선되었다.
🧭 ETA 추론 파이프라인GPS/교통/날씨 결합 → LSTM + XGBoost → 앙상블
STEP 1
data_collect
GPS·traffic·weather API 수집. 5분 간격 스냅샷.
STEP 2
feature_build
time_series 5분 이동 평균, static 피처, 날씨 원-핫 생성.
STEP 3
lstm.infer
시계열 속도 패턴 학습. 출퇴근·정체 주기성 반영 ETA 산출.
STEP 4
xgb.infer
거리·도로 유형·신호 수·휴일 여부 기반 트리 앙상블 ETA 산출.
STEP 5
ensemble
0.55·lstm + 0.45·xgb 가중 평균 → final_eta.
🐍 ETA 추론 엔드포인트 (FastAPI pseudocode)
# 예측 ETA 추론 엔드포인트 @app.post("/eta/predict") async def predict_eta(req: EtaRequest): # 1) 피처 빌드 time_series = feature_builder.time_series(req.route_id) # [speed_t-5, ..., speed_t] static_feat = feature_builder.static(req) # distance, road_type, signal_count, hour_sin/cos, is_holiday weather_feat = feature_builder.weather(req.lat, req.lon) # is_rain, is_snow, wind_speed, visibility # 2) 두 모델 병렬 추론 lstm_pred = lstm_model.predict(time_series, weather_feat) xgb_pred = xgb_model.predict([*static_feat, *weather_feat]) # 3) 가중 앙상블 final_eta = 0.55 * lstm_pred + 0.45 * xgb_pred return {"eta_min": final_eta, "lstm": lstm_pred, "xgb": xgb_pred}
📐 앙상블 수식 & 입력 피처시계열 · 정적 · 날씨 · 가중치
final_eta = 0.55 × lstm_pred + 0.45 × xgb_pred
lstm_pred = LSTM(time_series, weather_feat)
xgb_pred = XGBoost(static_feat ⊕ weather_feat)
# LSTM은 시간적 속도 변화, XGBoost는 도로·신호·휴일 구조를 학습 → 앙상블로 상호 보완
ts
time_series = [speed_t-5, speed_t-4, ..., speed_t] · 5분 이동 평균 속도 (LSTM 입력)static
static_feat = [distance, road_type, signal_count, hour_sin, hour_cos, is_holiday]weather
weather_feat = [is_rain, is_snow, wind_speed, visibility] · 양쪽 모델 공통 입력ens
w_lstm = 0.55, w_xgb = 0.45 · grid search로 MAE 최소화앙상블 가중치는 1월~3월 검증 데이터에서 w_lstm을 0.30~0.70 범위로 그리드 탐색하여 0.55에서 MAE가 최소가 됨을 확인했다. LSTM이 시계열 동적 패턴에서 우세하지만, XGBoost의 정적 피처(도로 유형/휴일) 보정이 큰 오차 케이스를 상당히 줄인다.
참고문헌
[1] Devox Software, "Logistics Tech 2025-2026" (2025.12)
[2] Logistics Viewpoints, "AI in Logistics: What Will Scale in 2026" (2025.12)
[1] Devox Software, "Logistics Tech 2025-2026" (2025.12)
[2] Logistics Viewpoints, "AI in Logistics: What Will Scale in 2026" (2025.12)