Files
2026-10-08 16:43:48 +09:00

16 KiB

ADM01 실습가이드 - 결원·근무부하 추세 대시보드와 보충 필요량 예측

구 분 실습가이드 [교육용가상자료]

1. 실습 개요

본 실습은 교육용 가상 부대 인력 집계 자료로 결원·근무부하 추세를 분석하고 향후 3개월 보충 필요량을 예측하는 시스템을 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(ADM01_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다.

과제 ADM01 결원·근무부하 추세 대시보드와 보충 필요량 예측
난이도·유형 고급 / 코딩형
예상 소요시간 미션 10개, 총 27.5시간
준비물 ADM01_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서

2. 진행 방법

  • 정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 가상 인력 자료 생성 함수가 빠져 오류가 난다).

  • 실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 같은 값이 나오지만, 처리 시간(초·ms)과 처리 속도는 실행 환경에 따라 달라진다.

  • 도전 과제는 코드 상단의 파라미터(기준값, 가중치, 확률 기준, 한도 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.

  • 그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다.

  • 자료는 모두 가상 집계 인원 수이며 개인 정보는 없다. 실제 인사 자료는 입력하지 않는다. 보충·인원 이동·휴식 조정은 인사관·지휘관이 결정하며, 시간·속도 수치는 실행 환경에 따른 참고값이다.

  • 미션 8과 9는 부하 시험과 8개 가상 세계 예측 때문에 10초 안팎이 걸릴 수 있고, 미션 4·5·10도 5~7초가 걸릴 수 있다. 실행이 끝날 때까지 기다린다.

3. 미션 진행 요약

미션 난이도·시간 핵심 확인 결과
M1. 부대 인사/편제 데이터(현재원, 결원, 휴가, 환자, 교대주기) 데이터셋 스키마 설계 초급
1.5시간 필드 15개 정의 완성도 100%, 개인 식별 필드 0개
M2. 비정형 근무일지 파싱, 결원 사유 분류 및 근무 시간 정규화 전처리 모듈 구현 초급~중급
2시간 6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상)
M3. 직무별 결원율 및 초과근무 시간 기반 1차 피로도 산출 Baseline 모델 구현 중급
2.5시간 기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상)
M4. 시계열 분석 기반 부서별 향후 3개월 결원 추세 및 보충 필요 인력 예측 모델 고도화 중급
3시간 MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하)
M5. 인력 부족 위험 지수 산출 및 인사 배치 추천 신뢰도 엔진 개발 중급~고급
3시간 오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락
M6. 지휘관/인사참모용 부대 근무부하 현황 및 결원 예측 가시화 대시보드 구현 중급
2.5시간 전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내)
M7. 인사 보충 우선순위 결정 시 인사관 수동 조정 및 승인(HITL) 워크플로우 설계 고급
3시간 고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건
M8. 전시 동원 및 대량 결원 발생 상황 모의 인사 예측 스트레스 시뮬레이션 고급
3.5시간 평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명)
M9. AAR 기반 인사 예측 오차 원인 분석 및 인력 예측 가중치 파라미터 재보정 고급
3시간 기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명
M10. 결원·근무부하 추세 대시보드 및 인력 보충 예측 시스템 통합 패키지 완성 최고급
3.5시간 설치 5/5 통과, E2E 4/4 성공, 자체 점검 9/9, 커버리지 100%(14/14), 매뉴얼 7/7장(100%)

미션 1. 부대 인사/편제 데이터(현재원, 결원, 휴가, 환자, 교대주기) 데이터셋 스키마 설계

난이도·시간 초급 · 1.5시간

| 진행 순서 | 1) M1 코드를 실행해 스키마 필드 15개의 정의 완성도와 개인 식별 필드 수를 확인한다. 2) 전체 2,496행의 검증 결과와 주입 오류 8종의 검출 결과를 확인한다.

3) 직무별 평균 결원율·초과근무·고피로 비율표를 읽고 입출력 명세를 정리한다.

| 확인할 결과 | 필드 15개 정의 완성도 100%, 개인 식별 필드 0개

정상 2,496행 오류 0건, 주입 오류 8종 중 8종 검출
도전 과제 SCHEMA의 overtime_h 최대값을 80에서 30으로 줄이고 정상 자료 중 몇 행이 오류로 걸리는지 확인한 뒤 적절한 한도를 판단한다.
제출물 스키마(JSON)·검증 코드, 필드 정의표와 입출력 명세

미션 2. 비정형 근무일지 파싱, 결원 사유 분류 및 근무 시간 정규화 전처리 모듈 구현

난이도·시간 초급~중급 · 2시간

| 진행 순서 | 1) M2 코드를 실행해 파싱 성공 줄 수, 해석 실패(잘린 줄) 수, 처리 속도를 확인한다. 2) 고정 임계값(14시간)과 상황별 동적 임계값의 이상 판정·오탐 건수를 비교한다.

3) 전처리 오류율과 결원 사유 분류 분포, 사람 확인 대상을 읽는다.

| 확인할 결과 | 6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상)

동적 임계값은 잡음 75/75 검출·오탐 0건(고정 임계값은 오탐 약 585건), 전처리 오류율 0.00%
도전 과제 FIXED 값을 18시간으로 올렸을 때와 동적 임계값의 오탐·미탐 차이를 비교하고, 훈련주간에는 어떤 임계값이 적절한지 설명한다.
제출물 전처리 코드, 전처리 전후 비교표와 임계값 조정 기록

미션 3. 직무별 결원율 및 초과근무 시간 기반 1차 피로도 산출 Baseline 모델 구현

난이도·시간 중급 · 2.5시간

| 진행 순서 | 1) M3 코드를 실행해 단순 규칙·초기 가중·튜닝 가중의 시험 기간 정확도·정밀도·재현율을 비교한다. 2) 단순 기준선(모두 정상) 정확도와 비교해 Baseline의 의미를 판단한다.

3) 직무별 피로도와 상위 5개 셀의 점수 기여 분해를 읽고 사람이 먼저 확인할 셀을 정한다.

| 확인할 결과 | 기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상)

판단 지연 0.01ms 미만, 피로도 직무 순위 보급 68·통신 64 순
도전 과제 격자 탐색 범위를 기준 점수 45~60으로 좁히거나 야간 가중을 0.3으로 고정해 정확도와 F1이 어떻게 달라지는지 비교한다.
제출물 Baseline·튜닝 코드, 가중치 비교표와 판단 근거 예시

미션 4. 시계열 분석 기반 부서별 향후 3개월 결원 추세 및 보충 필요 인력 예측 모델 고도화

난이도·시간 중급 · 3시간

| 진행 순서 | 1) M4 코드를 실행해 4개 방식(단순·회귀 v1·v2·재고-흐름 모의)의 결원 인원 MAE를 비교한다. 2) 보충 필요 탐지의 방식별 재현율·정밀도와 확률 기준별 trade-off를 읽는다.

3) 오경보 패턴과 마지막 시점의 보충 필요 인원 예측·실제 비교를 확인한다.

| 확인할 결과 | MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하)

확률 0.15 이상 기준 재현율 85.7%(목표 85%)·정밀도 56%, 확률 0.5 이상은 24건 중 21건 적중
도전 과제 P0 대신 확률 기준을 0.3으로 바꿔 재현율·정밀도·오경보 건수가 어떻게 달라지는지 비교하고, 현장에서 어떤 기준을 쓸지 판단한다.
제출물 예측 모델 코드, 방식별 비교표와 보충 필요 인원 산출표

미션 5. 인력 부족 위험 지수 산출 및 인사 배치 추천 신뢰도 엔진 개발

난이도·시간 중급~고급 · 3시간

| 진행 순서 | 1) M5 코드를 실행해 단순 경보와 신뢰도 반영 경보의 오경보율·재현율을 비교한다. 2) 시드 5회 반복 일관성과 가중치 매트릭스, 위험 지수 상위 셀의 신뢰도 등급을 확인한다.

3) 배치 추천안에서 신뢰도가 High가 아닌 건에 '사람 확인 필수'가 붙는지 확인한다.

| 확인할 결과 | 오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락

위험 등급 일관성 96%(목표 90% 이상), 신뢰도 등급 일관성 88%
도전 과제 alarm 기준의 위험 50을 40으로 낮추고 오경보율과 재현율의 변화를 비교해 두 목표 사이의 균형을 설명한다.
제출물 위험 지수·신뢰도 엔진 코드, 경보 비교표와 배치 추천안

미션 6. 지휘관/인사참모용 부대 근무부하 현황 및 결원 예측 가시화 대시보드 구현

난이도·시간 중급 · 2.5시간

| 진행 순서 | 1) M6 코드를 실행해 전체 갱신 시간과 상태 집계(긴급·주의·정상)를 확인한다. 2) 현황판 표와 히트맵에서 '*'가 붙은 보충 필요 셀을 읽는다.

3) 필터·드릴다운·야간 모드 전환의 응답 시간을 확인하고 두 모드의 그래프를 비교한다.

| 확인할 결과 | 전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내)

상태 집계 긴급 5·주의 2·정상 17, 전체 결원율 10.0%
도전 과제 view 함수에 직무 필터와 상태 필터('긴급'만)를 함께 적용하는 옵션을 추가하고 응답 시간이 어떻게 변하는지 측정한다.
제출물 대시보드 코드, 화면 출력 캡처와 응답 시간 측정표

미션 7. 인사 보충 우선순위 결정 시 인사관 수동 조정 및 승인(HITL) 워크플로우 설계

난이도·시간 고급 · 3시간

| 진행 순서 | 1) M7 코드를 실행해 큐 대기시간(선입선출 대 위험도 우선)과 결재 결과 10건을 확인한다. 2) 인사관 조정 건의 전후 인원과 반려·피드백 기록을 읽는다.

3) 권한 우회·절차 위반 14종 차단 결과, 로깅 성공률, 해시 체인 검증과 위변조 탐지를 확인한다.

| 확인할 결과 | 고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건

차단 14/14(100%), 처리 요청 100건 대비 로그 100건(성공률 100%), 이력 무결성 100%·수정 탐지
도전 과제 ADJ_LIMIT를 0.5에서 0.2로 줄이고 조정 시도 중 차단되는 건이 늘어나는지 확인한 뒤 적절한 한도를 판단한다.
제출물 워크플로우·감사 로그 코드, 권한 시험표와 큐 대기시간 비교표

미션 8. 전시 동원 및 대량 결원 발생 상황 모의 인사 예측 스트레스 시뮬레이션

난이도·시간 고급 · 3.5시간

| 진행 순서 | 1) M8 코드를 실행해 평시와 통신 직무 전출 급증 상황의 보충 필요 인원을 비교한다. 2) 100·200·500% 부하에서 최적화 전후 응답 시간·기능 축소 건수·유실 건수를 확인한다.

3) 500% 처리 내역(정상·축소·격리)을 읽고 기능 축소 정책이 적절한지 판단한다.

| 확인할 결과 | 평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명)

500%에서 시스템 다운 0건·데이터 유실 0건, 캐시 후 p95 응답과 기능 축소 건수 대폭 감소
도전 과제 run의 qmax(큐 크기)를 48에서 16으로 줄이고 기능 축소 건수와 응답 시간이 어떻게 변하는지 비교한다.
제출물 스트레스 시험 코드, 부하 시험 결과표와 병목 최적화 기록

미션 9. AAR 기반 인사 예측 오차 원인 분석 및 인력 예측 가중치 파라미터 재보정

난이도·시간 고급 · 3시간

| 진행 순서 | 1) M9 코드를 실행해 기존 모델의 편차(편향·전출 급증 부대 셀 오차)와 원인 분류표를 확인한다. 2) 격자 탐색 결과와 채택 파라미터, 시험 세계의 개선 효과·재발 오류를 읽는다.

3) 출력된 파라미터(YAML)와 지속 학습 트리거를 확인하고 적용 여부를 누가 결정해야 하는지 적는다.

| 확인할 결과 | 기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명

시험 세계 종합 정확도 63.5%에서 67.7%(+4.2%p, 목표 10%p 미달), 급증 셀 평균 오차 +3.6명에서 +1.7명, 재발 오류 8건에서 5건
도전 과제 lam 후보에 0.65를 추가하고 MAE와 정확도가 어떻게 달라지는지 확인한 뒤 목표 10%p를 달성할 방법을 제안한다.
제출물 AAR 분석·재보정 코드, 원인 분류표와 재보정 전후 비교표, 파라미터(YAML)

미션 10. 결원·근무부하 추세 대시보드 및 인력 보충 예측 시스템 통합 패키지 완성

난이도·시간 최고급 · 3.5시간

| 진행 순서 | 1) M10 코드를 실행해 설치 스크립트 5단계 점검과 End-to-End 시나리오 4종 결과를 확인한다. 2) 자체 점검 9항목과 함수 커버리지, 매뉴얼 작성률을 읽는다.

3) 브리핑 요약의 수치가 앞선 출력과 일치하는지 확인하고 사람이 해야 할 일을 정리한다.

| 확인할 결과 | 설치 5/5 통과, E2E 4/4 성공, 자체 점검 9/9, 커버리지 100%(14/14), 매뉴얼 7/7장(100%)

브리핑: 셀 24개 중 위험 지수 50 이상 8개, 검토 큐 8건 모두 PENDING, 보충 필요 인원 71명
도전 과제 CONF의 queue_min_risk를 50에서 70으로 올려 검토 큐 건수와 필요 인원 합계가 어떻게 바뀌는지 비교한다.
제출물 통합 파이프라인 코드, 점검 결과 출력과 브리핑 요약

4. 최종 점검표

점검 항목 확인
미션 1~10 코드가 모두 오류 없이 실행되었다 ( )
각 미션의 확인할 결과를 기록했다 ( )
도전 과제 결과와 이유를 기록했다 ( )
브리핑 수치가 실행 결과와 일치한다 ( )
실제 부대·인원·개인 정보를 사용하지 않았다 ( )
보충·인원 이동·휴식 조정 결정을 인사관·지휘관이 하도록 설계했다 ( )