바이오해킹의 대부분은 측정이 없다. 뭔가를 먹고, 며칠 뒤 “좋아진 것 같다”고 느끼고, 계속 먹는다. 그 느낌은 거의 항상 진짜가 아니다. 거짓말이 아니라, 느낌이 생기는 구조가 효과와 무관하게 느낌을 만들기 때문이다. 그 구조가 넷이고, 넷 다 식으로 적힌다. 식을 알면 거를 수 있다.

평균으로의 회귀 — 왜 뭘 해도 좋아지나

사람은 상태가 나쁠 때 뭔가를 시작한다. 잠이 안 올 때 영양제를 먹고, 피곤할 때 운동을 시작한다. 그리고 나쁜 상태는 그냥 둬도 평균으로 돌아온다.

어제 상태를 표준편차 단위로 z1z_1이라 하고, 어제와 오늘의 상관을 rr이라 하면 오늘의 기대값은

E[z2∣z1]=r z1\mathbb{E}[z_2 \mid z_1] = r\, z_1

rr은 1보다 작으니까 오늘은 어제보다 평균에 가깝다. 어제가 −2-2(아주 나쁨)였고 r=0.4r = 0.4면 오늘 기대값은 −0.8-0.8이다. 아무것도 안 했는데 1.21.2만큼 좋아진다. 그 날 영양제를 시작했으면 그 1.21.2가 영양제 덕으로 보인다.

저절로 좋아지는 양=(1−r) ∣z1∣\text{저절로 좋아지는 양} = (1 - r)\,|z_1|

나쁠 때 시작할수록(∣z1∣|z_1| 큼), 몸 상태가 날마다 덜 이어질수록(rr 작음) 가짜 효과가 커진다. 이게 “뭘 해도 효과가 있어 보이는” 첫째 이유다. 거르는 법은 하나 — 나쁠 때 시작하지 말고, 미리 정한 날에 시작한다.

신호와 잡음 — 며칠 재야 하나

개입이 실제로 δ\delta만큼 바꾼다고 하자. 그런데 몸은 아무것도 안 해도 날마다 σ\sigma만큼 흔들린다. 수면이면 σ\sigma가 한 시간쯤 된다.

개입 전 nn일, 개입 후 nn일을 재서 평균을 비교하면, 두 평균의 차이는 표준오차 σ2/n\sigma\sqrt{2/n}만큼 흔들린다. 차이가 그 두 배는 돼야 우연이 아니라고 볼 수 있으니

δ>2σ2n⟺n>8σ2δ2\delta > 2\sigma\sqrt{\frac{2}{n}} \quad\Longleftrightarrow\quad n > \frac{8\sigma^2}{\delta^2}
효과/잡음 비율에 따라 필요한 일수0.40.60.811.21.41.61.8201020304050607080

가로축이 δ/σ\delta/\sigma다. 효과가 잡음만 하면(δ=σ\delta = \sigma) 양쪽 8일씩이면 된다. 효과가 잡음의 반이면(δ=0.5σ\delta = 0.5\sigma) 32일씩이다. 효과가 잡음의 삼분의 일이면 72일씩.

수면으로 치면 — 날마다 한 시간씩 흔들리는데 영양제가 30분을 바꾼다면, 끄고 32일, 켜고 32일은 재야 안다. 사흘 먹고 “좋아진 것 같다”는 n=3n = 3이고, 식에 넣으면 δ>1.6σ\delta > 1.6\sigma — 잡음보다 1.6배 큰 효과만 보인다. 그런 효과는 영양제엔 없다. 그러니까 사흘 뒤의 느낌은 거의 전부 잡음이거나 회귀다.

ABAB — 순서가 증거다

한 번 켜서 좋아졌다는 건 우연과 구분이 안 된다. 그 주에 다른 일이 있었을 수 있다. 켜고 끄고 켜고 끄기를 반복해서, 켤 때마다 좋아지고 끌 때마다 나빠지면 그제야 우연이 아니다.

전환이 kk번 있고 매번 예측한 방향으로 움직였다면, 우연히 그럴 확률은

P=(12)kP = \left(\tfrac{1}{2}\right)^{k}

켜기 한 번은 k=1k = 1, 확률 1/21/2. 동전 던지기다. ABAB는 전환 셋이라 1/81/8. ABABAB는 1/321/32. 여섯 번 뒤집어서 여섯 번 다 맞으면 그건 효과다.

조건이 하나 있다. 끌 때 진짜로 꺼져야 한다. 그게 다음 절이다.

세척 — 끈 뒤에도 남아 있는 것

먹는 걸 끊어도 몸에선 바로 안 빠진다. 반감기 T½T_{½}마다 절반씩 줄어든다.

C(t)=C0(12)t/T½C(t) = C_0 \left(\tfrac{1}{2}\right)^{t / T_{½}}
카페인 — 반감기 5시간0510152000.10.20.30.40.50.60.70.80.91

카페인 반감기는 대략 5시간이다(사람에 따라 2시간에서 10시간까지 벌어진다). 오후 2시 커피는 밤 12시에 25%가 남아 있다. “저녁엔 안 마시니까 괜찮다”는 식을 안 본 말이다.

세척은 5 T½5\,T_{½}를 잡는다. 그때 남은 양이 (1/2)5=3%(1/2)^5 = 3\%다. 카페인이면 하루, 반감기 긴 약이면 몇 주. ABAB에서 끄는 구간이 세척 기간보다 짧으면 끈 게 아니라 줄인 것이고, 그러면 켤 때와 끌 때의 차이가 작게 나와서 효과를 놓친다.

눈가림이 안 될 때

자기 실험은 눈가림이 안 된다. 내가 뭘 먹었는지 내가 안다. 그래서 기대가 결과를 만든다 — 플라시보.

거르는 방법은 지표를 바꾸는 것이다. “기분이 어떤가”는 기대가 그대로 들어간다. “몇 시에 깼나”, “안정 시 심박이 몇인가”, “체중이 몇인가”는 기대가 못 건드린다. 측정기가 사람보다 믿을 만한 이유는 정밀해서가 아니라 기대가 없어서다.

주관 지표를 버리라는 게 아니다. 주관 지표는 가설을 만들 때 쓰고, 채택은 객관 지표로 한다.

알고리즘

1  지표를 객관적인 것으로 정한다       기상 시각 · 심박 · 체중. 기분 아님
2  시작일을 미리 정한다               나쁜 날 시작하지 않는다 → 회귀 차단
3  바탕 n일을 잰다                    n > 8σ²/δ². 모르면 14일
4  켠다. n일 잰다
5  끈다. 세척 5T½ 를 기다린다. n일 잰다
6  4~5 를 두 번 더 반복한다            ABABAB → 우연 확률 1/32
7  켠 구간 평균 − 끈 구간 평균 을 σ√(2/n) 으로 나눈다
     2 를 넘고, 전환마다 방향이 맞았으면 채택
     아니면 효과 없음. 느낌은 무시한다

3번의 σ\sigma는 바탕 기간에서 나온다. 바탕을 안 재면 σ\sigma를 모르고, σ\sigma를 모르면 며칠이 필요한지 모르고, 그러면 느낌으로 돌아간다. 바탕이 실험의 반이다.

반례

내성이 있으면 ABAB가 깨진다. 카페인은 2~3주면 효과가 줄어서, 켠 구간 뒤쪽이 앞쪽보다 낮게 나온다. 그러면 “효과 없음”으로 읽히는데 실은 “처음엔 있다가 사라짐”이다. 적응하는 개입은 구간을 짧게 잡아야 하고, 그러면 nn이 모자라서 검출이 안 된다. 이 둘은 같이 못 가져간다.

되돌릴 수 없는 개입은 n=1n = 1로 알 수 없다. 수술, 몇 달짜리 보충, 식단 전체를 바꾸는 것. 끌 수가 없으니 B가 없고, B가 없으면 회귀와 구분이 안 된다. 이런 건 남들의 집단 연구를 믿는 수밖에 없고, 자기 몸으로 확인하겠다는 건 확인이 아니라 결심이다.

이어진 개념

↑ 밖을 본다 — 느낌 대신 기상 시각을 본다
→ 구조가 선택을 강제 — 나쁜 날 시작하는 구조가 가짜 효과를 강제한다
→ 고백은 왜 늦는가 — 같은 식이 다른 곳에서: 잡음 속에서 신호를 읽는 문제