Method · 방법론

근거 있는 예측,
검증된 불확실성

Halia는 점수만 던지는 black-box가 아닙니다. 어떤 데이터에서 시작했는지, 어떻게 결합했는지, 얼마나 흔들리는지까지 단계별로 공개합니다.

v1.0 · published 2026-05-03 · Halia Team
1

데이터 (Data)

9개 공공기관 · ETL · DuckDB

Halia는 9개 공공기관의 데이터를 ETL 파이프라인으로 직접 수집해 24개 격자·일별 단위로 정렬합니다. 데이터 출처는 헤더에서 매 순간 신선도와 함께 공개합니다.

KHOA조위·조류 관측KMA기상 부이KMA·UV자외선 지수KMA·식중독식중독 지수KOEM해양환경NIFS수산자원·적조NOSCGOCI-II 위성KDCA비브리오 환자MFDS식품 회수ETL수집·정제DuckDB격자·일별FastAPI/api/*UI9 PUBLIC SOURCES
출처기관변수시간 해상도공간 해상도
KHOA조위·조류 관측국립해양조사원
조위조류수온염분
10분~1시간관측소
KMA기상 부이기상청
풍속파고기압수온
1시간부이
KMA·UV자외선 지수기상청
UV 지수
예보형시군 단위
KMA·식중독식중독 지수기상청
식중독 지수
1일시군 단위
KOEM해양환경해양환경공단
엽록소pHDO영양염
관측망정점
NIFS수산자원·적조국립수산과학원
적조패류독소해파리
1일·실시간어장
NOSCGOCI-II 위성국가해양위성센터
Chl-aSSTTSSCDOM
1일500m 격자
KDCA비브리오 환자질병관리청
환자 집계
시군 단위
MFDS식품 회수식품의약품안전처
회수 정보
수시전국
2

격자·공간 (Grid)

충남 5개 시군 → 24 격자

충남 서해안 5개 시군 (서천·보령·태안·서산·당진)의 갯벌·연안 영역을 24개 격자로 분할합니다. 각 격자는 위·경도 bounding box와 대표 좌표 (centroid)를 가지며, 갯벌 polygon (해양수산부 1:25,000 연안정보도)이 overlay로 표시됩니다.

서천군
보령시
태안군
서산시
당진시
Grid ID이름시군중심 좌표 (lat, lon)
G01장항-금강하구서천군36, 126.69
G07보령 천북보령시36.34, 126.52
G14태안 안면태안군36.73, 126.18
예시 3개 표기 · 전체 24개 격자는 대시보드에서 확인
3

모델 (Model)

ST-Transformer + Random Forest cascade

Halia는 단일 모델이 아닌 **cascade**입니다. 시공간 패턴을 읽는 ST-Transformer와 정밀한 tabular 예측을 수행하는 Random Forest를 결합해, 격자·일별 위험 점수 (0~100)를 산출합니다.

Raw features → (1) ST-Transformer가 시간·공간 attention으로 격자 간 상관을 학습 → (2) Random Forest가 점수 보정 → Ensemble → 최종 위험 점수.

Features격자×시간×9 출처ST-TransformerSpatiotemporal attention시공간 sequence (7일·24격자)Random ForestTabular featuresscikit-learn · 200 treesEnsemble가중 결합위험 점수0~100

ST-Transformer

Spatiotemporal attention을 가진 transformer 변형. 격자 간 공간 가중치 + 시간 sequence (최근 7일) 입력.

Layers
검증중
Heads
검증중
Hidden dim
검증중
Sequence len
7일

Random Forest

scikit-learn RandomForestRegressor. ST-Transformer의 출력 + tabular features (수온·DO·pH 등)를 입력으로 점수 회귀.

n_estimators
200 (검증중)
max_depth
10 (검증중)
Library
scikit-learn
4

불확실성 (Conformal PI)

Distribution-free 90% 신뢰구간

예측 점수 하나만으로는 의사결정에 부족합니다. Halia는 **Conformal Prediction Interval (CP)** 로 90% 신뢰구간 (P10~P90) 을 함께 제시합니다. CP는 분포 가정이 없으며 (distribution-free), 적절한 calibration set 만 있으면 실 운영 환경에서의 coverage 보장이 이론적으로 성립합니다.

020406080100경고 41위험 86D+0D+6D+1390% PI (P10~P90)예측값

변형

Split-Conformal

Coverage 목표

90%

Coverage 관측

검증중

5

설명가능성 (SHAP)

TreeSHAP · 변수별 기여도

각 예측의 변수 기여도는 **TreeSHAP** 으로 계산해 워터폴 차트로 보여줍니다. 위험 점수가 왜 올랐는지 (혹은 내렸는지) 변수 단위로 즉시 해석 가능합니다.

0255075100Baseline (학습 평균)35수온 (KHOA)+12.5엽록소 (NOSC)+8.3DO (KOEM)-5.2강수 (KMA)+4.7조위 (KHOA)+3.1기타 변수+6.6최종 점수65위험 ↑위험 ↓
순위변수SHAP 기여 (예시)
1수온 (KHOA)+12.5
2엽록소 (NOSC GOCI-II)+8.3
3DO (KOEM)−5.2
4강수 (KMA)+4.7
5조위 (KHOA)+3.1
6

검증 (Evaluation)

시계열 cross-validation · hold-out test

검증은 시계열 cross-validation (rolling-origin)으로 수행했습니다. 다음 메트릭은 hold-out test split 기준입니다.

PR-AUC

정밀-재현율 곡선 면적 (spatiotemporal)

0.97
검증

Brier Score

예측 확률 평방 오차

0.04
검증

ECE

Expected Calibration Error

검증중
0.00.00.20.20.40.40.60.60.80.81.01.0예측 확률관측 빈도

예측 확률 빈 (0~1) 별 실제 관측 빈도. 점선은 완벽히 calibration된 이상선 (y=x). Halia 곡선이 이상선에 가까울수록 신뢰 가능합니다.

7

한계 (Limitations)

우리가 아는 모르는 것들

KDCA 비브리오 환자 통계는 월 단위로 공개됩니다. 일별 위험 모델에 직접 사용하기 어렵고, 임시로 월간 ratio + 환경 변수 결합으로 보정 중입니다.
월 단위 환자 집계의 시간 해상도
이상기후·태풍·적조 폭발 등 학습 데이터에 없는 사건은 모델이 잘 못 맞춥니다. Conformal PI 가 넓어지는 것으로 신호를 주지만, 절대값은 신뢰성이 떨어집니다.
OOD (Out-of-Distribution) 현상
해양수산부 1:25,000 연안정보도는 충분히 정밀하지만, 시간에 따른 갯벌 변화 (퇴적·침식)는 반영되지 않습니다.
갯벌 polygon 정밀도
현재 ETL은 일별 cron 기준입니다. 실시간 alert 가 필요한 시나리오 (해상 사고 등) 는 향후 KMA · KHOA push 연동으로 확장 예정입니다.
실시간 vs 일일 갱신
8

참고 문헌 (References)

  1. [1]
    Vaswani et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762Transformer 기반 (ST-Transformer 변형)
  2. [2]
    Breiman, L. (2001). Random Forests. Machine Learning, 45(1).Random Forest 회귀
  3. [3]
    Vovk, V., Gammerman, A., Shafer, G. (2005). Algorithmic Learning in a Random World. Springer.Conformal Prediction 이론
  4. [4]
    Lundberg & Lee (2017). A Unified Approach to Interpreting Model Predictions. NeurIPS. arXiv:1705.07874SHAP
  5. [5]
    국립해양조사원 (2024). 1/25,000 연안정보도 (갯벌). 해양수산부 연안포털.갯벌 polygon
  6. [6]
    질병관리청 (2023). 법정감염병 보고서 — 비브리오 패혈증·장염 비브리오. KDCA.환자 통계

Collaboration

데이터 추가·모델 개선 제안

Halia는 진행형 연구 프로젝트입니다. 새 데이터 출처나 검증 데이터 협업 제안은 환영합니다.