파일 목록으로

활동-혈당 추론 모델 TO-BE (정확도 우선)

목표

이 문서는 Apple Watch 활동/운동 데이터를 활용해 GlucoseResponseInsulinSensitivity 추론 정확도를 높이기 위한 TO-BE 설계를 정리한다. 우선순위는 정확성, 그다음 유연성/확장성이다.

정량 목표:

  1. 식후 구간(0-2h) 혈당 반응 예측 오차를 AS-IS 대비 유의하게 감소
  2. 식후 활동 실천(걷기/가벼운 운동)의 효과가 점수와 설명에 반영
  3. 데이터 결측 환경에서도 graceful fallback 유지

설계 원칙

  1. 정확도 우선: meal-linked activity 피처를 최우선 도입
  2. 설명가능성 유지: 초기 단계는 rule+ML hybrid, 디버그 라인 출력 유지
  3. 개인화 경로 확보: 사용자별 반응 편차를 캘리브레이션으로 흡수
  4. 규제 프레이밍 유지: 진단이 아닌 경향/인사이트로 제한
  5. demographic 최소 사용: age/sex/BMI는 baseline calibration 소가중치로만 사용

인구통계(age/sex/BMI) 반영 정책

정확도 개선을 위해 age/sex/BMI를 완전히 배제하지는 않되, 모델의 주효과를 결정하는 주요 축으로 쓰지 않는다. TO-BE 기준에서 demographic은 baseline shift 보정항으로 제한하고, 식후 활동 개입 효과의 방향성을 뒤집지 못하도록 가중치 상한을 둔다.

운영 원칙:

  1. demographic 항의 절대 기여도는 glucose/insulin 점수 각각 최대 ±10점 이내로 제한
  2. 데이터가 없는 경우 demographic default(중립값)로 fallback
  3. subgroup 테스트(연령/성별/BMI 조합)에서 활동 개입 방향성 유지가 release gate

TO-BE 데이터 레이어

현재 Activity 파이프라인은 daily aggregate 중심이다. TO-BE는 식사 시점 기준의 미세 활동 데이터를 추가한다.

P0 (필수):

  • 식사 후 0-30/30-60/60-120분 걷기 시간(분)
  • 식사 후 누적 active energy (kcal)
  • 식사 후 평균/최대 심박과 pre-meal 대비 delta
  • 식사 후 좌식 연속 시간(가능 시) 또는 활동 공백 시간

P1 (강화):

  • Prior exercise / GLUT4 priming features (식사 2~24h 전 운동, GLUT4 decay 함수) ✅ 구현 완료
  • Step count/cadence 구간 피처 ✅ 구현 완료 (80 steps/5min threshold for prior, 60 for post-meal)
  • Exercise minutes, stand hours(HealthKit availability 기준)
  • 운동 세션 타입(걷기/러닝/사이클)과 강도 zone

P2 (개인화/고급):

  • 개인별 식후 반응 민감도 계수(운동 반응성)
  • 시간대별 반응 보정(아침/점심/저녁)

TO-BE 피처 엔지니어링

1) Meal-linked activity features

각 식사 이벤트에 대해 아래 피처를 생성한다.

  • postMealWalkMinutes_0_30
  • postMealWalkMinutes_30_60
  • postMealWalkMinutes_60_120
  • postMealActiveKcal_0_120
  • postMealActivityGapMinutes
  • postMealHRDelta_0_120

2) Sedentary-break features

  • sittingBreakCount_0_120
  • maxSedentaryBoutMinutes_0_120

3) Interactions

  • carbLoad x postMealWalkMinutes_0_30
  • carbLoad x postMealActiveKcal_0_120
  • sleepQuality x postMealActivityGap

핵심은 "탄수화물 부하"와 "식후 활동"의 상호작용을 모델에 직접 넣는 것이다.


모델 전략

Phase 1: Rule-based 증강 (빠른 적용)

  • 기존 GlucoseInferenceService에 activity penalty/buffer 축 추가
  • 예시:
    • activityBuffer = f(postMealWalkMinutes_0_60, postMealActiveKcal_0_120)
    • stressScore = stressScore - activityBuffer
  • 장점: 배포 빠름, 디버그 용이, 리스크 낮음

Phase 2: Hybrid ML (정확도 강화)

  • predictor 주입 포인트를 사용해 meal-level supervised 모델 병행
  • 입력: 기존 피처 + meal-linked activity 피처
  • 출력: 0-100 score + calibrated confidence

Phase 3: Personalized calibration

  • 사용자별 편향 보정(rolling calibration)
  • 옵션: CGM 또는 HealthKit blood glucose가 있을 때만 개인 캘리브레이터 업데이트

연구 근거와 피처 매핑

근거핵심 메시지TO-BE 반영
DiPietro 2013 (Diabetes Care)식후 짧은 걷기 분할이 혈당 억제에 유리0-30/30-60/60-120분 window 피처
Reynolds 2016 (Diabetologia)식후 10분 걷기가 비지정 걷기보다 우수meal-timing 가중치 강화
Qian 2023 (Sports Med meta)식후 운동이 식전 운동보다 혈당 제어에 유리post-meal timing feature를 우선 사용
Buffey 2022 randomised acute study좌식 중단(standing/walking break)이 식후 혈당 개선에 기여sedentary-break 피처 추가
PREDICT 1 2020 (Nature Med)동일 식사라도 개인별 반응 편차 큼개인화 캘리브레이션 도입
Edinburgh 2023 (Diabetologia)공복 아침 운동이 인슐린 민감도 15-25% 개선, 12-24h 지속priorExerciseBuffer 피처 ✅
Van Proeyen 2010 (J Physiol)공복 트레이닝이 GLUT4 발현 증가, 당내성 보존GLUT4 priming 메커니즘 근거 ✅
Sylow 2017 (Physiol Rev)GLUT4 반감기 ~4h, 24h까지 잔류 효과GLUT4 decay 함수 (exp(-0.173×t)) 설계 근거 ✅

추가로 활용 가능한 신호

활동/운동 외에도 정확도 개선에 실질적으로 도움이 될 수 있는 신호:

  1. 식사 타이밍(아침/저녁): 동일 식사라도 시간대에 따라 반응 차이
  2. 수면 질/수면 부족: 식후 혈당 반응 변동의 교란 요인
  3. 최근 스트레스 프록시(HRV/RHR): 같은 활동량에서도 반응 차이를 설명
  4. 최근 단식 이력: 식후 반응 baseline shift 요인

TO-BE에서는 activity-only 모델이 아니라, "activity + circadian + recovery" 결합 모델로 가야 정확도가 올라간다.


평가 설계

오프라인 지표:

  • 식후 2시간 혈당 곡선 기반 MAE/RMSE (가능 시)
  • 식후 피크 오차
  • 식사 이벤트 단위 rank correlation
  • calibration error (confidence vs actual error)

온라인 제품 지표:

  • 사용자 체감 정확도(자기보고)
  • 식후 걷기 실천율 변화
  • "설명 납득도"(디버그/근거 노출 기반)

분할 원칙:

  • 사용자 누수 방지 split (user-wise + time-wise)
  • meal-level 시계열 분할(미래 데이터 누수 금지)

정확도 gate (Phase 1 rule-based 증강):

  1. 식후 활동 개입 시나리오에서 GlucoseResponse 점수가 sedentary baseline 대비 최소 10% 개선
  2. subgroup 시나리오(연령/성별/BMI 조합)에서 활동 개입 효과 방향성(개선)이 100% 유지
  3. debug report에서 activity/demographic 항이 공식과 동일하게 노출

구현 로드맵

  1. Data 확장 PR
  • HealthKit read scope 확장(steps/stand/exercise 가능 범위)
  • meal-linked activity extractor 추가
  1. Feature PR
  • FeatureEngineering.makeGlucoseFeatures 확장
  • InferenceDebugService 라인에 새 항목 노출
  1. Model PR
  • rule-based 증강 + 가중치 초기 튜닝
  • predictor 병행 경로 추가(실험 플래그)
  1. Validation PR
  • 합성 테스트 + 리플레이 테스트 + A/B 비교 지표 추가

참고 문헌


업데이트 이력

  • 2026-02-09: 초안 작성
  • 2026-02-09: age/sex/BMI 반영 정책 및 subgroup/10% gate 추가
  • 2026-02-10: Prior exercise (GLUT4 priming) 연구 3편 추가, P1 구현 완료 표시

0 / 125