MOV06 실습가이드 - 납품수요 예측·물류흐름 추적관리
구 분 실습가이드 [교육용가상자료]
1. 실습 개요
본 실습은 교육용 가상 노선을 이동하는 수송선단의 GPS·화물 센서·통신 텔레메트리로 도착 예정 시간(ETA)과 지연 원인을 추적하는 물류 추적 도구를 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(MOV06_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꾸는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다.
| 과제 |
MOV06 납품수요 예측·물류흐름 추적관리 |
| 준비물 |
MOV06_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
2. 진행 방법
-
정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 가상 노선·텔레메트리 생성 함수가 빠져 오류가 난다).
-
실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 있어 같은 값이 나와야 한다(처리 시간·로딩 시간 수치는 환경에 따라 다르다).
-
도전 과제는 코드 상단의 파라미터(운행계획 시간, 단가, 경보 기준, 손실률 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.
-
그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다. M3~M5·M8은 모델 학습과 부하 시험으로 실행에 10초 안팎이 걸릴 수 있다.
-
실제 부대 위치·수송로·일정은 입력하지 않는다. 지연·이탈 경보는 판단 보조이며 대체 수송 지시는 수송통제관 승인과 지휘계통에 따른다.
3. 미션 진행 요약
| 미션 |
난이도·시간 |
핵심 확인 결과 |
| M1. 군수 수송선단 GPS 위치, 화물 센서, 통신 상태 텔레메트리 데이터셋 정의 |
초급 |
|
| 1.5시간 |
데이터 사전 37개 필드, 예측·추적 피처 후보 31개(목표 20개 이상) |
|
| M2. 수송 데이터 정제, 비정상 GPS 좌표 보정 및 속도/이동 방향 전처리 모듈 구현 |
초급~중급 |
|
| 2시간 |
정제 규칙 10종, 정합성 검증 통과율 100% |
|
| M3. 현재 속도 기반 단순 도착 예정 시간(ETA) 계산 Baseline 알고리즘 구현 |
중급 |
|
| 2.5시간 |
단순 ETA MAPE 31.7%, MAE 45.0분, 정차 중 MAE 332분 |
|
| M4. 도로 상태, 기상, 적 위협 정체 변수를 반영한 머신러닝 기반 정밀 ETA 예측 모델 고도화 |
중급 |
|
| 3시간 |
파생 피처 16개(총 21개), GBR 교차검증 평균 MAPE 7.52%(목표 25% 이하) |
|
| M5. 수송선단 경로 이탈 및 불시 정차 감지 신뢰도 경보 엔진 개발 |
중급~고급 |
|
| 3.5시간 |
이탈 22건·정차 88건 모두 탐지(재현율 100%), 잡음 조건 이탈 오경보 283관측 |
|
| M6. 실시간 수송선단 위치 추적 및 실시간 ETA 변동 대시보드 UI 구현 |
중급~고급 |
|
| 3시간 |
기여도 상위 3개 자동 산출 2034건 중 2034건(100%) |
|
| M7. 도착 지연 경보 발생 시 현장 확인 및 대체 수송 지시를 위한 HITL 절차 설계 |
고급 |
|
| 3.5시간 |
평상 시나리오 절감 38.8%(목표 15% 이상), 예비 차량 0대에서도 18.0% |
|
| M8. 100개 수송선단 동시 이동 모의 실시간 위치 데이터 스트림 부하 테스트 |
고급 |
|
| 3시간 |
100개 선단 대시보드 로딩 0.1초 안팎(목표 2초 이내), 틱 p95 수 ms |
|
| M9. AAR 기반 ETA 예측 오차 분석 및 지연 요인 가중치 매트릭스 재튜닝 |
고급 |
|
| 3시간 |
현행 MAPE 21.2% 우천 28.6%, 보류 구간 MAPE 18.8% -> 8.1%, MAE 24.7 -> 9.9분 |
|
| M10. 군수품 이동 상태 추적 및 도착 예정 시간(ETA) 예측 시스템 최종 완성 |
최고급 |
|
| 3.5시간 |
자체 점검 8/8 PASS, 운영 문서 12/12(100%) |
|
미션 1. 군수 수송선단 GPS 위치, 화물 센서, 통신 상태 텔레메트리 데이터셋 정의
| 진행 순서 | 1) M1 코드를 실행해 데이터 사전의 필드 수와 실제 데이터 컬럼 대조 결과를 확인한다.
2) 검증기에 주입한 오류 6종이 모두 검출되는지 읽는다.
| 3) 업무 프로세스 맵 9단계에서 가장 오래 걸리는 단계를 표시한다. |
|
| 확인할 결과 | 데이터 사전 37개 필드, 예측·추적 피처 후보 31개(목표 20개 이상)
| 사전 누락 컬럼 없음, 주입 오류 6종 중 6종 검출, 프로세스 맵 9단계 165분 |
|
| 도전 과제 |
데이터 사전에 '예비 차량 위치' 같은 필드를 하나 추가하고, 실제 데이터에 없는 필드로 대조 결과에 나타나는지 확인한다. |
| 제출물 |
데이터 사전, 오류 주입 검출표, 업무 프로세스 맵 |
미션 2. 수송 데이터 정제, 비정상 GPS 좌표 보정 및 속도/이동 방향 전처리 모듈 구현
| 진행 순서 | 1) M2 코드를 실행해 오염 데이터의 오류 건수와 정제 규칙 10종의 처리 건수를 확인한다.
2) 정합성 검증 8항목이 모두 PASS인지 확인한다.
| 3) 정차 행이 삭제되지 않고 보존되었는지와 전후 기술통계를 비교한다. |
|
| 확인할 결과 | 정제 규칙 10종, 정합성 검증 통과율 100%
| 진행거리 MAE 0.63km -> 0.03km, 실제 정차 84행 중 정제 후 82행 보존(2행은 전송 누락) |
|
| 도전 과제 |
R4의 GPS 점프 기준 8km를 3km로 바꿔 보정 건수가 어떻게 달라지는지, 정차 행이 삭제되지 않는지 확인한다. |
| 제출물 |
정제 모듈 코드, 정제 규칙 로그, 정합성 검증 결과, 전후 통계 비교표 |
미션 3. 현재 속도 기반 단순 도착 예정 시간(ETA) 계산 Baseline 알고리즘 구현
| 진행 순서 | 1) M3 코드를 실행해 단순 ETA의 MAPE와 조건별 오차를 확인한다.
2) 상관 상위 피처와 p-value, 정차 이력 유무 평균 차이 검정 결과를 읽는다.
| 3) 파레토 분석에서 오차가 집중된 이동의 비중을 확인한다. |
|
| 확인할 결과 | 단순 ETA MAPE 31.7%, MAE 45.0분, 정차 중 MAE 332분
| 유의 상관 피처 9개(목표 5개 이상), EDA 차트 8종, 오차 상위 20% 이동이 오차의 42% |
|
| 도전 과제 |
상관 판정 기준 |r| 0.2를 0.4로 올려 남는 피처 수와 거리 효과 피처의 비중을 확인한다. |
| 제출물 |
Baseline 오차표, EDA 차트 8종, 상관표, 가설검정 결과, 파레토 요약 |
미션 4. 도로 상태, 기상, 적 위협 정체 변수를 반영한 머신러닝 기반 정밀 ETA 예측 모델 고도화
| 진행 순서 | 1) M4 코드를 실행해 파생 피처 수와 시계열 교차검증 4개 fold의 MAPE를 확인한다.
2) 변수군 제거 실험에서 제거 시 오차가 가장 크게 늘어나는 변수군을 찾는다.
| 3) 순열 중요도 상위 피처와 1% 미만 피처 수를 읽는다. |
|
| 확인할 결과 | 파생 피처 16개(총 21개), GBR 교차검증 평균 MAPE 7.52%(목표 25% 이하)
| 단순 ETA 31.2%, 우천 제거 시 MAPE +1.57%p로 가장 큰 증가 |
|
| 도전 과제 |
GBR 대신 Ridge만 사용했을 때 평균 MAPE가 어떻게 달라지는지 확인하고 피처 설계의 역할을 설명한다. |
| 제출물 |
피처 목록, 교차검증 표, 변수군 제거 결과, 중요도 그래프 |
미션 5. 수송선단 경로 이탈 및 불시 정차 감지 신뢰도 경보 엔진 개발
| 진행 순서 | 1) M5 코드를 실행해 이탈·불시 정차 이벤트의 재현율과 탐지 지연을 확인한다.
2) GPS 잡음 조건에서 오경보가 얼마나 늘어나는지, 정차 임계값 0.3·0.5·0.8의 정밀도와 재현율 차이를 읽는다.
| 3) 기준 모델과 앙상블 모델의 MAE·RMSE·R2를 비교한다. |
|
| 확인할 결과 | 이탈 22건·정차 88건 모두 탐지(재현율 100%), 잡음 조건 이탈 오경보 283관측
| MAE 개선 80.6%, RMSE 개선 85.8%(목표 20% 이상), R2 0.970(목표 0.85 이상) |
|
| 도전 과제 |
정차 임계값을 0.8로 올렸을 때 재현율 하락과 경보 피로의 균형을 업무 관점에서 설명한다. |
| 제출물 |
이벤트 검증표, 임계값 비교, 모델 성능표, 상황별 오차표 |
미션 6. 실시간 수송선단 위치 추적 및 실시간 ETA 변동 대시보드 UI 구현
| 진행 순서 | 1) M6 코드를 실행해 기여도 상위 3개 요인이 모든 예측 건에서 산출되는지 확인한다.
2) 선단 상태판에서 상태(정상·지연·정차)별 선단 수와 지연 상위 3개 선단의 자연어 설명을 읽는다.
| 3) 한 선단의 ETA 변동 추적에서 예측 도착 범위와 실제 도착을 비교한다. |
|
| 확인할 결과 | 기여도 상위 3개 자동 산출 2034건 중 2034건(100%)
| 상태판 12개 선단: 정상 8, 지연 2, 정차 2, 우천 평균 기여 5.5분으로 최대 요인 |
|
| 도전 과제 |
운행계획 PLAN을 255분에서 230분으로 바꿔 상태판의 지연 판정 선단 수가 어떻게 달라지는지 확인한다. |
| 제출물 |
상태판, 요인 기여도 표, 자연어 설명, ETA 변동 그래프 |
미션 7. 도착 지연 경보 발생 시 현장 확인 및 대체 수송 지시를 위한 HITL 절차 설계
| 진행 순서 | 1) M7 코드를 실행해 시나리오별 관행 규칙과 기댓값 최소 추천의 비용·절감률을 확인한다.
2) 대체 수송 비용 민감도에서 추천 출동 횟수가 어떻게 변하는지 읽는다.
| 3) AI 지시안 6건이 모두 검토대기인지, 권한 우회 시도 10건이 모두 차단되는지, 감사 로그 위·변조가 검출되는지 확인한다. |
|
| 확인할 결과 | 평상 시나리오 절감 38.8%(목표 15% 이상), 예비 차량 0대에서도 18.0%
| 자동 승인 0건, 권한 우회 차단 10/10(100%), 감사 로그 22건 위·변조 검출 |
|
| 도전 과제 |
대체 수송 비용 C_REPL을 45만원에서 100만원으로 바꿔 추천 조치 구성과 절감률이 어떻게 달라지는지 확인한다. |
| 제출물 |
최적화 코드, 비용 비교표, 민감도, 결재 이력, 차단 로그 |
미션 8. 100개 수송선단 동시 이동 모의 실시간 위치 데이터 스트림 부하 테스트
| 진행 순서 | 1) M8 코드를 실행해 선단 수 100~10000의 틱 처리 지연과 대시보드 로딩 시간을 확인한다.
2) 오류 주입 7조건의 정확도·재현율·오경보를 비교하고 정확도만 보면 안 되는 이유를 읽는다.
| 3) 한계 시험(10000개, 손실·중복·지연 동시)의 결과와 대응 방안을 확인한다. |
|
| 확인할 결과 | 100개 선단 대시보드 로딩 0.1초 안팎(목표 2초 이내), 틱 p95 수 ms
| 통신 오류 4개 조건 최저 정확도 99.5%(목표 95% 이상), GPS 잡음 조건은 91.1%·재현율 57%로 미달 |
|
| 도전 과제 |
패킷 손실률을 15%에서 40%로 올려 재현율이 어떻게 달라지는지 확인하고 보완책을 제안한다. |
| 제출물 |
규모별 부하표, 오류 주입 결과표, 한계 시험 결과, 대응 방안 |
미션 9. AAR 기반 ETA 예측 오차 분석 및 지연 요인 가중치 매트릭스 재튜닝
| 진행 순서 | 1) M9 코드를 실행해 현행 가중치 ETA의 조건별 오차와 오차 큰 사례의 원인 분류를 확인한다.
2) 재튜닝 전후 가중치 매트릭스와 보류 구간 성능을 비교하고 사람 검토 대상 요인을 읽는다.
| 3) ROI 3대 지표와 횟수 민감도를 확인한다. |
|
| 확인할 결과 | 현행 MAPE 21.2% 우천 28.6%, 보류 구간 MAPE 18.8% -> 8.1%, MAE 24.7 -> 9.9분
| 연간 절감 2,016만원, 대기·준비 시간 단축률 37.3%, 회수 17.9개월 |
|
| 도전 과제 |
연 수송 횟수 TRIPS_YR를 1200회에서 600회로 바꿔 절감액과 회수 기간이 어떻게 달라지는지 확인한다. |
| 제출물 |
재튜닝 코드, 원인별 오차표, 가중치 매트릭스, 3대 지표와 민감도 |
미션 10. 군수품 이동 상태 추적 및 도착 예정 시간(ETA) 예측 시스템 최종 완성
| 진행 순서 | 1) M10 코드를 실행해 데이터 정합성, 드리프트 점검, 챔피언/챌린저 판정 결과를 확인한다.
2) 120분 시점 상태판에서 경보 건이 승인대기로 분리되었는지와 7일 납품 소요 예측 검증을 확인한다.
| 3) 자체 점검표와 브리핑 요약이 앞의 수치와 일치하는지 대조한다. |
|
| 확인할 결과 | 자체 점검 8/8 PASS, 운영 문서 12/12(100%)
| 챌린저 승격(MAE 4.81 -> 4.27분), 경보 1건 승인대기, 7일 소요 예측 MAPE 3.6%(전주 동요일 4.5%) |
|
| 도전 과제 |
드리프트 기준 drift_mape를 8.0에서 5.0으로 낮추고 재학습 판정이 어떻게 달라지는지 확인한다. |
| 제출물 |
통합 파이프라인 코드, 상태판, 자체 점검표, 인터페이스 명세, 브리핑 요약 |
4. 최종 점검표
| 점검 항목 |
확인 |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 |
( ) |
| 각 미션의 확인할 결과를 기록했다 |
( ) |
| 도전 과제 결과와 이유를 기록했다 |
( ) |
| 브리핑 수치가 실행 결과와 일치한다 |
( ) |
| 실제 부대·지명·수송로·장비 제원을 사용하지 않았다 |
( ) |
| 대체 수송 지시는 인간 승인·지휘계통에 따름을 명시했다 |
( ) |