MNT03 실습가이드 - 고장률 분석을 통한 다빈도 고장품목 식별
구 분 실습가이드 [교육용가상자료]
1. 실습 개요
본 실습은 교육용 가상 차량 100대의 18개월 고장 진단 코드(DTC)와 정비 이력으로 고장률을 분석해 다빈도 고장품목을 식별하고, 동시 발생 코드로 근본 원인 부품을 추정하는 도구를 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(MNT03_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다.
| 과제 |
MNT03 고장률 분석을 통한 다빈도 고장품목 식별 |
| 준비물 |
MNT03_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
2. 진행 방법
-
정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 가상 데이터 생성 함수가 빠져 오류가 난다).
-
실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 같은 값이 나오지만, 처리 시간(초)은 실행 환경에 따라 달라진다.
-
도전 과제는 코드 상단의 파라미터(신뢰도 기준 THR, 정비관 수용량 CAP, 최소 지지도, 가중치 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.
-
그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다. 코드가 길어 실행에 520초 걸리는 미션(M6M10)이 있다.
-
실제 부대·장비·정비 실적은 입력하지 않는다. 진단 추천은 판단 보조이며 복합 고장과 신뢰도 낮은 건의 확정은 숙련 정비관이 하고, 금액은 가정 단가에 따른 상대 비교값이다.
3. 미션 진행 요약
| 미션 |
난이도·시간 |
핵심 확인 결과 |
| M1. 전차/장갑차 전자제어장치(ECU) 고장 진단 코드(DTC) 및 정비 매뉴얼 데이터셋 정의 |
초급 |
|
| 1.5시간 |
피처 23개(목표 20개 이상), 표본 20건 검증 오류 0건 |
|
| M2. DTC 시계열 발생 로그 정제, 동시 발생 코드 정규화 전처리 모듈 구현 |
초급~중급 |
|
| 2시간 |
정합성 검증 10/10 통과(통과율 100%) |
|
| M3. 단일 고장 코드 기반 1차 고장 부품 매핑 Baseline 알고리즘 구현 |
중급 |
|
| 2.5시간 |
Baseline 부품 정확도 68.7%, 계통 정확도 96.8% |
|
| M4. 연관 규칙 마이닝(Apriori/FP-Growth) 기반 다중 DTC 동시 발생 시 근본 원인 예측 모델 고도화 |
중급 |
|
| 3시간 |
연관 규칙 57개, 근본 원인 정확도 68.7% -> 78.3% |
|
| M5. DTC 기반 정비 조치 가이드라인 및 추천 신뢰도 점수 산출 엔진 개발 |
중급~고급 |
|
| 3.5시간 |
top-1 정확도 83.9%(Baseline 68.7%), ECE 0.014 |
|
| M6. 정비병용 모바일/웹 고장 코드 진단 및 정비 조치 절차 대시보드 구현 |
중급~고급 |
|
| 3시간 |
기여도 상위 3개 인자 산출 3890건(산출률 100%) |
|
| M7. 복합 고장 의심 시 숙련 정비관 2차 정밀 진단(HITL) 워크플로우 설계 |
고급 |
|
| 3.5시간 |
오진단 비용 절감률 15.6%(목표 15% 이상), 자동 확정 0건 |
|
| M8. 1,000건 동시 다발 고장 코드 주입 시 연관 고장 추론 부하 테스트 |
고급 |
|
| 3시간 |
1,000건 처리 0.1초 내외(목표 2초 이내), 정상 965건·격리 35건 |
|
| M9. AAR 기반 연관 고장 오진단 사례 분석 및 고장 룰베이스 재튜닝 |
고급 |
|
| 3시간 |
AAR 기간 오진단 522건(22.3%), 모호 코드 입력이 47% |
|
| M10. 무기체계 고장 코드(DTC) 기반 연관 고장 예측 및 정비 가이드 도구 완성 |
최고급 |
|
| 3.5시간 |
재학습 정상 실행(도전자 0.847 > 챔피언 0.845, 교체), 자체 점검 8/8 통과 |
|
미션 1. 전차/장갑차 전자제어장치(ECU) 고장 진단 코드(DTC) 및 정비 매뉴얼 데이터셋 정의
| 진행 순서 | 1) M1 코드를 실행해 데이터 딕셔너리(DTC 로그·정비 건·차량·예측 대상)와 피처 수를 확인한다.
2) 업무 프로세스 맵 9단계에서 각 단계의 입력·출력 데이터를 정리한다.
| 3) 오류 주입 결과에서 각 오류가 어떤 규칙(형식·허용값·누락·범위·자료형)에 걸렸는지 표로 정리한다. |
|
| 확인할 결과 | 피처 23개(목표 20개 이상), 표본 20건 검증 오류 0건
| 도전 과제 |
차량 묶음에 '정비 후 경과일(days_since_pm, 0 이상)' 필드를 추가하고 음수 값을 넣어 검출되는지 확인한다. |
| 제출물 |
스키마·딕셔너리 코드, 도메인 분석서(프로세스 맵·예측 대상) |
미션 2. DTC 시계열 발생 로그 정제, 동시 발생 코드 정규화 전처리 모듈 구현
| 진행 순서 | 1) M2 코드를 실행해 정제 규칙 10종별 처리 건수를 확인한다.
2) R10(긴급·비계획 정비 보존)이 일반 이상값 처리와 어떻게 다른지 설명한다.
| 3) 정제 전후 기술통계 표로 차량·코드 종류 수, 가동시간 평균, 결측 수의 변화를 정리한다. |
|
| 확인할 결과 | 정합성 검증 10/10 통과(통과율 100%)
| 중복 150건 제거, 비계획 예외 40건 보존, 결측 261 -> 0 |
|
| 도전 과제 |
KNNImputer의 이웃 수를 바꿔(예: 5 -> 2) 보정된 가동시간 평균이 어떻게 달라지는지 확인한다. |
| 제출물 |
정제 모듈 코드, 정제 품질 보고서(규칙·건수·전후 통계) |
미션 3. 단일 고장 코드 기반 1차 고장 부품 매핑 Baseline 알고리즘 구현
| 진행 순서 | 1) M3 코드를 실행해 Baseline의 부품·계통 정확도와 모호 코드 첫 기록 건의 정확도를 확인한다.
2) 파레토 표에서 A등급 품목과 상위 20% 비중을 확인한다.
| 3) 상관분석 표에서 유의한 피처를 고르고 EDA 차트 8종을 살펴 핵심 발견점 3가지를 쓴다. |
|
| 확인할 결과 | Baseline 부품 정확도 68.7%, 계통 정확도 96.8%
| 상위 4종이 전체 고장의 75%, 유의 피처 6개, EDA 차트 8종 |
|
| 도전 과제 |
Baseline 대응표를 만드는 학습 기간(앞쪽 월 수)을 줄여 Baseline 정확도와 모호 코드 건 정확도가 어떻게 변하는지 확인한다. |
| 제출물 |
Baseline·EDA 코드, EDA 요약 리포트(핵심 발견점) |
미션 4. 연관 규칙 마이닝(Apriori/FP-Growth) 기반 다중 DTC 동시 발생 시 근본 원인 예측 모델 고도화
| 진행 순서 | 1) M4 코드를 실행해 연관 규칙 수와 대표 규칙(지지도·신뢰도·향상도)을 확인한다.
2) 단일 코드 Baseline과 연관 규칙의 근본 원인 정확도를 비교한다.
| 3) 시계열 교차검증 폴드별 MAPE와 피처 중요도 상위 인자를 확인하고 차원 축소 결과를 해석한다. |
|
| 확인할 결과 | 연관 규칙 57개, 근본 원인 정확도 68.7% -> 78.3%
| 파생 피처 13개, 교차검증 평균 MAPE 21.3%(목표 25% 이하) |
|
| 도전 과제 |
apriori의 min_sup을 0.004에서 0.01로 올려 빈발 항목집합과 규칙 수가 어떻게 줄어드는지 확인한다. |
| 제출물 |
피처·연관 규칙 코드, 기준 모델 성능표 |
미션 5. DTC 기반 정비 조치 가이드라인 및 추천 신뢰도 점수 산출 엔진 개발
| 진행 순서 | 1) M5 코드를 실행해 top-1·top-3 정확도와 Baseline을 비교한다.
2) 신뢰도 구간별 실제 정확도 표로 보정 상태(ECE)를 점검한다.
| 3) 진단 카드 2건을 비교해 신뢰도가 낮은 입력에서 정비관 확인이 권고되는 이유를 설명한다. |
|
| 확인할 결과 | top-1 정확도 83.9%(Baseline 68.7%), ECE 0.014
| 월간 예측 MAE 31.5%, RMSE 34.1% 개선, R2 0.939 |
|
| 도전 과제 |
하이퍼파라미터 탐색 목록의 ridge alpha (1, 3, 10)에 30을 추가해 선택된 하이퍼파라미터와 검증 R2가 바뀌는지 확인한다. |
| 제출물 |
추천 엔진 코드, 진단 카드 예시, 성능 비교표 |
미션 6. 정비병용 모바일/웹 고장 코드 진단 및 정비 조치 절차 대시보드 구현
| 진행 순서 | 1) M6 코드를 실행해 기여도 상위 3개 인자 산출률과 근거 유효성을 확인한다.
2) 모바일 진단 카드 2건에서 근거·조치 절차·요약 문장을 읽고, 신뢰도 낮은 건의 표시 방식을 확인한다.
| 3) 웹 대시보드 구성 출력에서 경보 건수와 다빈도 진단 부품을 확인한다. |
|
| 확인할 결과 | 기여도 상위 3개 인자 산출 3890건(산출률 100%)
| 근거 유효성 92.5%, 경보 238건, 신뢰도 낮음 148건 |
|
| 도전 과제 |
진단 카드에 표시할 근거 인자 수를 3개에서 5개로 늘려 설명이 더 명확해지는지, 너무 길어지는지 비교한다. |
| 제출물 |
XAI 코드, XAI 리포트(카드 예시와 근거 유효성) |
미션 7. 복합 고장 의심 시 숙련 정비관 2차 정밀 진단(HITL) 워크플로우 설계
| 진행 순서 | 1) M7 코드를 실행해 엔진 단독 확정과 HITL 방식의 오진단율·비용지수를 비교한다.
2) 감사 로그 무결성 검사와 변조 탐지 결과, 결정 사유 예를 확인한다.
| 3) 신뢰도 기준과 정비관 수용량, 고장 급증 민감도 표를 읽고 운영점(THR 0.8, CAP 300)이 왜 선택됐는지 정리한다. |
|
| 확인할 결과 | 오진단 비용 절감률 15.6%(목표 15% 이상), 자동 확정 0건
| 결정 로깅률 100%(1501/1501), 변조는 seq 7에서 탐지 |
|
| 도전 과제 |
CAP을 100으로 줄이고 고장 급증 상황에서 절감률이 얼마나 떨어지는지 확인한다. |
| 제출물 |
HITL 시뮬레이터 코드, 민감도 분석표, 워크플로우 설명 |
미션 8. 1,000건 동시 다발 고장 코드 주입 시 연관 고장 추론 부하 테스트
| 진행 순서 | 1) M8 코드를 실행해 1,000건 주입 결과(정상·격리 건수, 처리 시간)를 확인한다.
2) 경보 정확도·재현율·정밀도를 목표와 비교하고 오류 유형별 격리 사유를 정리한다.
| 3) 단건 호출과 일괄 처리의 시간 비교, 요청 수별 처리량 표를 읽고 기능 축소 운용 기준을 쓴다. |
|
| 확인할 결과 | 1,000건 처리 0.1초 내외(목표 2초 이내), 정상 965건·격리 35건
| 경보 정확도 99.8%(목표 95% 이상), 재현율 100% |
|
| 도전 과제 |
make_requests의 bad_rate를 0.05에서 0.2로 높여 격리 건수와 경보 정확도가 어떻게 변하는지 확인한다. |
| 제출물 |
부하 시험 코드, 결과표, 기능 축소 운용 기준 |
미션 9. AAR 기반 연관 고장 오진단 사례 분석 및 고장 룰베이스 재튜닝
| 진행 순서 | 1) M9 코드를 실행해 AAR 기간 오진단 건수와 원인 분류 비율을 확인한다.
2) 가중치 재튜닝 전후의 AAR 기간·검증 기간 정확도와 비용지수를 비교표로 정리한다.
| 3) 3대 정량 효과 지표와 도입 로드맵을 ROI 보고서에 옮긴다. |
|
| 확인할 결과 | AAR 기간 오진단 522건(22.3%), 모호 코드 입력이 47%
| 검증 정확도 78.1% -> 80.1%, 비용 7.3% 절감, 재작업 10.7% 단축, 헛교체 18.9% 감소 |
|
| 도전 과제 |
가중치 격자 탐색 후보값 (0.5, 1.0, 1.5, 2.0)에 3.0을 추가해 선택된 가중치와 검증 정확도가 달라지는지 확인한다. |
| 제출물 |
AAR·재튜닝 코드, ROI 분석 보고서(지표·로드맵) |
미션 10. 무기체계 고장 코드(DTC) 기반 연관 고장 예측 및 정비 가이드 도구 완성
| 진행 순서 | 1) M10 코드를 실행해 재학습 결과(챔피언·도전자 정확도, 교체 여부)를 확인한다.
2) 자체 점검 통과 수와 운영 문서 작성률, 모델 장애 시 대체 동작을 확인한다.
| 3) 출력된 브리핑 요약으로 5분 분량 정비 담당 장교 브리핑 자료를 만든다. |
|
| 확인할 결과 | 재학습 정상 실행(도전자 0.847 > 챔피언 0.845, 교체), 자체 점검 8/8 통과
| 운영 문서 7개 장 100%, 다빈도 상위 연료분사기 16.3건/1000h |
|
| 도전 과제 |
CONFIG의 retrain_tolerance를 0으로 바꿔 도전자가 근소하게 나쁠 때 교체되지 않는지 확인한다. |
| 제출물 |
통합 코드, 운영 지침서, 재학습 파이프라인 설명, 브리핑 자료 |
4. 최종 점검표
| 점검 항목 |
확인 |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 |
( ) |
| 각 미션의 확인할 결과를 기록했다 |
( ) |
| 도전 과제 결과와 이유를 기록했다 |
( ) |
| 브리핑 수치가 실행 결과와 일치한다 |
( ) |
| 실제 부대·장비·정비 실적을 사용하지 않았다 |
( ) |
| 복합 고장과 신뢰도 낮은 건은 정비관 확정 사항으로 설계했다 |
( ) |