Work · 2025 · 슈어소프트테크

해양사고 위험 예측 시스템 개발

해양사고 기록과 해양기상 관측을 결합해 격자×시간 단위 사고 위험도를 추정하고, 위험을 높이는 기상 조건을 통계로 검증. 해양수산부 AI융복합 과제 경험의 공개 데이터 재구현.

해양사고 위험 예측 시스템 개발
기간
2025.06 – 2025.11
역할
개발 실무 (인턴)
소속 / 주최
슈어소프트테크

배경

해양사고 기록과 해양기상 관측을 격자×시간 단위로 결합해 사고 위험을 사전 식별합니다. 슈어소프트테크 인턴십 중 해양수산부 AI융복합 과제로 진행한 작업을, 회사 보안상 사내 코드·데이터를 외부에 공개할 수 없어 공개 데이터 기반으로 다시 구현한 프로젝트입니다.

접근

MTIS 해양사고 좌표를 정제(29,695 → 28,935건)하고 NMPNT 해양기상 관측 71개 지점과 haversine 최근접 매칭(거리 60km·시간 ±30분)으로 데이터셋을 만들었습니다. 기상과 사고의 연관은 시간층화 case-crossover와 조건부 로지스틱 회귀로 검증하고(다변량 보정·BH 보정), 격자×시간 위험도는 해석용 로지스틱과 성능 상한 확인용 LightGBM을 연도 기준 OOF 교차검증으로 나눠 평가했습니다.

결과

가설과 반대의 결과를 그대로 보고했습니다. 잔잔하고 따뜻한 날 사고 오즈가 오히려 높았는데, 사고종류로 나누면 이 연관이 설비 고장형 사고에 집중되어 있어 위험 기상이 아니라 조업 노출의 흔적으로 해석했습니다. 격자×시간 위험도와 기상 근거는 실제 분석 실행 결과를 키 없이 재생하는 지도 대시보드로 공개했습니다.

아키텍처

해양사고 위험 분석 데이터 흐름 — MTIS·NMPNT 결합, 최근접 매칭, 격자×시간 데이터셋, 통계·모델·XAI, FastAPI와 지도 대시보드

저장소의 아키텍처 다이어그램 원본입니다. 수치는 reports/의 통계·모델 산출물에서 가져왔습니다.

핵심 수치

정제 사고
28,935건
기상 관측 지점
71곳
case-crossover
9,687묶음
AUC (로지스틱 · 해석)
0.653
AUC (LightGBM · 상한)
0.834
격자 해상도
0.05–0.25°

저장소 리포트에 저장된 실측값입니다.

Stack

Pythonpandasstatsmodelsscikit-learnLightGBMFastAPINext.jsTypeScriptMapLibreVercel

기술 노트

이 프로젝트에서 나온 설계 판단과 배운 점을 정리한 글입니다.

© 2026 Minsu Kang. All rights reserved.