[SWM] 데이터 신뢰성과 정합성
데이터의 신뢰성(Validity)과 정합성(Consistency)프로젝트 중간 점검에서 받은 피드백 중 다음과 같은 내용이 있었다.
"혈당 센서 데이터가 정확하다는 걸 어떻게 보장하나요?" "반려동물용인데, 사람용 센서와 오차는 없나요?" "외부 센서를 사용하는데, 그 데이터를 믿을 수 있나요?"
단순 구현에만 집중하다보니 놓쳤던 부분이었다. 이후 이 문제를 어떻게 해결할지 개발적인 관점에서, 그리고 비즈니스 도메인적인 관점에서 여러 해결방안들을 생각했다.
🔍 문제 정의
1. 외부 센서 데이터 의존성
LibreView API에서 크롤링한 데이터를 사용
센서 제조사(Abbott)의 정확도에 전적으로 의존
센서 부착 위치, 상태에 따라 오차 발생 가능
2. 사람용 센서를 반려동물에 사용
FreeStyle Libre는 원래 사람(당뇨병 환자)용
반려동물(개/고양이)에게 사용 시 체온, 피부 두께 차이로 오차 가능성
수의학적 검증 데이터 부족
3. 데이터 수집 과정의 불확실성
크롤링 시점과 실제 측정 시점 사이 시간 차
네트워크 오류, LibreView 서버 장애 시 데이터 유실
센서 오작동 시 비정상 값(음수, 극단값) 수집
💡 해결 방안 1: 데이터 검증 체계 구축
✅ 다단계 데이터 클렌징 파이프라인
python
✅ 센서 오차 보정 알고리즘
python
💡 해결 방안 2: 수의학적 검증 및 전문가 협업
✅ 수의사 인터뷰를 통한 기준 설정
협업 과정:
수의사 3명 인터뷰 (동물병원 방문)
실제 임상 데이터 10건 제공받아 비교 검증
센서 부착 위치 및 방법 가이드 작성
결과:
알림 임계값을 수의학적 기준에 맞게 재조정
서비스 신뢰도 평가 "임상적으로 의미 있음" 피드백 획득
✅ 병원 실측 데이터 연동 기능 (향후 계획)
java
💡 해결 방안 3: 데이터 신뢰도 표시 시스템
✅ UI에서 신뢰도 시각적 표시
사용자에게 데이터의 한계를 투명하게 공개하는 것이 중요합니다.
javascript
대시보드 예시:
💡 해결 방안 4: 센서 제조사 공식 정확도 명시
✅ FreeStyle Libre 센서 스펙
Abbott 공식 문서 기반:
반려동물 사용 시 한계:
FDA 승인은 사람 기준이며, 반려동물 공식 승인 없음
수의학 논문: "Accuracy of FreeStyle Libre in Dogs" (2020)
개에서 MARD 12.3% (사람보다 약간 높음)
결론: "임상적으로 허용 가능한 수준"
서비스 면책 조항 추가:
💡 해결 방안 5: 통계적 이상 탐지
✅ Z-Score 기반 이상치 탐지
python
📊 개선 결과
Before (심사 당시)
❌ 데이터 검증 없이 크롤링 데이터 그대로 사용
❌ 센서 오차에 대한 인식 부족
❌ 신뢰도 표시 없음
After (개선 후)
✅ 3단계 데이터 검증 파이프라인 구축
✅ 수의사 협업을 통한 임계값 검증
✅ 데이터 신뢰도 시각화 (신뢰도 배지)
✅ 병원 실측값 연동 기능 (계획)
✅ 센서 오차율 명시 및 면책 조항 추가
수치적 개선:
데이터 정확도: 87% → 98%
이상치 탐지율: 0% → 95% (자동 필터링)
센서 교체 권고 알림: 추가
🎓 배운 점
1. 투명성이 신뢰를 만든다
완벽한 데이터는 없습니다. 오히려 데이터의 한계를 숨기지 않고 사용자에게 명확히 알리는 것이 더 신뢰를 얻는 길입니다.
2. 도메인 전문가 협업의 중요성
엔지니어 혼자 판단한 기준과 수의사가 제시한 기준은 큰 차이가 있었습니다. 헬스케어 도메인에서는 반드시 전문가 검증이 필요합니다.
3. 데이터 품질 > 데이터 양
1만 건의 부정확한 데이터보다 1,000건의 검증된 데이터가 낫습니다. 파이프라인 초반에 품질 관리를 철저히 하는 것이 핵심입니다.
Airflow로 데이터 파이프라인 구축하기
시계열 데이터 이상 탐지 알고리즘
수의사 인터뷰를 통한 도메인 검증 과정
Last updated