1 개요 — 세 절의 복잡도 증가
Ch.9 § 9.1~9.3 은 결정 분석의 복잡도 스펙트럼을 오른다.
| 절 | 단계 | 한 줄 요약 |
|---|---|---|
| 9.1 | 이론 | 네 단계·기대 효용·VoI 의 공식화 |
| 9.2 | 반쪽 분석 | 계층 회귀로 비용-편익 예측, 효용 함수는 결정자 몫 |
| 9.3 | 다단계 트리 | Bayes rule + 역방향 귀납 + VoI 가 실제 계산에서 충돌 |
Overview (01-9-0) 가 결론과 도구를 지도로 제시했다면, 이 포스트는 각 수식의 유도, 각 단계의 계산, 실전 수치를 보인다.
2 § 9.1 — 결정 이론의 수학적 구조
2.1 왜 결정과 불확실성은 다르게 다뤄지는가
베이즈 추론은 모든 미지 수량에 확률을 부여한다. 모수 \(\theta\), 미래 관측 \(\tilde{y}\), 결측 \(y_{\mathrm{mis}}\) — 전부. 결정 이론은 여기에 결정 \(d\) 를 추가하는데, \(d\) 는 예외: 확률을 안 준다.
- Uncertain quantity \(x\): 자연이 실현하는 값. 확률 분포 \(p(x)\) 또는 조건부 \(p(x \mid d)\) 를 가진다.
- Decision \(d\): 결정자가 선택하는 값. 확률 분포 없음.
결정 분석의 대상:
\[ p(x \mid d) \quad \text{for each candidate } d \]
\(p(d)\), \(p(x)\) 는 정의 안 됨. 모든 확률은 \(d\) 조건부.
이 구분이 결정 분석의 출발점. 왜?
2.1.1 이유 1 — 순환 회피
\(p(d)\) 를 쓰려면 “나는 \(d\) 를 어떤 확률로 선택할까” 를 정의해야 하는데, 이건 이미 결정 규칙이 있어야 알 수 있다. 결정 규칙을 찾는 것이 목표인데 결정 규칙을 가정하는 셈.
2.1.2 이유 2 — 자유 의지의 수학적 표현
결정자는 모든 \(d\) 를 선택할 수 있다. 확률을 주면 “나의 선택이 무작위” 를 가정하는 셈. Game theory 의 mixed strategy 처럼 의도적 무작위화는 예외지만, 일반적으론 \(d\) 는 자유 변수.
2.1.3 이유 3 — 조건부 구조
베이즈 추론의 사후 \(p(\theta \mid y)\) 가 관측 \(y\) 조건부이듯, 결정 분석의 모든 계산은 \(d\) 조건부. \(d\) 를 바꾸면 전체 계산 다시.
2.2 기대 효용 최대화 — 네 단계의 정밀 전개
Step 1. 결정·결과 공간 열거.
- 결정 공간 \(\mathcal{D} = \{d_1, d_2, \ldots\}\). 유한 또는 연속.
- 결과 공간 \(\mathcal{X}\). 결과 \(x \in \mathcal{X}\) 는 관측 \(\tilde{y}\) 와 모수 \(\theta\) 를 함께 포함할 수 있다.
Step 2. 조건부 분포 \(p(x \mid d)\).
사후 예측 분포의 일반화:
\[ p(x \mid d, y) = \int p(x \mid d, \theta) \, p(\theta \mid y) \, d\theta \]
\(y\) 는 이미 관측된 데이터. \(x\) 는 “결정 \(d\) 하의 미래 결과”.
Step 3. 효용 함수 \(U: \mathcal{X} \to \mathbb{R}\).
결과를 실수로 사상. 단일 차원 (수명, 이익) 또는 다차원 결합:
\[ U(x_1, x_2, \ldots) = \alpha_1 x_1 + \alpha_2 x_2 + \cdots \]
\(\alpha_k\) 는 차원 간 환율 (달러 per QALY 등). 명시적 선택 필요.
Step 4. 기대 효용 최대화.
\[ d^* = \arg\max_{d \in \mathcal{D}} \; \mathbb{E}[U(x) \mid d] = \arg\max_d \int U(x) \, p(x \mid d) \, dx \]
사후 예측 기댓값으로 적분. 시뮬레이션으로 근사 가능:
\[ \mathbb{E}[U(x) \mid d] \approx \frac{1}{S} \sum_{s=1}^S U(x^{(s)}), \quad x^{(s)} \sim p(x \mid d, y) \]
네 단계가 “추론 \(\to\) 최적화” 의 합성. 추론 부분 (Step 2) 은 베이즈, 최적화 부분 (Step 4) 은 OR/scipy.optimize.
2.3 왜 기대 효용 최대화가 “유일한 합리적” 규칙인가
von Neumann-Morgenstern (1944) 의 정리. 합리성 공리 네 개 (완비성·이행성·독립성·연속성) 를 만족하는 선호는 어떤 효용 함수 \(U\) 의 기대값 최대화로 표현된다.
공리 간단 요약:
- 완비성: 어떤 두 옵션도 비교 가능 — \(A \succ B\), \(A \prec B\), \(A \sim B\) 중 하나.
- 이행성: \(A \succ B, B \succ C \Rightarrow A \succ C\).
- 독립성: \(A \succ B \Rightarrow \alpha A + (1-\alpha) C \succ \alpha B + (1-\alpha) C\) for \(\alpha \in (0, 1]\).
- 연속성: “거의 같으면” 작은 확률 변화로 선호가 뒤집히지 않음.
이 네 공리를 받아들이면 다른 선택 규칙 (maxmin, minimax regret 등) 은 합리적일 수 없다.
공리를 위반하면 “Dutch book” 에 걸린다 — 여러 번의 선택을 통해 지속적으로 손실을 보는 상황.
예: 이행성 위반. \(A \succ B, B \succ C, C \succ A\) 면, \(A\) 소유 시 “\(B\) 로 교환 + 수수료” 수락. \(B\) 소유 시 “\(C\) 로 교환 + 수수료” 수락. \(C\) 소유 시 “\(A\) 로 교환 + 수수료” 수락. 돌고 돌아 시작점으로 돌아왔는데 수수료만 지불 — 손실.
VNM 정리가 말하는 것: 이런 함정을 피하려면 기대 효용 최대화를 따라야 한다. 기대 효용 규칙은 편의가 아니라 합리성의 논리적 귀결.
2.4 결정 트리와 역방향 귀납
다단계 결정 문제. 트리 구조:
- 결정 노드 (사각형) — 결정자가 선택.
- 확률 노드 (원형) — 자연이 실현.
- 말단 노드 (삼각형) — 효용 값.
평가는 역방향 귀납 (backward induction):
- 말단에서 효용 읽기.
- 확률 노드: 기댓값 계산.
- 결정 노드: 최대값 선택.
- 뿌리까지 반복.
수학적 재귀:
\[ V(\text{node}) = \begin{cases} U(x) & \text{leaf} \\ \sum_x p(x \mid \text{context}) V(\text{child}) & \text{chance node} \\ \max_d V(\text{child}_d) & \text{decision node} \end{cases} \]
순방향: “지금 결정할 때 나중에 어떤 정보가 들어올지” 예측해야 하는데, 그 예측은 그 정보에 대한 결정에 의존 — 순환.
역방향: 마지막 결정부터 해결. 마지막 시점에서 그 때 조건부 최적 결정의 기대 효용이 그 노드의 값. 이를 반복 — Bellman 원리.
이 패턴이 Ch.9 의 모든 다단계 문제 (bronchoscopy, radon 측정-완화) 의 계산 엔진.
2.5 Value of Information — 세 변종
2.5.1 EVPI — Expected Value of Perfect Information
“완벽한 미래 관측이 가치가 얼마인가” 의 척도.
\[ \mathrm{EVPI} = \mathbb{E}_{y_{\mathrm{new}}}[\max_d U(d, y_{\mathrm{new}})] - \max_d \mathbb{E}_{y_{\mathrm{new}}}[U(d, y_{\mathrm{new}})] \]
- 첫 항: 관측 후 결정 (각 관측값마다 최적). 기댓값 밖에 max.
- 둘째 항: 관측 없이 결정. max 밖에 기댓값.
\(\mathrm{EVPI} \ge 0\) 항상 (Jensen 부등식 역방향). 등호는 관측이 결정을 바꾸지 못할 때만.
2.5.2 EVSI — Expected Value of Sample Information
“구체적 표본 크기의 관측” 의 가치. EVPI 와 달리 유한·정확도 제한.
\[ \mathrm{EVSI}(n) = \mathbb{E}_{y_{1:n}}[\max_d \mathbb{E}[U(d, x) \mid y_{1:n}]] - \max_d \mathbb{E}[U(d, x)] \]
\(n \to \infty\) 에서 \(\mathrm{EVSI} \to \mathrm{EVPI}\).
2.5.3 EVPPI — Expected Value of Partial Perfect Information
“특정 모수 \(\theta_k\) 를 정확히 안다면” 의 가치. 다차원 모수 중 어느 것이 결정에 가장 영향을 주는가 를 진단.
\[ \mathrm{EVPPI}(\theta_k) = \mathbb{E}_{\theta_k}[\max_d \mathbb{E}[U \mid d, \theta_k]] - \max_d \mathbb{E}[U \mid d] \]
EVPPI 가 크면 \(\theta_k\) 추정 정확도에 투자할 가치 있음.
\[ 0 \le \mathrm{EVSI}(n) \le \mathrm{EVPPI}(\theta_k) \le \mathrm{EVPI} \]
순서: 부분 정보 \(\le\) 부분 완벽 정보 \(\le\) 완벽 정보.
실무 전략: EVPI 로 “관측의 이론적 상한” 확인 → EVPPI 로 “어느 모수가 결정적인가” 진단 → EVSI 로 “현실적 \(n\) 이 투자 가치 있는가” 판단.
§ 9.3 의 bronchoscopy 는 EVPI 자체가 검사 비용보다 작아 검사 무효 — 첫 단계부터 음수 판정.
2.6 Scoring Rules 와 Model Selection 의 결정 이론적 해석
Ch.9 § 9.1 의 미묘한 포인트. 사후 요약 자체가 결정 문제.
전체 사후 \(p(\theta \mid y)\) 를 보고할 수 없을 때, 무엇을 보고할 것인가? 점추정 \(\hat{\theta}\)? 구간? 분위수?
각 요약은 loss function 을 암묵 가정:
| 요약 | 최소화하는 손실 |
|---|---|
| 사후 평균 | 제곱 손실 \((\theta - \hat{\theta})^2\) |
| 사후 중앙값 | 절댓값 손실 \(\lvert\theta - \hat{\theta}\rvert\) |
| MAP 추정 | 0-1 손실 (근사) |
| 95% 구간 | 커버리지 제약 하 길이 최소화 |
전체 사후 보고는 로그 점수 최대화 — Ch.7 § 7.1 의 “local & proper 한 유일한 점수 규칙”.
2.6.1 모델 선택도 결정 문제
“모델 \(M_1\) vs \(M_2\)” 는 다음 결정 문제:
\[ d^* = \arg\max_{d \in \{M_1, M_2\}} \; \mathrm{elpd}(d) - C(d) \]
\(\mathrm{elpd}\) 는 예측 로그 우도, \(C(d)\) 는 변수 측정 비용. 추가 변수로 예측이 개선되더라도 수집 비용이 더 크면 \(M_2\) 포기.
Ch.7 의 LOO-CV·WAIC 이 첫 항 추정, Ch.9 의 결정 이론이 두 항의 균형.
3 § 9.2 — Survey Incentive 계층 회귀
3.1 문제 정의
NYC Social Indicators Survey: 격년 전화 조사, 응답률 50% 미만. 설계자 질문:
- 인센티브 제공이 정당화되는가?
- 제공 시 얼마·언제·어떻게·누구에게?
다섯 요인이 효과에 영향:
- Value (10 달러 단위).
- Timing (prepaid / postpaid).
- Form (cash / gift).
- Mode (전화 / 대면).
- Burden (고부담 / 저부담).
고부담: 1 시간 이상 + 민감 질문.
3.2 데이터 — 39 조사 101 조건 메타분석
39 조사에 매립된 실험. 각 조사는 내부적으로 여러 인센티브 조건 비교 (randomization within survey). 총 101 조건, 62 쌍 차이.
단순 차이 \(z_i = y_i - y_i^0\) 에서 시작 (62 개). 그러나 Gelman 은 더 정교한 계층 모형으로 확장 — 이유: 상호작용 (예: prepaid × value) 추정, 불균형 표본 크기 처리, 조사 간 변동 모형화.
3.3 계층 이항 회귀 — 식 (9.1)~(9.3)
세 단계 모형.
3.3.1 1단계 — 이항 우도 (식 9.1)
\(i = 1, \ldots, 101\) 조건. \(N_i\) 명 접촉, \(n_i\) 명 응답. \(y_i = n_i/N_i\), \(\pi_i\) 는 모집단 응답 확률.
\[ n_i \sim \mathrm{Bin}(N_i, \pi_i) \tag{9.1} \]
왜 이항? 응답 여부가 Bernoulli, 독립 개인 \(N_i\) 명의 합이 Binomial. 불균형 \(N_i\) 를 자동 반영.
3.3.2 2단계 — 회귀 (식 9.2)
\[ \pi_i \sim \mathrm{N}(X_i \beta + \alpha_{j(i)}, \sigma^2) \tag{9.2} \]
- \(X_i \beta\): 고정 효과 (인센티브 요인 + 상호작용).
- \(\alpha_{j(i)}\): 조사 \(j(i)\) 의 random intercept (39 조사).
- \(\sigma\): 조사 내 잔차.
응답률이 0~1 사이여야 하므로 로짓 변환이 맞지만, 실제 응답률이 0.3~0.7 범위라 선형이 근사적으로 타당. 저자는 의도적으로 선형 선택 — “계수 해석이 훨씬 쉬움” (백분율 직접).
로짓이 이론적으로 더 엄밀하지만, 응답률이 0·1 에서 멀리 있으면 (0.3~0.7) 두 모형이 거의 같은 예측을 낸다.
결정 분석에서는 계수 해석 가능성이 결정적. “\(\$10\) 가 응답률을 3~4 백분율 포인트 올린다” 가 직관적 의사소통. 로짓 계수 “\(\$10\) 가 log-odds 를 0.15 올린다” 는 비전문가에게 의미 없음.
Ch.9 의 교훈: 모형은 결정 사용자의 언어로 파라미터화. 수학적 엄밀성보다 의사소통 가능성 우선 — 근사가 충분히 정확한 구간에서.
3.3.3 3단계 — 초모수 (식 9.3)
\[ \alpha_j \sim \mathrm{N}(0, \tau^2), \quad \beta \sim \text{uniform}, \quad \sigma, \tau \sim \text{uniform} \tag{9.3} \]
조사 간 random effect 가 정규. \(\beta, \sigma, \tau\) 모두 비정보 사전. \(\tau\) 가 충분히 정확하게 추정되어 사전 민감도 낮음.
3.4 분산 분해 — \(\sigma \approx 3\%\) vs \(\tau \approx 18\%\)
적합 결과:
- \(\hat{\sigma} \approx 3{-}4\) 백분율 포인트 — 조사 내 잔차. 같은 조사에서 다른 인센티브 조건 간 예측 오차.
- \(\hat{\tau} \approx 18\) 백분율 포인트 — 조사 간 변동. 기준 응답률 차이 (Mode, Burden 로도 설명 안 되는 부분).
조사 간 차이가 조사 내 차이보다 6 배 크다. 즉 “어떤 조사인가” 가 “어떤 인센티브를 줬는가” 보다 응답률에 훨씬 영향.
함의: 메타분석에서 얻은 평균 효과를 특정 새 조사 (NYC Social Indicators) 에 적용할 때, 예측 불확실성의 대부분이 “NYC 가 어떤 조사인가” 에서 온다. Random effect \(\alpha_{\mathrm{NYC}}\) 는 데이터에 없음 → 사전 \(\mathrm{N}(0, \tau^2)\) 로 예측 → \(\pm 18\%\) 불확실성.
이것이 “인센티브 효과는 작고 예측은 넓다” 의 구조적 이유. 결정자는 점추정 + 구간 을 함께 보고 위험을 평가해야 함.
3.5 선택된 모형 — 어느 상호작용을 포함하는가
36 가능 predictor 중 저자 선택:
- Mode, Burden, Mode × Burden — 조사 수준 효과 (응답률 기준선).
- Incentive 본체.
- Incentive × (Value, Timing, Form, Mode, Burden) — 모든 2-way.
- Incentive × Value × Timing, Incentive × Value × Burden — 3-way 일부.
모형 선택 원칙: 결정에 관련된 상호작용 포함. Incentive × Burden 은 “고부담 조사에서 인센티브 효과” 를 추정 — NYC 가 저부담이므로 이 상호작용이 없으면 잘못된 외삽.
Gelman 의 발견:
- \(\$10\) 인센티브 → 응답률 3~4 백분율 포인트 증가.
- Cash > gift: 1 백분율 포인트.
- Prepaid > postpaid (per dollar): 1~2 백분율 포인트.
- High-burden 에서 인센티브 효과 5 백분율 포인트 더 큼.
3.6 비용 계산 — \(\$5\) postpaid 의 전체 계산
§ 9.2 의 구체 사례 (p.243): caregiver survey (1500 respondents), \(\$5\) postpaid.
1단계 — 응답률 증가. 회귀 모형 예측:
\[ \Delta\pi = 1.5\% \Rightarrow \pi_{\mathrm{new}} = 38.9\% + 1.5\% = 40.4\% \]
2단계 — 인센티브 비용. 응답자 1500 명, 각 \(\$5 + \$1.25\) 처리 = \(\$6.25\).
\[ C_{\mathrm{incentive}} = 1500 \times 6.25 = \$9{,}375 \]
3단계 — 필요 접촉 수 감소. 응답률이 높아졌으므로 같은 1500 응답을 얻는 데 필요한 접촉 수 감소.
- 원래: \(1500 / 0.389 = 3856\) 접촉.
- 새로: \(1500 / 0.404 = 3715\) 접촉.
차이 141 가구. 스크리닝 단계까지 전파하면 약 3377 통화 감소.
4단계 — 절약. 통화당 평균 비용 × 3377 = \(\$2{,}634\).
5단계 — 순비용.
\[ C_{\mathrm{net}} = 9375 - 2634 = \$6{,}741 \quad \Rightarrow \quad \$6741/1500 = \$4.49 \text{ per interview} \]
응답률 1.5% 증가를 얻기 위한 인터뷰당 \(\$4.49\).
순진한 계산: “\(1500 \times \$5 = \$7500\), 따라서 인터뷰당 \(\$5\)”. 틀림.
정확한 계산: 접촉 효율 증가 효과까지 포함. 응답률이 높으면 실패한 통화가 줄어든다. 실패 통화에도 인터뷰어 비용이 들어감 — 이 비용이 절약됨.
따라서 인센티브의 “진짜 비용” 은 원래 지출보다 훨씬 작다. 이게 “반쪽 결정 분석” 의 핵심 기여 — 결정자가 간과할 수 있는 2 차 효과를 명시화.
3.7 Figure 9.3 — Trade-off 곡선의 해석
두 조사 (individual, caregiver) × 두 타이밍 (prepaid, postpaid) 에 대한 trade-off.
| 조사 | Prepaid | Postpaid |
|---|---|---|
| Individual | 약간 유리 | 불리 |
| Caregiver | 불리 (대규모라 prepaid 비용 급증) | 유리 |
Individual 조사가 작으므로 prepaid 비용 부담 낮음. Caregiver 조사는 스크리닝 단계에서 많은 가구 제외 — prepaid 를 보내도 응답 안 하는 경우 많음 → postpaid 가 효율적.
운영 통일성을 위해 두 조사에 같은 타이밍 사용 → Gelman 의 권고: postpaid.
최종 결정 (금액 선택) 은 결정자에게 위임. 분석자 역할은 trade-off 곡선까지.
3.8 Loose Ends — 모델 한계
Gelman § 9.2 말미 (p.244) 의 솔직한 고백.
- 계수 불확실성 높음 — 36 가능 predictor, 62 차이만 있어 상호작용이 noisy.
- 비정보 사전 문제 — 모든 상호작용 포함하면 variance 폭발. Ridge-like weakly informative prior 가 더 맞음.
- 선형성 — 인센티브 증가에 따른 포화 미반영. 데이터 범위 밖 (\(\$20+\)) 외삽 금지.
- Random effect 확장 필요 — 인센티브 효과 자체가 조사별로 달라질 가능성.
저자가 확장 안 한 이유: “현재 지식의 한계에서 멈춤”. 결정 분석은 모델의 불완전성을 투명하게 보고하는 자세가 필수.
4 § 9.3 — Bronchoscopy 다단계 의사결정
4.1 문제 정의
95 세 남성, 폐 종양. 의사는 세 치료 선택을 고려.
| 결정 | 상태 의존 결과 |
|---|---|
| Radiotherapy | 악성 → 16.7 개월, 양성 → 34.8 개월, +1 개월 불편 감점 |
| Surgery | 35% 즉사. 생존 시: 악성 → 20.3 개월, 양성 → 34.8 개월, +1 개월 불편 감점 |
| No treatment | 악성 → 5.6 개월, 양성 → 34.8 개월 |
사전 악성 확률: \(\Pr(C) = 0.9\).
효용: QALY = 기대 수명 (개월) - 치료 시 1 개월 (불편).
4.2 단일 결정점 계산
4.2.1 Radiotherapy 기대 QALY
\[ \mathbb{E}[U \mid \text{radio}] = 0.9 \cdot 16.7 + 0.1 \cdot 34.8 - 1 = 15.03 + 3.48 - 1 = 17.51 \approx 17.5 \]
4.2.2 Surgery 기대 QALY
수술 자체 35% 사망. 생존 시 0.65 확률로 성공 결과:
\[ \mathbb{E}[U \mid \text{surgery}] = 0.35 \cdot 0 + 0.65 \cdot (0.9 \cdot 20.3 + 0.1 \cdot 34.8 - 1) = 0.65 \cdot 20.75 = 13.49 \approx 13.5 \]
4.2.3 No Treatment 기대 QALY
\[ \mathbb{E}[U \mid \text{none}] = 0.9 \cdot 5.6 + 0.1 \cdot 34.8 = 5.04 + 3.48 = 8.52 \approx 8.5 \]
최적: Radiotherapy (17.5 개월).
Surgery 가 악성 환자에게 더 좋은 결과 (20.3 vs 16.7). 그런데 왜 지는가?
35% 즉사 위험이 평균 효용을 지배. 수술 성공 시 기대 QALY \(\approx 20.75\) 인데, 0.65 를 곱해 13.49. 반면 radiotherapy 는 수술 사망 위험이 없음 — 전체에 0.9·16.7 + 0.1·34.8 곱이 적용.
일반 원리: 치료 자체의 치명 위험이 치료 효과를 상쇄할 수 있다. 고령 환자 (95 세) 에서 특히 중요 — 기대 수명이 짧아 “위험한 개입” 의 upside 가 제한적.
4.3 두 번째 결정점 — Bronchoscopy 도입
네 번째 옵션: 기관지 내시경 으로 악성 여부 확인 후 치료 결정.
검사 특성:
- 민감도 (sensitivity): \(\Pr(T=+ \mid C) = 0.70\).
- 특이도 (specificity): \(\Pr(T=- \mid \neg C) = 0.98\). 즉 \(\Pr(T=+ \mid \neg C) = 0.02\).
- 검사 사망 위험: \(0.05\).
4.4 Bayes Rule — 사후 악성 확률 갱신
\[ \Pr(C \mid T=+) = \frac{\Pr(C) \Pr(T=+ \mid C)}{\Pr(C) \Pr(T=+ \mid C) + \Pr(\neg C) \Pr(T=+ \mid \neg C)} \]
4.4.1 양성 결과
\[ \Pr(C \mid T=+) = \frac{0.9 \cdot 0.7}{0.9 \cdot 0.7 + 0.1 \cdot 0.02} = \frac{0.63}{0.632} = 0.997 \]
사전 0.9 → 사후 0.997. 거의 확실한 악성.
4.4.2 음성 결과
\[ \Pr(C \mid T=-) = \frac{0.9 \cdot 0.3}{0.9 \cdot 0.3 + 0.1 \cdot 0.98} = \frac{0.27}{0.368} = 0.734 \]
사전 0.9 → 사후 0.734. 여전히 73% 악성 의심.
사전 확률 0.9 가 매우 높다. 음성 결과가 악성을 “배제” 하려면 극도로 정확한 검사가 필요.
수식으로: 사후 확률은 사전 × likelihood ratio. 음성의 likelihood ratio = 0.3 / 0.98 \(\approx 0.31\). 사전 오즈 \(0.9/0.1 = 9\) 에 0.31 곱 = 2.8 → 확률 2.8/3.8 = 0.74.
일반 원리: 사전이 강하면 검사 정보가 사전을 크게 움직이지 못한다. 95 세 환자의 사전 0.9 는 “노인 폐 종양은 거의 악성” 의사 경험 지식. 민감도 70% 검사로는 이를 뒤집기 어려움.
이것이 BAYES의 “강한 사전 + 약한 증거 = 사전 거의 그대로” 의 실전 예.
4.5 양성·음성 후 치료별 QALY
4.5.1 양성 후 (사후 0.997)
- Radio: \(0.997 \cdot 16.7 + 0.003 \cdot 34.8 - 1 = 15.8\).
- Surgery: \(0.65 \cdot (0.997 \cdot 20.3 + 0.003 \cdot 34.8 - 1) = 12.6\).
- None: \(0.997 \cdot 5.6 + 0.003 \cdot 34.8 = 5.7\).
최적: Radio (15.8).
4.5.2 음성 후 (사후 0.734)
- Radio: \(0.734 \cdot 16.7 + 0.266 \cdot 34.8 - 1 = 20.5\).
- Surgery: \(0.65 \cdot (0.734 \cdot 20.3 + 0.266 \cdot 34.8 - 1) = 15.1\).
- None: \(0.734 \cdot 5.6 + 0.266 \cdot 34.8 = 13.4\).
최적: Radio (20.5).
4.6 결정 트리의 결론 — “검사해도 같은 치료”
두 경우 모두 Radio 가 최적. 즉 검사 결과가 치료 선택을 바꾸지 않음.
4.7 Bronchoscopy 기대 QALY
트리의 역방향 귀납.
양성 확률:
\[ \Pr(T=+) = 0.9 \cdot 0.7 + 0.1 \cdot 0.02 = 0.632 \]
음성 확률:
\[ \Pr(T=-) = 1 - 0.632 = 0.368 \]
검사 후 기대 QALY (검사 사망 0.05 반영):
\[ \begin{aligned} \mathbb{E}[U \mid \text{bronch}] &= (1 - 0.05) \cdot [\Pr(T=+) \cdot U_+^{\mathrm{opt}} + \Pr(T=-) \cdot U_-^{\mathrm{opt}}] \\ &= 0.95 \cdot [0.632 \cdot 15.8 + 0.368 \cdot 20.5] \\ &= 0.95 \cdot [9.98 + 7.54] \\ &= 0.95 \cdot 17.53 \\ &\approx 16.6 \text{ 개월} \end{aligned} \]
검사 없이 radio: 17.5. 검사 후 radio: 16.6. 검사가 0.9 개월 손해.
4.8 EVPI 분해 — 왜 검사가 “가치 없음” 인가
EVPI 를 이 문제에 적용.
완벽한 정보: 종양이 악성인지 여부 100% 확실히 안다면?
- 악성 (확률 0.9) → radio 로 16.7 - 1 = 15.7 (surgery 의 \(0.65 \cdot 19.3 = 12.5\) 보다 좋음).
- 양성 (확률 0.1) → no treatment 로 34.8 (radio 의 33.8 보다 좋음).
\[ \mathbb{E}[U \mid \text{perfect}] = 0.9 \cdot 15.7 + 0.1 \cdot 34.8 = 14.13 + 3.48 = 17.61 \]
현재 최적 결정 (radio 무검사): \(17.5\).
\[ \mathrm{EVPI} = 17.61 - 17.5 = 0.11 \text{ 개월} \]
완벽한 정보의 가치가 고작 0.11 개월. 검사 사망 위험 5% 로 잃는 기대 QALY: \(0.05 \cdot 17.5 = 0.875\) 개월.
\[ 0.11 - 0.875 = -0.76 \quad \text{(이조차 완벽 정보 가정)} \]
Bronchoscopy 는 완벽 정보도 아니고 (민감도 70%, 특이도 98%) 검사 위험 5%. 결과: 검사 VoI = 음수. 계산: \(16.6 - 17.5 = -0.9\) 개월.
EVPI 가 크려면 두 조건 필요:
- 결과에 따라 결정이 바뀌어야 함.
- 다른 결정들이 기대 효용에서 크게 차이나야 함.
이 문제에서 양성이면 radio (15.7), 음성이면 no-treatment (34.8). 조건 1 만족. 그러나 사전 확률이 매우 불균형 (0.9 vs 0.1) — 음성의 가중치가 작음 → EVPI 가 “가끔 있는 좋은 뉴스” 의 기댓값으로 작아짐.
만약 사전 악성 확률이 0.5 였다면? EVPI 가 훨씬 커져 검사가 유용. 사전이 극단적이면 검사가 덜 유용.
4.9 “검사가 유용해지려면” — 민감도 분석
Bronchoscopy 를 정당화하려면 어떤 조합이 필요한가?
- 사전 확률 완화 — \(\Pr(C)\) 가 0.5~0.7 이면 EVPI 상승.
- 검사 위험 감소 — 5% → 1% 면 검사 가치 재평가.
- 치료 간 격차 확대 — 양성 시 “no treatment” 가 “radio” 보다 훨씬 유리해지면.
- 검사 정확도 향상 — 민감도·특이도 100% 에 가까워지면.
현재 구조에서는 95 세 + 사전 0.9 조합이 검사를 무효화. 더 젊은 환자 (사전 0.5) 면 다른 결론 가능.
4.10 왜 이 예제가 “고전” 인가
§ 9.3 예제 (Cooper 1984 에서 인용) 는 의료 결정 분석의 표준 사례. 가르치는 교훈:
검사 주문 전에 “이 결과로 무엇이 바뀔까” 를 먼저 물어라.
바꾸지 않으면 검사의 비용·위험만 남는다. 과잉 진단의 수학적 뿌리가 이 VoI 분석에 있다.
현실의 의료 실무: 많은 검사가 “혹시 모르니까” 논리로 주문되는데, 베이즈 결정 분석은 “혹시” 의 확률이 작으면 검사 비용을 정당화 못 한다는 것을 정량화.
5 세 절을 관통하는 직관 모음
5.1 추론과 최적화의 분리
§ 9.1 의 네 단계는 “추론 (Step 2) + 최적화 (Step 4)” 의 합성. 베이즈가 담당하는 부분과 OR 이 담당하는 부분이 명확히 분리.
| 단계 | 책임 영역 | 도구 |
|---|---|---|
| Step 1 | 문제 정의 | 분석자 창의성 |
| Step 2 | 사후 예측 | MCMC / PyMC |
| Step 3 | 효용 설계 | 도메인 지식 + 윤리 |
| Step 4 | 최적화 | scipy / 역방향 귀납 |
§ 9.2 는 Step 1·2 에 집중, Step 3·4 는 결정자에게 위임 (“반쪽 분석”). § 9.3 은 네 단계 모두 명시.
5.2 “유의성” 과 “결정” 의 완전 분리
§ 9.2 의 가장 중요한 교훈. 빈도주의 검정이 결정에 부적합한 이유:
- 유의성 임계값 (0.05) 은 자의적, 결정과 무관.
- 0 으로 설정 은 “효과 없음” 을 가정 — 비용은 그대로인데 수치만 0.
- 사후 평균 사용이 정직 — 효과가 있든 없든, 그 불확실성을 결정에 반영.
§ 9.2 의 Form (cash/gift) 이 통계적으로 유의하지 않아도, cash 가 약간이라도 나으면 “비용이 같으니 cash 선택”. 유의성 검정은 이 결정을 막는다.
5.3 Bayes Rule 이 결정 트리 안에 들어간다
§ 9.3 의 수학적 구조. 다단계 트리에서 각 관측 노드 후:
\[ p(\theta \mid y_{\mathrm{new}}) = \frac{p(y_{\mathrm{new}} \mid \theta) p(\theta \mid y_{\mathrm{old}})}{p(y_{\mathrm{new}} \mid y_{\mathrm{old}})} \]
사전 갱신이 결정 노드 사이에 삽입. 역방향 귀납이 이를 통합.
베이즈 추론이 “고정된 사후 계산” 이 아니라 “관측이 들어올 때마다 갱신되는 동적 과정” 으로 확장된다. § 9.3 bronchoscopy 의 계산 엔진.
6 코드 — Bronchoscopy 결정 트리 완전 구현
6.1 트리 클래스 설계
from dataclasses import dataclass
from typing import Callable
@dataclass
class TreeNode:
"""결정 트리 노드."""
node_type: str # "decision", "chance", "leaf"
name: str
children: list = None
probabilities: list = None # chance 노드만
utility: float = None # leaf 만
def evaluate(node: TreeNode) -> tuple[float, str]:
"""역방향 귀납으로 트리 평가. (기대 효용, 최적 경로)."""
if node.node_type == "leaf":
return node.utility, node.name
if node.node_type == "chance":
total = 0.0
paths = []
for p, child in zip(node.probabilities, node.children):
value, path = evaluate(child)
total += p * value
paths.append(f"{p:.3f}:{path}")
return total, f"{node.name}[{','.join(paths)}]"
if node.node_type == "decision":
best_value = -float("inf")
best_path = None
for child in node.children:
value, path = evaluate(child)
if value > best_value:
best_value = value
best_path = f"{node.name}->{child.name}:{path}"
return best_value, best_path6.2 Bronchoscopy 문제 입력
# 파라미터
p_cancer = 0.9
life_nocancer = 34.8
life_radio_c = 16.7
life_surg_c = 20.3
life_none_c = 5.6
discomfort = 1
surg_mortality = 0.35
sens = 0.70
spec = 0.98
test_mortality = 0.05
def treatment_qaly(p_c, trt):
if trt == "radio":
return p_c * life_radio_c + (1 - p_c) * life_nocancer - discomfort
elif trt == "surgery":
return (1 - surg_mortality) * (p_c * life_surg_c + (1 - p_c) * life_nocancer - discomfort)
elif trt == "none":
return p_c * life_none_c + (1 - p_c) * life_nocancer
# 단일 결정점 — 검사 없이
print("=== 검사 없이 ===")
for trt in ["radio", "surgery", "none"]:
q = treatment_qaly(p_cancer, trt)
print(f" {trt}: {q:.2f}")
best_no_test = max(treatment_qaly(p_cancer, t) for t in ["radio", "surgery", "none"])
print(f" 최적: {best_no_test:.2f}")6.3 Bayes Rule 갱신 + 조건부 최적
p_pos = p_cancer * sens + (1 - p_cancer) * (1 - spec)
p_neg = 1 - p_pos
p_c_pos = p_cancer * sens / p_pos
p_c_neg = p_cancer * (1 - sens) / p_neg
print(f"\n=== Bayes 갱신 ===")
print(f"P(T=+) = {p_pos:.3f}, P(C|T=+) = {p_c_pos:.3f}")
print(f"P(T=-) = {p_neg:.3f}, P(C|T=-) = {p_c_neg:.3f}")
print("\n=== 양성 후 ===")
q_pos = {trt: treatment_qaly(p_c_pos, trt) for trt in ["radio", "surgery", "none"]}
for trt, q in q_pos.items():
print(f" {trt}: {q:.2f}")
best_pos = max(q_pos.values())
print(f" 최적: {best_pos:.2f}")
print("\n=== 음성 후 ===")
q_neg = {trt: treatment_qaly(p_c_neg, trt) for trt in ["radio", "surgery", "none"]}
for trt, q in q_neg.items():
print(f" {trt}: {q:.2f}")
best_neg = max(q_neg.values())
print(f" 최적: {best_neg:.2f}")6.4 전체 검사 옵션 기대 QALY
q_bronch = (1 - test_mortality) * (p_pos * best_pos + p_neg * best_neg)
print(f"\n=== Bronchoscopy 기대 QALY ===")
print(f" {q_bronch:.2f}")
print(f"\n=== 비교 ===")
print(f" 검사 없이 (radio): {best_no_test:.2f}")
print(f" Bronchoscopy: {q_bronch:.2f}")
print(f" VoI: {q_bronch - best_no_test:+.2f} <- 음수면 검사 금지")6.5 EVPI 계산
# 완벽 정보: 악성 여부 확실 시 최적 치료
q_given_cancer = max(
1.0 * life_radio_c + 0.0 * life_nocancer - discomfort,
(1 - surg_mortality) * (1.0 * life_surg_c + 0.0 * life_nocancer - discomfort),
1.0 * life_none_c + 0.0 * life_nocancer,
)
q_given_benign = max(
1.0 * life_nocancer - discomfort, # radio
(1 - surg_mortality) * (life_nocancer - discomfort), # surgery
1.0 * life_nocancer, # none <- 최적
)
q_perfect = p_cancer * q_given_cancer + (1 - p_cancer) * q_given_benign
evpi = q_perfect - best_no_test
print(f"\n=== EVPI ===")
print(f" 완벽 정보: {q_perfect:.2f}")
print(f" 최적 무검사: {best_no_test:.2f}")
print(f" EVPI: {evpi:.2f} <- 검사 비용 상한")6.6 민감도 분석 — 사전 확률 변동
import numpy as np
priors = np.linspace(0.3, 0.99, 20)
voi_values = []
for p in priors:
no_test = max(treatment_qaly(p, t) for t in ["radio", "surgery", "none"])
pp = p * sens + (1 - p) * (1 - spec)
pn = 1 - pp
pc_p = p * sens / pp
pc_n = p * (1 - sens) / pn
bp = max(treatment_qaly(pc_p, t) for t in ["radio", "surgery", "none"])
bn = max(treatment_qaly(pc_n, t) for t in ["radio", "surgery", "none"])
bronch = (1 - test_mortality) * (pp * bp + pn * bn)
voi_values.append(bronch - no_test)
print("\n=== 사전 확률별 VoI ===")
print("사전 | VoI (개월) | 검사 권장?")
for p, voi in zip(priors[::3], voi_values[::3]):
recommend = "O" if voi > 0 else "X"
print(f" {p:.2f} | {voi:+.3f} | {recommend}")결과: 특정 사전 확률 범위 (대략 0.4~0.7) 에서만 검사가 유용. 0.9 같은 강한 사전에선 무효.
7 실전 체크리스트
§ 9.1~9.3 의 교훈을 실무 절차로:
- 네 단계 명시 실행 — 결정·확률·효용·최적화를 암묵 가정 없이.
- 결정 \(d\) 에 확률 안 줌 — 자유 변수로 취급, 모든 확률은 \(d\) 조건부.
- VNM 합리성 점검 — 위반이 의심되면 Dutch book 시나리오 구성.
- 계층 모형 부활용 — \(\sigma\) (조사 내) vs \(\tau\) (조사 간) 분산 분해로 예측 불확실성의 원천 식별.
- “유의하지 않음” ≠ “0” — 모든 추정 계수를 사후 그대로 결정에 입력.
- 비용의 2 차 효과 포함 — § 9.2 의 접촉 효율처럼 간접 비용·절약 계산.
- Bayes rule 을 결정 트리에 삽입 — 관측 후 사후 갱신 → 조건부 최적 결정.
- EVPI 먼저 계산 — 완벽 정보가 저렴하면 실제 검사는 무효.
- 민감도 분석 — 사전·효용 환율·검사 정확도에 대한 결정 안정성 점검.
- 의사소통 가능 파라미터화 — 로짓보다 선형, 로그 비용보다 달러 (해석 가능 구간에서).
8 관련 주제
선행 지식
- Ch.9 Overview (01-9-0) — Ch.9 전체 지도
- Ch.7 § 7.1~7.4 심화 — scoring rules 와 모델 선택의 연결
- Bayesian Part II 개관 — Ch.6~9 전체 경로
Ch.9 세부 절 (후속 작성 예정)
01-9-2-*— § 9.4 home radon 완전 통합 심화01-9-3-*— § 9.5~9.7 personal vs institutional, 문헌, 연습문제 심화
후속 주제
- Ch.10 Introduction to Bayesian Computation — 다단계 트리의 수치 계산
- Ch.15 Hierarchical Linear Models — § 9.2 계층 구조의 상세
- Ch.18 Missing Data — 관찰 결정과 결측 메커니즘의 통합
관련 개념
- von Neumann & Morgenstern (1944), Theory of Games and Economic Behavior — VNM 효용 이론의 원저
- Savage (1954), The Foundations of Statistics — 주관적 기대 효용의 공리화
- Raiffa & Schlaifer (1961), Applied Statistical Decision Theory — 결정 트리와 VoI 의 원전
- Weinstein et al. (1980) — QALY 기반 의료 결정 분석
- Cooper (1984) — bronchoscopy 결정 문제의 원 사례
- Felli & Hazen (1998, 2003) — EVPI/EVPPI 의 확률적 민감도 분석 확장
- Claxton et al. (2001) — 의료 기술 평가에서의 VoI 적용
- Groves et al. (2009), Survey Methodology — 설문 인센티브 효과의 현대 리뷰