데이터 (Data)
9개 공공기관 · ETL · DuckDB
Halia는 9개 공공기관의 데이터를 ETL 파이프라인으로 직접 수집해 24개 격자·일별 단위로 정렬합니다. 데이터 출처는 헤더에서 매 순간 신선도와 함께 공개합니다.
| 출처 | 기관 | 변수 | 시간 해상도 | 공간 해상도 |
|---|---|---|---|---|
| KHOA조위·조류 관측 | 국립해양조사원 | 조위조류수온염분 | 10분~1시간 | 관측소 |
| KMA기상 부이 | 기상청 | 풍속파고기압수온 | 1시간 | 부이 |
| KMA·UV자외선 지수 | 기상청 | UV 지수 | 예보형 | 시군 단위 |
| KMA·식중독식중독 지수 | 기상청 | 식중독 지수 | 1일 | 시군 단위 |
| KOEM해양환경 | 해양환경공단 | 엽록소pHDO영양염 | 관측망 | 정점 |
| NIFS수산자원·적조 | 국립수산과학원 | 적조패류독소해파리 | 1일·실시간 | 어장 |
| NOSCGOCI-II 위성 | 국가해양위성센터 | Chl-aSSTTSSCDOM | 1일 | 500m 격자 |
| KDCA비브리오 환자 | 질병관리청 | 환자 집계 | 월 | 시군 단위 |
| MFDS식품 회수 | 식품의약품안전처 | 회수 정보 | 수시 | 전국 |
격자·공간 (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개 격자는 대시보드에서 확인 | |||
모델 (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 → 최종 위험 점수.
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
불확실성 (Conformal PI)
Distribution-free 90% 신뢰구간
예측 점수 하나만으로는 의사결정에 부족합니다. Halia는 **Conformal Prediction Interval (CP)** 로 90% 신뢰구간 (P10~P90) 을 함께 제시합니다. CP는 분포 가정이 없으며 (distribution-free), 적절한 calibration set 만 있으면 실 운영 환경에서의 coverage 보장이 이론적으로 성립합니다.
변형
Split-Conformal
Coverage 목표
90%
Coverage 관측
검증중
설명가능성 (SHAP)
TreeSHAP · 변수별 기여도
각 예측의 변수 기여도는 **TreeSHAP** 으로 계산해 워터폴 차트로 보여줍니다. 위험 점수가 왜 올랐는지 (혹은 내렸는지) 변수 단위로 즉시 해석 가능합니다.
| 순위 | 변수 | SHAP 기여 (예시) |
|---|---|---|
| 1 | 수온 (KHOA) | +12.5 |
| 2 | 엽록소 (NOSC GOCI-II) | +8.3 |
| 3 | DO (KOEM) | −5.2 |
| 4 | 강수 (KMA) | +4.7 |
| 5 | 조위 (KHOA) | +3.1 |
검증 (Evaluation)
시계열 cross-validation · hold-out test
검증은 시계열 cross-validation (rolling-origin)으로 수행했습니다. 다음 메트릭은 hold-out test split 기준입니다.
PR-AUC
정밀-재현율 곡선 면적 (spatiotemporal)
Brier Score
예측 확률 평방 오차
ECE
Expected Calibration Error
예측 확률 빈 (0~1) 별 실제 관측 빈도. 점선은 완벽히 calibration된 이상선 (y=x). Halia 곡선이 이상선에 가까울수록 신뢰 가능합니다.
한계 (Limitations)
우리가 아는 모르는 것들
KDCA 비브리오 환자 통계는 월 단위로 공개됩니다. 일별 위험 모델에 직접 사용하기 어렵고, 임시로 월간 ratio + 환경 변수 결합으로 보정 중입니다.
이상기후·태풍·적조 폭발 등 학습 데이터에 없는 사건은 모델이 잘 못 맞춥니다. Conformal PI 가 넓어지는 것으로 신호를 주지만, 절대값은 신뢰성이 떨어집니다.
해양수산부 1:25,000 연안정보도는 충분히 정밀하지만, 시간에 따른 갯벌 변화 (퇴적·침식)는 반영되지 않습니다.
현재 ETL은 일별 cron 기준입니다. 실시간 alert 가 필요한 시나리오 (해상 사고 등) 는 향후 KMA · KHOA push 연동으로 확장 예정입니다.
참고 문헌 (References)
- [1]Vaswani et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762Transformer 기반 (ST-Transformer 변형)
- [2]Breiman, L. (2001). Random Forests. Machine Learning, 45(1).Random Forest 회귀
- [3]Vovk, V., Gammerman, A., Shafer, G. (2005). Algorithmic Learning in a Random World. Springer.Conformal Prediction 이론
- [4]Lundberg & Lee (2017). A Unified Approach to Interpreting Model Predictions. NeurIPS. arXiv:1705.07874SHAP
- [5]국립해양조사원 (2024). 1/25,000 연안정보도 (갯벌). 해양수산부 연안포털.갯벌 polygon
- [6]질병관리청 (2023). 법정감염병 보고서 — 비브리오 패혈증·장염 비브리오. KDCA.환자 통계