🧱 데이터에서 분단위 혈압 곡선까지
📑 1. 데이터 현황2. 정제3. 분할4. 분단위 보간4·검증. 보간 효과5. 120명 전부6. 다음 — 추정·예측의 타깃
PART 1. 모든 분석의 토대. 띄엄띄엄 측정된 혈압을 입수 → 정제 → 분할 → 분단위 보간해, 모형이 학습할 깨끗한 분단위 혈압 곡선을 만든다. 핵심은 누수 차단 — 보간함수와 모형은 학습 구간에서만 만들고, 성과는 끝까지 실측에서만 잰다.
120명에게서 7일간 하루 약 5세션(2회씩), 총 8,195 측정. 각 측정엔 참조 SBP·DBP·맥박과 워치 24종(심박·심박변이·혈중산소·호흡·활동·걸음·수면·손목온도 등)이 함께 기록된다.

데이터 현황 + 정제 + 분할 구조. 사람당 중앙 7일·70측정, 워치 대부분 100% 커버리지(손목온도 50%·보행안정성 76% 등 일부 낮음). BP 분포 SBP 113±14 / DBP 75±9.
두 가지를 정리한다. ① 명백한 이상점(생존 불가값 SBP=12·DBP=17) 2건만 제거 — 저혈압 가능값(SBP=68 등)은 유지한다. ② 1분 간격 2회 측정을 세션평균(시각=마지막)으로 묶는다.
왜 세션평균인가. 같은 사람을 1분 간격으로 두 번 재도 값이 다르다 — 혈압계도 체중계처럼 잴 때마다 흔들린다(per-reading SD ≈ 4.8 mmHg). 2회 평균이 이 측정 잡음을 줄인다: 8,193 측정 → 4,169 세션, 개인 내 SBP SD 7.97 → 7.26.

측정 잡음의 해부. 1분 쌍의 차이로 per-reading SD≈4.8(SBP)을 추정. 세션평균이 이를 줄이고, 이후 보간은 이 정제된 세션값을 앵커로 삼는다.
두 축으로 나눈다. 날짜: day1=튜닝(초기 BP 보정), day2~7=추정 대상 — 예측구간을 따로 두지 않고 전부 추정에 활용한다. 사람: 60:20:20 train:valid:test(72:24:24명).
| 역할 | 구간 | 쓰임 |
| 튜닝(보정) | day 1 | 새 사람의 초기 BP 보정(개인 앵커) — 학습·평가엔 안 씀 |
| 추정 대상 | day 2–7 | 모형 적합 + 성과 측정 (사람 60:20:20, 실측점에서만) |
누수 차단 규칙(핵심). 보간함수·모형은 train 사람에서만 적합하고, val·test엔 적용만 한다. 모형 입력은 설문·워치·구조적 추정 E0(수준+위상)만 쓰며 — 실측 과거 BP도, 과거 BP추정변수(과거일 평균·동시각 추정 등)도 쓰지 않는다(day1은 E0 보정에만). 성과는 끝까지 실측 BP에서만 잰다(MAE + BHS).
하루 5세션을 분단위(1,440분) 곡선으로 채운다. 방식은 하이브리드 시계열 — 실측 분은 실측 그대로, 사이는 두 커널로 채운다:
- 실측이 있는 분은 그대로 실측값(곡선이 측정점을 정확히 통과).
- 사이의 분은 그 사람의 같은 날 실측 세션을 두 가중으로 섞어 채운다 — 최근성 exp(−|Δt|/τ) × 시간대(위상) exp(−circ²/2ℓ²). 여기서 circ은 24시간을 원으로 본 시간대 거리(자정↔자정=0, 정오와 자정=최대).
- 앵커 신뢰 α = W/(W+κ) — 가까운 실측점이 많을수록 α≈1(자기 점을 따라감), 없으면 군집(연령×성별) 일주기로 보완.
E(t) = α · [ Σ w(t,t′)·BP(t′) / Σ w(t,t′) ] + (1−α) · C군집(φ)
w(t,t′) = exp(−|Δt|/τ) · exp(−circ(φ,φ′)² / 2ℓ²) ← 역시간 × 위상 (합성커널)
α = Σw / (Σw + κ) ← 가까운 실측점 많으면 α→1(자기 점), 적으면 집단 일주기 C로
보간 파라미터. 위상폭 ℓ=90분(좁음) · 신뢰 κ=0.5(작음) — 실측점에 밀착하도록 튜닝. 군집 일주기(4개 연령×성별)는 train 사람에서만 추정하므로 누수 없음.
방법론 상세 — 커널을 어떻게 고르고 검증했나 (masked-recovery)
보간 커널은 임의로 정하지 않았다. 마스킹 복원(masked recovery)으로 골랐다 — 실측 BP 점을 하나씩 가리고(mask), 나머지 실측점만으로 그 값을 되살려 |복원 − 실제|를 재는 leave-one-out(LOO) 방식이다. 이 잣대로 아래를 격자 비교했다:
- 가중 규칙 4종: 단순평균 · 역시간(recency, exp(−|Δt|/τ)) · 위상(시간대, exp(−circ²/2ℓ²)) · 합성(= 역시간 × 위상).
- 추정 수준 3종: 개인별 · 군집별(연령×성별) · 전역.
결론(masked-recovery). 합성 커널(역시간 × 위상) × 전역 조합이 최선이었다. 다만 어떤 조합도 개인평균이라는 천장을 크게 넘지 못했고(최선끼리 차이 ≈0.3 mmHg), 동시시점의 SBP·DBP가 함께 가려지므로 두 채널을 결합해도 그 천장을 넘지 못했다 — 보간 정확도의 하한이 개인 수준에 있음을 보인다.
핵심 — 이 합성커널이 PART 2로 이어진다. 여기서 검증된 역시간 × 위상 합성커널이 추정(PART 2)에서 그대로 재사용된다: ① 개인 위상 추정(day1 보정점을 ℓ=196·τ=1440으로 가중)과 ② 워치 피처 가공(kw_ = 위상×역시간 가중). 즉 보간의 방법론이 추정의 뼈대가 된다(보간은 자기 실측점, 추정은 day1+집단으로 대상만 바뀜).

샘플 test 환자의 7일 분단위 보간 곡선 + 실측 세션(검정). 곡선이 모든 실측점을 통과하고 사이를 일주기 모양으로 채운다. 주황=day1 보정, 초록·빨강=추정 대상(day2~7). 실측 분에서 \|보간−실측\|=0.
✅ 보간 vs 추정 — 위상이 기대는 데이터가 다르다. 보간은
그날 자기 실측점을 좁은 커널(ℓ=90)로 연결하니
실제 그날 리듬을 재현한다(실측 분 오차 0). 반면
추정(PART 2)은 그날 측정이 하나도 없어
day1 보정 + 집단 평균 일주기로 형태를
차용한다(넓은 ℓ=196·약신뢰 κ=5, 먼 날은 집단 평균). 그래서 그날 특유의 급변을 못 잡아
순간(세션) 정확도에 한계가 생긴다 — 자세한 대비는
PART 2.
결과. 1,236,960행(120명 × 7일 × 1,440분)의 분단위 하이브리드 타깃. 실측 보존 + 사이 매끈. 이것이 PART 2 추정 모형의 학습 타깃이다(평가는 실측점에서만).
4·검증
보간 효과 — 했을 때 vs 안 했을 때 (구체 성과)
"보간이 실제로 도움이 되었나?"를 두 방식으로 구체적으로 검증했다. ① 보간 자체의 정확도 — 관측된 세션점 하나를 가리고 그 사람의 나머지 점으로 복원(masked-recovery, 전점 LOO 4,169점). ② 추정 모형에 준 기여 — E0에서 보간요소(위상·커널회수)를 단계적으로 제거.
① 보간 자체 — masked-recovery (관측점 복원 MAE)
| 가중 규칙 | 복원 SBP MAE | 복원 DBP MAE |
| 개인평균 — 보간 X | 5.86 (B, ≤5 53%) | 4.57 (A, ≤5 64%) |
| 역시간 가중 | 5.75 | 4.46 |
| 위상 가중 | 5.69 | 4.53 |
| 합성커널(역시간×위상) — 보간 O | 5.61 (B, ≤5 54%) | 4.49 (A, ≤5 65%) |
규칙을 더할수록 사다리처럼 단조 개선 — 개인평균 5.86 → 합성커널 5.61. SBP는 −0.25 mmHg, p=4×10−6(paired Wilcoxon)로 통계적으로 유의. DBP는 4.57→4.49(−0.08, p=0.07).

보간(합성커널) 했을 때 vs 안 했을 때. ① 관측점 복원(좌): 개인평균→합성커널 SBP −0.25(p=4e−06). ② 추정 기여(우): 수준만→합성커널 세션 SBP E0 −0.11(p=0.025)·+워치 −0.11(p=0.004). within-person 변동이 작아 개인평균 baseline이 이미 강함 → 개선폭은 작지만 방향 일관·유의.
② 추정 모형 기여 — 세션 SBP (test 24명·697세션)
| E0 구성 | E0만 세션SBP | +워치 세션SBP | 일평균 SBP |
| 수준만 — 보간 X | 6.00 B | 5.89 B | 2.43 A |
| + 군집 위상 | 5.88 B | 5.77 B | 2.40 A |
| 합성커널 — 보간 O | 5.89 B | 5.77 B | 2.40 A |
보간요소를 넣으면 세션 SBP가 6.00 → 5.77(+워치), −0.11 mmHg, p=0.004로 유의하게 준다. 개선의 대부분은 군집 위상(일주기)에서 오고, 개인 커널회수(dc)는 그 위에 거의 더하지 않는다. DBP(4.86→4.83)·일평균(2.43→2.40, 모두 A)은 개선폭이 미미.
정직한 해석. 보간(합성커널)은 SBP에서 방향이 일관되고 통계적으로 유의하게 개선하나(복원 −0.25 / 추정 −0.11), 절대 개선폭은 작다. within-person BP 변동이 작아 개인평균 baseline이 이미 강하기(천장 효과) 때문이다. 보간의 본질적 가치는 세션점 오차를 크게 줄이는 데 있지 않고, 관측 안 된 시각의 BP를 채워 분단위 곡선을 만드는 것 자체 — 그리고 그 곡선이 PART 2 추정의 학습 타깃이 된다.
전 대상자의 분단위 보간 곡선. 곡선(보간)이 점(실측)을 지나며, 각 사람의 하루 리듬을 복원한다.

120명 분당 하이브리드 보간 — SBP. 패널 제목=ID·split(tr/va/te). 주황 day1 보정 / 초록·빨강 추정 대상(day2~7).

120명 분당 하이브리드 보간 — DBP.
PART 1이 만든 것 — 정제된 4,169 세션, 누수 없는 분할, 그리고 분단위 하이브리드 보간 타깃. 이 토대 위에서:
- PART 2 · 추정 (Nowcasting) — 설문 군집 프로파일 + day1 보정으로 수준+위상=E0를 만들고, 워치로 편차를 줄여 분단위 BP를 추정(days2~7 전부). 보러 가기 →
120명 × 7일 · 정제(이상점 2건·세션평균) · 분할(day1 보정 / day2~7 추정 60:20:20, 예측구간 미분리) · 분단위 하이브리드 보간(실측 보존+군집 일주기, 보간함수 train만) · 평가는 실측점에서만 · 전체 설계는 연구 계획.