RT-T7: 예측 ETA 모듈 설계

🎯 예측 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_featweather_feat)
# LSTM은 시간적 속도 변화, XGBoost는 도로·신호·휴일 구조를 학습 → 앙상블로 상호 보완
tstime_series = [speed_t-5, speed_t-4, ..., speed_t] · 5분 이동 평균 속도 (LSTM 입력)
staticstatic_feat = [distance, road_type, signal_count, hour_sin, hour_cos, is_holiday]
weatherweather_feat = [is_rain, is_snow, wind_speed, visibility] · 양쪽 모델 공통 입력
ensw_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)