카페인의 수면 외 영향: 다각도 분석 리포트
대상: Taeho Kim (iPhone + Apple Watch 데이터) 분석 기간: 2025-12-20 ~ 2026-04-10 (112일) 데이터 소스: Apple HealthKit via Health Data Bridge CLI 분석 일자: 2026-04-10 (v2: 혈당 재분석 추가) 선행 리포트: report.md — 카페인과 수면의 관계
⚠️ UPDATE 이력
- v1 (초기): raw correlation 분석. "혈당 효과" 오판.
- v2: 혈당 결과 철회 — dawn phenomenon 교란 판명.
- v3: 활동·HRV 인과 검증 추가.
- v3.1 (현재): Granger 구현 버그 발견 및 정정. 이전 Granger 모델이 unrestricted 모델에 동시대 카페인(
cafN)을 포함시키는 잘못된 스펙으로 돌아갔음 → 엄밀한 lagged-only 재계산 결과 Activity Granger p=0.040 → 0.594, HRV Granger p=0.003 → 0.125로 변경. HRV "인과 확립" 주장을 "consistent multi-line cross-sectional 연관"으로 downgrade. 나머지 증거(dose-response, 교란 통제, 역인과 기각, 다음날 소실)는 유지.
Executive Summary (v3.1)
카페인과 수면이 독립적이라는 결론(선행 리포트)에 이어, 카페인이 수면 외 다른 건강 지표(심혈관, 대사, 활동량, 호흡 등 10개 지표)에 어떤 영향을 주는지 112일 Apple Health 데이터로 검증했다. 초기 상관 분석 후 인과 방향 검증(Cross-correlation, Granger causality, Partial correlation)을 추가로 수행.
v3.1 최종 결론 (근거 강도 순):
- 🟡 아침 카페인 ↔ HRV: 일관된 cross-sectional 연관 (약한 효과, causal direction signals) — r = -0.215, p = 0.023. Dose-response 선명(Q1 52.3ms → Q3 48.0ms), 교란 통제 후 유지(r=-0.201), 다음날 효과 소실(카페인 반감기와 일치), 역인과 기각(전날 HRV → 카페인 r=0.025). 엄밀한 Granger로는 형식 인과 증명 실패 (p=0.125, v3.1 정정). 생리학적 plausibility + 다중 증거 → "effective causal signal"로는 유효, 단 "인과 확립" 표현은 부적절.
- ⚠️ 카페인 ↔ 활동량: 동반 관계 (Granger 양방향 기각) — 동일일 상관만 유의(r=+0.224, p=0.018). Lag ±1 모두 ~0. 엄밀한 Granger p=0.594 (v3.1 정정). "루틴이 둘을 함께 만든다"는 제3의 요인 가설이 가장 일관.
- ❌
카페인 ↔ 혈당: 중간 음의 상관→ 철회 (측정 시각 교란 artifact, Section 3). - ❌ 수면: 독립 (선행 리포트).
- ❌ 걷기 속도, 호흡률, 다음날 HRV/RHR: 무관.
v3.1 실질적 함의: HRV를 최적화하고 싶다면 아침 첫 커피(특히 08:00 이전)를 줄이거나 늦추는 것이 여전히 가장 유력한 카페인 레버리지입니다 — 본 데이터의 다중 증거와 기존 RCT 문헌이 합쳐서 "effective signal"로 지지합니다. 다만 효과 크기가 작고(HRV ~2.8ms 감소, 본인 SD의 55%) 엄밀한 Granger는 실패했으므로, 의도적 자연 실험(1주일 09시 이후 지연)으로 개인 수준에서 재검증 권장. 활동량·혈당·수면은 카페인과 직접 인과가 없거나 교란의 artifact입니다.
🚨 중요: 이전 분석들의 p-value 버그 발견
본 다각도 분석을 작성하는 과정에서, 이전 hp-analysis-v2/v3/v4 및 수면 분석 스크립트에 공통으로 사용된 betaRegularized 함수에 경계값과 분기 방향이 뒤집힌 버그가 있음을 발견했다.
영향
- 상관계수 r값: 정확 (영향 없음)
- p-value: 반전되어 있음 (p와 1-p를 뒤바꾼 형태)
- 결과 해석에 대한 영향:
- 선행 리포트의 핵심 결론인 "카페인 ↔ 수면: 독립" 은 유지. 수면 관련 상관의 r값이 모두 |r| ≤ 0.22 범위의 small effect (최강: 잔류 카페인 ↔ 깨어남 r=0.21, report.md §4-1). 버그 없는 계산으로도 p≈0.03이라 양/음 방향 결론에 영향 없음.
- 다만 "p > .05이므로 유의하지 않음"으로 기각했던 일부 약한 효과들(예: 아침 카페인 → HRV r=-0.19)이 실제로는 p < .05였을 가능성이 있음.
수정 사항
/tmp/hp-caffeine-multidim.ts의 p-value 계산 로직 수정- 향후 v2/v3/v4 재분석이 필요
1. 데이터 인벤토리
| 데이터 | 커버리지 | 메모 |
|---|---|---|
| HRV (SDNN) | 112/112 days (100%) | 일 평균 |
| RHR | 112/112 days (100%) | 일 평균 |
| Daily HR 평균 | 112/112 days (100%) | 일 평균 |
| 호흡률 | 112/112 days (100%) | 수면 중 |
| Steps | 112/112 days (100%) | 일 합계 |
| 활동 칼로리 | 112/112 days (100%) | 일 합계 |
| 걷기 속도 | 86/112 days (77%) | 일 평균 |
| 혈당 | 36/112 days (32%) | 2,637건 (일 평균 73건, CGM 추정) |
| 수면 | 110/112 days (98%) | 야간 |
| VO2 Max | 47건 (희소) | 분석 제외 |
| 체중 | 10건 (희소) | 분석 제외 |
개인 기술통계
| 지표 | 평균 | SD | 중앙값 | 범위 |
|---|---|---|---|---|
| Daily HR 평균 | 91.6 bpm | ±20.6 | 97.6 | 51.2–125.9 |
| RHR | 49.6 bpm | ±2.2 | 49.5 | 45.0–57.0 |
| HRV (SDNN) | 50.0 ms | ±5.2 | 50.1 | 36.9–65.8 |
| 호흡률 | 18.5 bpm | ±0.5 | 18.4 | 17.1–20.9 |
| 걷기 속도 | 1.2 m/s | ±0.1 | 1.2 | 0.6–1.5 |
| Steps | 7,179 | ±5,497 | 6,542 | 1,017–29,095 |
| 활동 칼로리 | 735.7 kcal | ±294.9 | 788.7 | 143–1,369 |
| 혈당 평균 | 116.2 mg/dL | ±11.3 | 114.7 | 97.0–141.0 |
| 혈당 최대 | 130.8 mg/dL | ±32.0 | 118.5 | 97.0–216.0 |
2. 카페인 × 건강 지표 상관 매트릭스
6개 카페인 변수 × 10개 건강 지표 = 60개 상관 검정. p < .05 유의 9건, p < .10 유의 18건.
| 카페인 변수 | HR | RHR | HRV | 호흡률 | 걷기속도 | 걸음수 | 활동kcal | 혈당평균 | 혈당최대 | 혈당SD |
|---|---|---|---|---|---|---|---|---|---|---|
| 일일 카페인 | 0.15 | -0.16 . | -0.17 . | -0.08 | -0.01 | 0.13 | 0.22 * | -0.40 * | -0.41 * | -0.13 |
| 아침 카페인 | 0.10 | -0.18 . | -0.19 * | -0.13 | 0.13 | 0.16 . | 0.19 * | -0.27 | -0.30 . | -0.09 |
| 오후 카페인 | 0.09 | -0.00 | -0.01 | 0.04 | -0.16 | -0.02 | 0.08 | -0.26 | -0.23 | -0.09 |
| 첫 커피 시각 | -0.02 | 0.07 | 0.17 . | -0.09 | -0.06 | -0.08 | -0.02 | 0.25 | 0.29 . | 0.26 |
| 마지막 커피 시각 | 0.13 | -0.15 | 0.02 | 0.04 | 0.00 | 0.10 | 0.15 | -0.21 | -0.08 | -0.00 |
| 커피 잔수 | 0.16 . | -0.25 ** | -0.10 | -0.03 | 0.03 | 0.16 . | 0.30 ** | -0.34 * | -0.33 * | -0.17 |
** p < .01 * p < .05 . p < .10
유의미한 상관 순위 (p < .05)
| # | 카페인 변수 | 건강 지표 | r | p | N | 해석 |
|---|---|---|---|---|---|---|
| 1 | 커피 잔수 | 활동 kcal | +0.296 | 0.002 | 112 | 약한 양 |
| 2 | 커피 잔수 | RHR | -0.251 | 0.008 | 112 | 약한 음 |
| 3 | 일일 카페인 | 혈당 최대 | -0.405 | 0.014 | 36 | 중간 음 |
| 4 | 일일 카페인 | 혈당 평균 | -0.396 | 0.017 | 36 | 중간 음 |
| 5 | 일일 카페인 | 활동 kcal | +0.224 | 0.018 | 112 | 약한 양 |
| 6 | 아침 카페인 | 활동 kcal | +0.192 | 0.042 | 112 | 약한 양 |
| 7 | 아침 카페인 | HRV | -0.191 | 0.044 | 112 | 약한 음 |
| 8 | 커피 잔수 | 혈당 평균 | -0.337 | 0.045 | 36 | 중간 음 |
| 9 | 커피 잔수 | 혈당 최대 | -0.333 | 0.047 | 36 | 중간 음 |
3. 혈당 후속 분석
N=36일 raw 상관에서 r = -0.40을 발견하여 카페인의 혈당 감소 효과로 해석했으나, 6단계 후속 분석으로 이 결과를 철회.
3-1. 초기 발견 (v1 결론 — 철회됨)
36일 raw 상관:
| Quartile | 카페인 평균 | 혈당 평균 | 혈당 최대 |
|---|---|---|---|
| Q1 (저) | 116 mg | 123.7 mg/dL | 154.2 mg/dL |
| Q2 | 189 mg | 117.7 | 128.9 |
| Q3 | 232 mg | 110.5 | 119.0 |
| Q4 (고) | 285 mg | 112.8 | 121.2 |
Raw: 카페인 → 혈당 평균 r = -0.396, p = 0.017. Dose-response가 깨끗해 보였음.
3-2. Step 1 — 식이 변수 통제
탄수화물, 당류, 칼로리, 활동량 전부 통제해도 효과 유지 (r = -0.388, p = 0.031). 역인과 가설 기각 — 카페인-탄수화물 상관이 r = 0.003 (거의 0), 고카페인일 탄수화물(236g)과 저카페인일 탄수화물(236g)이 정확히 동일.
3-3. Step 2 — 데이터 소스 분리
혈당 소스를 확인한 결과 두 개가 섞여 있었음:
- Dexcom G7 CGM: 2,601건 / 10일 (연속 측정)
- Apple Health 수동 (손가락 채혈): 36건 (Ground truth)
소스 mixing이 artifact를 만들었을 가능성. 각각 재분석.
3-4. Step 3 — Dexcom CGM Time-Aligned 분석
카페인 섭취 시점과 CGM 데이터를 정렬해 각 섭취 후 2시간 혈당 반응을 봄 (n=18 이벤트):
| 분석 | r | p |
|---|---|---|
| 카페인 용량 → 2h 피크 상승 | -0.094 | 0.709 |
| 카페인 용량 → 1h 평균 변화 | +0.061 | 0.810 |
| 카페인 용량 → 2h 평균 변화 | +0.242 | 0.333 |
Dose-response 완전 부재. 저용량(36mg) 그룹 Δ 9.4 vs 고용량(127mg) 그룹 Δ 7.9 — 차이 없음. 이 단일 테스트가 "카페인이 직접 혈당을 낮춘다"는 가설을 결정적으로 기각.
3-5. Step 4 — 수동 혈당 + 식사 맥락
사용자의 손가락 채혈 측정(n=36)에 식사 타이밍을 결합:
| 변수 | 혈당과 상관 | p |
|---|---|---|
| 2h 내 탄수화물 | +0.642 | <0.001 |
| 식사 이후 시간 | -0.602 | <0.001 |
| 카페인 3h 이내 | -0.483 | 0.003 |
핵심 발견: 식사 시간과 탄수화물 섭취가 카페인보다 훨씬 강한 혈당 예측 변수. 카페인 효과는 식사 맥락 통제 시 약해짐 (r = -0.483 → -0.293).
3-6. Step 5 — 2×2 Contingency (결정적 관찰)
| 조건 | N | 평균 혈당 |
|---|---|---|
| 카페인 ○ + 공복 | 18 | 108.9 mg/dL |
| 카페인 ○ + 식후 | 0 | — |
| 카페인 × + 공복 | 11 | 116.4 mg/dL |
| 카페인 × + 식후 | 7 | 127.1 mg/dL |
사용자의 패턴: "아침 커피 마시고 공복 상태에서 측정". 카페인 있는 측정은 100% 공복 상태. 식후에 카페인 ○ 조합은 존재하지 않음 → 카페인의 순수 효과를 식사와 분리하기 어려움.
3-7. Step 6 — 측정 시각 교란 검증 (결정적 증거)
공복 측정만 남긴 28건을 측정 시각으로 재분석:
| 카페인 있음 (n=18) | 카페인 없음 (n=10) | |
|---|---|---|
| 평균 측정 시각 | 09:44 | 08:10 |
| 측정 시각 범위 | 07:30–11:48 | 07:30–08:45 |
| 평균 혈당 | 108.9 | 116.8 |
카페인 유무 ↔ 측정 시각 상관: r = 0.629 → 심각한 교란.
시간대별 혈당 (카페인 유무 무관):
| 시간대 | N | 평균 혈당 |
|---|---|---|
| 06-08 | 4 | 118.5 |
| 08-09 | 11 | 114.5 |
| 09-10 | 4 | 110.5 |
| 10-11 | 6 | 106.0 |
| 11-12 | 3 | 105.3 |
측정 시각 → 혈당: r = -0.580, p = 0.001 — dawn phenomenon resolution. 아침 시간이 늦어질수록 혈당이 자연스럽게 감소.
3-8. 결정적 부분 상관
| 분석 | r | p |
|---|---|---|
| Raw 카페인 → 혈당 | -0.492 | 0.008 ** |
| 측정 시각 통제 후 | -0.203 | 0.311 (n.s.) |
측정 시각을 통제하면 카페인 효과가 사라집니다. r 크기 59% 감소, p값은 0.008 → 0.311.
3-9. 최종 결론: 철회
| 증거 | 의미 |
|---|---|
| CGM time-aligned dose-response 없음 (r=-0.09) | 카페인 용량은 혈당을 예측하지 못함 |
| 수동 측정 시각 통제 시 효과 소실 (r=-0.20 n.s.) | 교란변수가 설명의 대부분 |
| 측정 시각 단독 r=-0.58 | dawn phenomenon resolution이 진짜 원인 |
| 사용자 패턴: 카페인 + 식후 조합 없음 | 측정 편향 패턴이 뚜렷 |
v1 "카페인 → 혈당 medium effect" 결론 철회. 관찰된 음의 상관은 측정 시각 교란의 artifact이며, 카페인은 본 데이터에서 혈당에 독립적 효과가 없음.
3-10. 그렇다면 진짜로 검증하려면?
- 같은 시각에 측정된 카페인 유/무 쌍이 필요 (현재 데이터는 시간대가 겹치지 않음)
- 또는 Dexcom CGM을 장기간(>30일) 착용 + 카페인 일기 → time-aligned 분석의 N 확장
- 또는 의도적 실험: 일주일간 같은 시각에 일관되게 측정, 카페인 있는 날과 없는 날 교차
4. 카페인 ↔ 활동량/에너지 소비
직접 상관
| 카페인 변수 | 활동 kcal | p | Steps | p |
|---|---|---|---|---|
| 커피 잔수 | +0.296 | 0.002 | +0.158 | 0.096 |
| 일일 카페인 | +0.224 | 0.018 | +0.126 | 0.186 |
| 아침 카페인 | +0.192 | 0.042 | +0.162 | 0.088 |
저카페인 vs 고카페인 그룹 비교
| 지표 | 저카페인 (n=60) | 고카페인 (n=52) | 변화 |
|---|---|---|---|
| 운동 분 | 39 min | 74 min | +90% |
| 걸음수 | 6,513 | 7,947 | +22% |
| 활동 kcal | 591 | 837 | +42% |
인과 방향 가설
- 카페인 → 활동 촉진 (에르고제닉 효과): 수많은 RCT에서 검증된 카페인의 운동 성능 향상 효과. 3-6 mg/kg 카페인은 지구력·근력·인지 수행을 유의하게 개선 (Grgic et al. 2020, Sports Medicine).
- 활동 → 카페인 섭취 증가: 활동적인 날 = 외출이 많은 날 = 카페 방문 기회 증가. 행동학적 습관.
- 컨디션 → 둘 다: 컨디션 좋은 날 활동도 많고 커피도 많이 마심.
4-1. 인과 방향 검증 — Cross-Correlation & Granger Causality
Cross-Correlation Function (카페인 → 활동 kcal)
| lag | r | p | 해석 |
|---|---|---|---|
| -3 | -0.018 | 0.853 | 3일 전 활동 → 카페인 |
| -2 | +0.066 | 0.494 | 2일 전 활동 → 카페인 |
| -1 | +0.031 | 0.744 | 전날 활동 → 카페인 |
| 0 | +0.224 | 0.018 ** | 동일일 |
| +1 | +0.001 | 0.994 | 카페인 → 다음날 활동 |
| +2 | +0.061 | 0.528 | 카페인 → 2일 후 활동 |
| +3 | +0.051 | 0.600 | 카페인 → 3일 후 활동 |
동일일(lag=0)에만 유의미한 상관이 있고, 전후 모든 lag에서 효과가 사라진다. 이는 "카페인이 활동을 선행 예측한다"는 증거가 아님.
Granger Causality (엄밀한 lagged-only 스펙)
방법론 정정 (2026-04-11): 초기 분석에서 unrestricted 모델에 동시대 카페인
cafN을 포함시켰는데, 이는 엄밀한 Granger 스펙에 어긋납니다. Granger test는 lagged predictors만 사용해야 하므로, 아래 값은 lagged-only 모델로 재계산한 결과입니다.
| 검정 | F | p | 결과 |
|---|---|---|---|
| 카페인 → 활동? | 0.52 | 0.594 | ❌ 예측 못함 |
| 활동 → 카페인? | 0.33 | 0.721 | ❌ 예측 못함 |
엄밀한 모델:
- 제한 모델:
activity(N) ~ activity(N-1, N-2), R² = 0.022 - 완전 모델:
activity(N) ~ activity(N-1, N-2) + caffeine(N-1, N-2), R² = 0.032 (+1%p)
Granger-level 증거는 양방향 모두 없음 (both p > 0.59). 이전에 p=0.040이 나왔던 것은 동시대 카페인(cafN)이 완전 모델에 포함되어 있어 "same-day instantaneous association"이 새어들어간 결과. 이건 Granger 테스트가 아니라 동시대 연관성에 대한 F-test였음.
4-2. 최종 결론: 동반 관계, Granger로 형식 인과 증명 실패
| 가설 | 판정 |
|---|---|
| 카페인 → 활동 (에르고제닉 직접 효과) | 기각 (엄밀한 Granger p=0.594, lag +1 r=0.001) |
| 활동 → 카페인 (역인과) | 기각 (Granger p=0.72, lag -1 r=0.031) |
| 제3의 요인 (루틴/기상시간) → 둘 다 | 가장 유력 (동일일 r=+0.224만 유의, lag effects 모두 ~0) |
진짜 결론: 카페인과 활동은 같은 날 동반하지만, 어느 방향으로도 시차 예측력(Granger)이 없습니다. 엄밀한 인과 증명 실패. "활동적으로 보낼 날"이라는 행동 루틴이 둘을 함께 만들어낸다는 제3의 요인 가설이 가장 일관된 설명입니다.
5. 카페인 ↔ 심혈관계
동일일 상관
| 지표 | r | p | 방향 |
|---|---|---|---|
| 카페인 → HR 일평균 | +0.150 | 0.115 | 상승 경향 |
| 카페인 → HRV | -0.171 | 0.071 | 저하 경향 (.) |
| 카페인 → RHR | -0.158 | 0.097 | 감소 경향 (.) |
| 커피 잔수 → RHR | -0.251 | 0.008 | 감소 ** |
모순적 패턴:
- RHR 감소 (심혈관 건강 ↑): 활동량 증가의 2차 효과일 가능성
- HRV 저하 (자율신경 부담 ↑): 카페인의 직접적 교감신경 활성화
다음날 Lag 분석
| 검정 | r | p |
|---|---|---|
| 카페인(N) → HRV(N+1) | +0.048 | 0.614 |
| 카페인(N) → RHR(N+1) | -0.156 | 0.103 |
카페인 효과는 당일에 그치고 다음날까지 이어지지 않는다. 회복이 빠르다는 긍정적 신호.
아침 카페인의 차등 효과
| 지표 | 아침 카페인 r | 오후 카페인 r | 차이 |
|---|---|---|---|
| HRV | -0.191 * | -0.01 | +0.18 |
| RHR | -0.18 . | -0.00 | +0.18 |
| 호흡률 | -0.13 | +0.04 | +0.17 |
| 걷기 속도 | +0.13 | -0.16 | -0.29 |
| 활동 kcal | +0.192 * | +0.08 | -0.11 |
| 혈당 최대 | -0.30 . | -0.23 | +0.07 |
아침 카페인은 심혈관계(HRV 저하)와 활동량 촉진에 영향이 크고, 오후 카페인은 전반적으로 영향이 약하다. 단 오후 카페인이 걷기 속도를 낮추는 이상한 패턴이 있음(r=-0.16, n.s.).
5-1. 아침 카페인 × HRV 심층 분석 (인과 증거 확립)
초기 다각도 분석에서 발견한 "아침 카페인 → HRV 저하" 효과의 진위를 검증하기 위해 dose-response, 교란 변수 통제, lag 분석, Granger causality 를 모두 수행.
Dose-Response (선명한 경향)
| Quartile | 아침 카페인 | N | HRV 평균 | HRV SD |
|---|---|---|---|---|
| Q1 | 113 mg | 28 | 52.3 ms | 6.1 |
| Q2 | 160 mg | 28 | 50.0 ms | 5.1 |
| Q3 | 195 mg | 28 | 48.0 ms | 4.9 |
| Q4 | 249 mg | 28 | 49.6 ms | 4.0 |
Q1(낮음) → Q4(높음) HRV 차이: -2.8 ms (본인 SD의 55%). Q3에서 최저점 찍고 약간 반등하지만 Q1이 명확히 최고.
첫 커피 시각별 HRV
| 시간대 | N | 첫 커피 | HRV |
|---|---|---|---|
| ~08:00 (이른 아침) | 31 | 07:29 | 48.8 ms |
| 08:00~09:00 | 63 | 08:26 | 50.5 ms |
| 09:00~10:00 | 16 | 09:17 | 50.1 ms |
| 10:00~11:00 | 2 | 10:26 | 51.7 ms |
일찍 마실수록 HRV가 낮아지는 깨끗한 단조 경향. 이른 아침 첫 커피가 HRV에 가장 부정적.
교란 변수 통제 (Partial Correlation)
| 통제 조건 | r | p |
|---|---|---|
| 통제 없음 (raw) | -0.215 | 0.023 ** |
| 전날 수면 통제 | -0.219 | 0.022 ** |
| 활동 kcal 통제 | -0.197 | 0.039 ** |
| 운동 시간 통제 | -0.211 | 0.027 ** |
| 전날 수면 + 활동 kcal | -0.201 | 0.036 ** |
| 전날 수면 + 활동 + 운동 | -0.201 | 0.037 ** |
교란 변수를 전부 통제해도 효과가 거의 사라지지 않음 (r: -0.215 → -0.201). 수면을 통제하면 오히려 살짝 강해짐. 이는 "피곤한 날 커피 더 마신다" 류의 역인과가 아니라는 강한 증거.
시간 방향 검증
| 검정 | r | p |
|---|---|---|
| 아침 카페인(N) → HRV(N) 동일일 | -0.215 | 0.023 ** |
| 아침 카페인(N) → HRV(N+1) 다음날 | +0.112 | 0.240 (n.s.) |
| 전날 HRV → 아침 카페인(N) | +0.025 | 0.792 (n.s.) |
효과는 당일에만 존재하고 다음날에는 사라진다 — 카페인 반감기 5~6시간과 완벽히 일치하는 약리학적 패턴. 역인과(전날 HRV가 오늘 카페인 예측) 완전 기각 (r=0.025).
Granger Causality (엄밀한 lagged-only 스펙)
방법론 정정 (2026-04-11): 초기 분석에서 unrestricted 모델에 동시대 카페인
cafN을 포함시켜 Granger 스펙에 어긋났고, 이 때 p=0.003으로 보고했습니다. 엄밀한 lagged-only Granger로 재계산한 결과는 아래와 같습니다.
| 검정 | F | p | 결과 |
|---|---|---|---|
| 아침 카페인 → HRV? | 2.12 | 0.125 | ❌ n.s. |
| HRV → 아침 카페인? | 1.76 | 0.177 | ❌ n.s. |
엄밀한 모델:
- 제한:
HRV(N) ~ HRV(N-1, N-2), R² = 0.005 - 완전:
HRV(N) ~ HRV(N-1, N-2) + morningCaf(N-1, N-2), R² = 0.044
Granger-level 형식 인과 증명 실패 (p=0.125). 이전 p=0.003은 동시대 카페인 항에서 오는 "same-day instantaneous association"이었음.
그러나 나머지 증거는 모두 유지됩니다 — Granger가 안 나왔다고 "카페인 ↔ HRV 관계가 없다"는 뜻은 아닙니다. Granger는 특정 lag 구조에서의 예측 가능성을 테스트하는데, 카페인의 HRV 효과는 초(hour) 단위로 일어나는 반면 HRV 측정은 일(day) 단위로 집계됩니다. 일 단위 lagged Granger로 포착하기에는 효과가 너무 빠릅니다.
5-2. 결론: 아침 카페인과 HRV의 일관된 cross-sectional 연관
| 증거 | 결과 |
|---|---|
| Raw 상관 유의 | ✅ r = -0.215, p = 0.023 |
| Dose-response 존재 | ✅ Q1(113mg): 52.3ms → Q3(195mg): 48.0ms (-4.3ms) |
| 첫 커피 시각별 단조 경향 | ✅ ~08시: 48.8ms → 10시~: 51.7ms |
| 교란 변수 통제 후 유지 | ✅ r = -0.201 (수면+활동+운동 통제) |
| 시간 방향 일치 (당일만) | ✅ 다음날 효과 소실 (반감기 5~6h와 일치) |
| 역인과 기각 | ✅ 전날 HRV → 카페인 r = 0.025 (n.s.) |
| ❌ 미달성. 엄밀한 Granger로는 p=0.125 (일 단위 해상도 한계) |
종합: 아침 카페인과 HRV 저하 사이에 일관된 다중 증거 cross-sectional 연관이 존재합니다. 효과 크기는 작지만(β ≈ -0.2, ~2.8ms 감소, 본인 SD의 55%), dose-response와 교란 통제를 통과했고 역인과도 기각됩니다. 다만 Granger 형식 인과 증명은 달성하지 못했습니다 — 본 리포트 v3에서는 이 효과를 "인과 확립"이라고 주장했으나, v3.1에서 "강한 상관 with consistent causal direction signals"로 downgrade합니다.
생리학적 plausibility: 아침 카페인 → 교감신경 활성화 → 심박 변이도 감소. 카페인의 잘 알려진 자율신경 효과와 일치. 이 mechanism은 수많은 RCT에서 검증됐으므로, 본 관찰 데이터의 다중 증거와 합쳐서 "effective causal signal" 정도의 confidence를 주장할 수 있습니다. 단, "인과 확립"이라는 강한 용어는 부적절.
실질적 함의 (유지):
- HRV를 최적화하려면 아침 첫 커피를 오후로 늦추거나 줄이는 것이 가장 직접적 레버리지 (관찰-RCT 증거 종합)
- 기상 직후~08:00 사이에 마시는 커피가 가장 부정적
- 효과는 당일만 지속되므로 일시적이며 누적되지 않음
- Caveat: 효과 크기가 작아서(본인 SD의 55%), 의도적 자연 실험(1주일 09시 이후 지연) 으로 개인 수준에서 재검증 권장
6. 카페인이 영향 없는 것들
| 지표 | 최강 상관 | p |
|---|---|---|
| 수면 일일 지표 (duration, eff, deep%, REM%) | 모든 |r| < 0.17 | n.s. |
| 수면 분절 (WASO, 깨어남 등) | 최강 r=0.21 (잔류 카페인 ↔ 깨어남, report.md §4-1) | small effect |
| 호흡률 | r = -0.08 | n.s. |
| 걷기 속도 (동일일) | r = -0.01 | n.s. |
| 다음날 HRV | r = +0.048 | n.s. |
| 다음날 RHR | r = -0.156 | n.s. |
| 운동 분 (직접) | r = +0.041 | n.s. |
수면 영향 없음은 이전 리포트 결론 재확인. 걷기 속도, 호흡률, 다음날 회복 지표도 무관.
7. 장기 지표 — 샘플 부족으로 분석 불가
| 지표 | 측정 수 | 평균 | 범위 |
|---|---|---|---|
| VO2 Max | 47건 | 50.3 mL/kg/min | 44.9–57.2 |
| 체중 | 10건 | 82.0 kg | 79.0–86.2 |
VO2 Max와 체중은 측정 빈도가 너무 낮아(주 1-2회) 일일 카페인과의 상관 분석이 불가능하다. 장기적 경향을 보려면 월/분기 단위 집계가 필요하다.
8. 종합 해석 (v3.1)
카페인이 실제로 영향을 주는 것 (근거 강도 순)
- 🟡 아침 카페인 ↔ HRV 저하 — 일관된 cross-sectional 연관 (effective causal signal, 엄밀한 Granger 증명은 미달성). r = -0.215, p = 0.023. Dose-response 선명(Q1 52.3ms → Q3 48.0ms), 교란 통제 후 유지(r=-0.201), 다음날 효과 소실, 역인과 기각(전날 HRV → 카페인 r=0.025).
Granger p=0.003→ v3.1 정정: 엄밀한 lagged-only Granger로는 p=0.125 (n.s.). 생리학적 plausibility + 관찰 다중 증거 + 기존 RCT 문헌 종합하여 "effective signal"로 지지 (Section 5 참조). - ⚠️ 활동량/에너지 소비 (동반 관계, Granger 양방향 기각) — 동일일 r=+0.224 (p=0.018), 하지만 lag ±1 모두 ~0.
이전 v3는 "Granger 약하게(p=0.04) 유의"→ v3.1 정정: 엄밀한 lagged-only Granger로 카페인→활동 p=0.594 (n.s.), 활동→카페인 p=0.721 (n.s.). 이전 p=0.04는 unrestricted 모델에 동시대 카페인(cafN)이 포함되어 있었기 때문. "루틴이 둘을 함께 만든다"가 가장 유력한 설명 (Section 4-2 참조). - ⚠️ RHR (weak effect, r ≈ -0.25) — 감소 방향. 활동량 증가의 2차 효과 추정, 독립 인과 불확실.
카페인이 영향을 주지 않는 것 (v3 업데이트)
- ❌ 수면 전체 (선행 리포트 재확인)
- ❌ 혈당 —
v1에서 r ≈ -0.40 medium effect로 제시했으나 철회. 6단계 심층 분석(Section 3)에서 측정 시각(dawn phenomenon resolution) 교란의 artifact로 판명. CGM time-aligned dose-response 부재(r=-0.09), 측정 시각 통제 시 r=-0.49 → -0.20으로 유의성 소실. - ❌ 다음날 회복 지표 (HRV, RHR 모두)
- ❌ 호흡률, 걷기 속도
핵심 함의
현재 카페인 패턴(일 225mg, 마지막 잔 12:37)은:
- 수면 관점: 완전히 안전 (선행 리포트)
- 혈당 관점: 측정 편향의 artifact였음. 카페인은 독립적 혈당 효과 없음
- 심혈관 관점 (HRV): 아침 카페인이 HRV를 약하게 저하 (~2.8ms, 당일만). HRV 최적화 목적이면 첫 커피를 오후로 늦추는 것이 유일한 근거 있는 레버리지
- 활동 관점: 커피 잔수와 활동량이 동반 증가하지만 인과 방향 불명. "활동적인 날 = 커피 많이 마시는 날" 루틴 패턴 가능
9. 한계
- N=112 (중간): 약한 효과(|r| < 0.15) 검출 부족
- 혈당 N=36 + 소스 혼합: Dexcom CGM 10일 + Apple Health 수동 36건. 측정 시간대가 카페인 유/무 그룹에서 겹치지 않음 → 카페인 독립 효과 검증의 구조적 한계
- 교란 변수 미통제: 식이(탄수화물, 당류), 수면(회복), 스트레스가 완전 통제되지 않음
- p-value 버그 (v1-v4 영향): 이전 분석의 p값이 반전되어 있었음. 본 리포트는 수정됨
- 활동 인과 방향 미규명: 활동량 상관은 동일일만 유의하고 lag ±1에서 0 — Granger 미지원
10. 다음 단계
즉시 가능
- HRV 자연 실험: 일주일간 첫 커피를 의도적으로 09시 이후로 늦추고 HRV 변화 관찰 — 본 리포트의 유일한 "인과 확립" 효과를 실험적으로 재검증
- 이전 분석 재실행: p-value 버그 수정본으로 v2/v3/v4 재분석 (선행 report.md의 수면 결론에 미치는 영향 재검증)
장기
- 혈당 재검증 (정확한 방법): 같은 시각에 측정한 카페인 ○/× 쌍이 필요 (현재 데이터는 시간대가 겹치지 않음). 또는 Dexcom CGM을 장기(>30일) 착용 후 time-aligned 분석 N 확장
- 활동량 인과 방향 실험: "활동 선택 루틴"이 카페인과 활동의 공통 원인인지 실험적 검증
- 식사 기록 통합: CGM 사용 시 카페인 섭취 직후 1-2시간 혈당 변화 추적
📊 데이터 시각화
아래 차트들은
research/taeho-health/sleep-caffeine/charts.mjs가 raw Health Data Bridge 데이터를 직접 읽어 SVG로 생성한 것입니다. 본문 텍스트와 다소 다른 윈도우 / aggregation 을 사용할 수 있고, 본문의 정교한 통계 (Granger / PK / mediation 등) 결과를 시각적으로 보완하는 보조 자료입니다. 자세한 재생산 절차는data/README.md참고.
카페인 × 다차원 건강지표 상관 매트릭스
caffeine-multidim §2의 60-correlation 매트릭스를 single visual로 압축. 흰색에 가까운 셀(|r|<0.1)이 압도적이고, 강한 신호가 있는 셀이 적음을 한눈에 확인할 수 있음. 이 사용자에서 카페인이 "건강 지표 전반에 부분적으로만, 약하게 연결됨"을 보여줌.
HRV × 첫 카페인 섭취 시각
첫 카페인 섭취 시각 × 평균 HRV. caffeine-multidim §5-1의 "아침 일찍 마실수록 HRV가 낮은 경향"을 시각화. 5개 시간대 bin 모두 SD 범위가 넓어 약한 단조 추세 정도지만, 실제로 가장 액션 가능한 lever — 첫 커피를 09시 이후로 미루는 단일 변수 실험으로 검증 가능.
HRV × 아침 카페인 4분위 dose-response
아침 카페인 mg 4분위 × 평균 HRV. caffeine-multidim §5-1 dose-response 표를 시각화. Q1 (저용량) 대비 Q3-Q4 (고용량) 그룹에서 HRV가 약 2-3 ms 낮은 패턴이 관찰됨 (모든 bar SD 큼).
카페인 × 걸음수 cross-correlation lag plot
카페인(D)과 걸음수(D+lag)의 lag 별 cross-correlation. lag=0에서만 약한 양의 상관이 보이고 ±1일에서는 거의 0 — 본문 §4의 "같은 날에만 동시 발생, lagged 예측력 없음" (Granger 실패) 을 시각적으로 보여줌. 공통 원인 (e.g. "바쁜 날 = 커피도 많고 활동량도 많다") 가설과 부합.
혈당 × 측정 시각 (dawn phenomenon confounder)
혈당 평균 × 측정 시각. caffeine-multidim §3-7의 "측정 시간대 confounder"를 시각화한 것입니다. 측정이 일찍 이뤄질수록 혈당이 높은 dawn phenomenon 패턴이 보이고, 이게 "카페인 ↔ 혈당 medium correlation" 결론을 무효화한 핵심 confounder임. 본문은 이 confounder를 제거한 partial correlation으로 카페인 효과가 사실상 0임을 입증함. Window: 카페인-멀티딤 분석과 동일 (2025-12-19 ~ 2026-04-10), n≈2637 개 측정.
<!-- charts:section:end -->