1 들어가며 — 13-2 framework 의 정책 응용
§ 13.2 ~ 13.2.2 (13-2) 에서 3-level probit/logistic 의 수학적 framework 와 적분 분해 (식 13.9) 를 다뤘다. 본 sub-post 는 그 framework 의 정책 분석 직접 응용 — TVSFP smoking prevention study (Flay et al. 1988).
“§ 13.2.3 = TVSFP study (Flay 1988) 의 3-level probit 적용. 7th grade 학생 흡연 예방 RCT — 28 schools 에 4 conditions (CC × TV 2×2) 무작위 배정. 두 분석: (1) 표 13.7 — pre-post within students within classrooms (3-level), CC(post-pre) 0.81*** + TV 0.30*** + CC×TV -0.32* (음의 interaction). (2) 표 13.8 — post only with pre covariate, students within classrooms within schools, CC 0.63*** + TV 비유의. 3-level 의 결정적 가치: SE 정확화 → fixed-effects model 의 ‘TV significant’ 가 mixed-effects 에서 비유의. ICC: classroom 6.6% + student 25%. 분석 2 에서 school 추가 효과 작음 (LR \(\chi^2_1 = 1.82\), NS) → classroom 단위로 충분. § 13.1.1 NIMH 와 비교: 둘 다 cluster effect 작음 — 그러나 일반 권고는 항상 3-level 적합 후 검정.”
2 데이터 — TVSFP Study
2.1 임상·정책 배경
Source: Flay et al. (1988).
목적: 청소년 흡연 예방의 두 intervention 효과 평가:
- CC (Classroom Curriculum): 학교 수업 기반 social-resistance program.
- TV (Television Mass-Media): 미디어 기반 program.
Design: 2 × 2 factorial 무작위 배정 (school 단위):
| Condition | CC | TV |
|---|---|---|
| (a) | Yes | No |
| (b) | No | Yes |
| (c) | Yes | Yes |
| (d) | No | No (control) |
Sample:
- 7th grade students from 135 classrooms in 28 schools.
- 1600 students with both pre + post intervention data.
- Unbalanced: 1-13 classrooms per school, 2-28 students per classroom.
Outcome — THKS (Tobacco and Health Knowledge Scale):
- 흡연·건강 지식 평가 점수.
- Binary: pass / fail (cutoff 점수 기준).
3-level data 의 자연스러운 형태:
| Level | Unit | 변동 메커니즘 |
|---|---|---|
| 3 (cluster) | School | 학교 정책, 지역 사회, 학교 문화 |
| 2 (subject) | Classroom 또는 Student | Teacher quality, peer effects |
| 1 (observation) | Pre/post measurement | 시간 효과 |
무작위화의 단위: school (cluster) — RCT 의 randomization unit 가 cluster 일 때:
- 같은 school 의 학생들이 같은 condition 받음.
- → School clustering 무시하면 standard error 부정확.
- 식 13.9 의 적분 분해가 필수.
왜 binary outcome 인가:
- THKS 가 원래 continuous (점수) 인데 cutoff 으로 binary 화.
- 정책 결정의 단순성 (pass/fail).
- Probit 모형의 자연 적용.
§ 9.7 NIMH 이항 분석과 같은 발상 — continuous outcome 의 binary 화.
2.2 표 13.6 — Subgroup Frequencies
| CC | TV | Pass | Fail | Total | Pass % |
|---|---|---|---|---|---|
| No | No | 175 | 246 | 421 | 41.6% |
| No | Yes | 201 | 215 | 416 | 48.3% |
| Yes | No | 240 | 140 | 380 | 63.2% |
| Yes | Yes | 231 | 152 | 383 | 60.3% |
| Total | 847 | 753 | 1600 | 52.9% |
CC 의 강한 효과:
- No CC, No TV: 41.6% pass.
- Yes CC, No TV: 63.2% pass.
- → CC 단독 효과 = +21.6 percentage points.
TV 의 작은 효과:
- No CC, No TV: 41.6% pass.
- No CC, Yes TV: 48.3% pass.
- → TV 단독 효과 = +6.7 percentage points.
Interaction 의 흥미로움:
- Yes CC, No TV: 63.2% pass.
- Yes CC, Yes TV: 60.3% pass.
- → CC + TV 가 CC 단독보다 -2.9 percentage points (약간 감소).
해석 가설:
- TV 가 CC 의 효과를 enhance 하지 않음.
- 오히려 약간 distraction 또는 redundancy?
- → 음의 interaction (CC × TV).
이 패턴이 정확한 통계 분석으로 검증 — 다음 절의 표 13.7-13.8.
정책 함의 (preliminary):
- Classroom curriculum 이 가장 효과적.
- TV mass-media 단독은 약함.
- 두 intervention 결합이 비효율적 — 자원 배분 시 CC 우선.
이 결론이 통계적으로 유의한지 확인하려면 mixed-effects 모형 필요.
3 분석 1 — Pre/Post Within Students Within Classrooms
3.1 모형 구조
- Level 3: Classroom (135 classrooms).
- Level 2: Student within classroom (1600 students).
- Level 1: Pre/post measurement within student (3200 obs).
Random effects:
- Classroom random intercept (\(\sigma_{\text{class}}\)).
- Student random intercept (\(\sigma_{\text{student}}\)).
Fixed effects:
- Pre 조건 (baseline): Constant, CC(pre), TV(pre), CC×TV(pre).
- Post-pre 변화: CC(post-pre), TV(post-pre), CC×TV(post-pre).
- → 7 covariate (절편 + 6 main + interaction).
본 분석의 covariate parameterization:
- CC(pre), TV(pre), CC×TV(pre): baseline (pre) 시점에서 그룹 차이.
- RCT 가 잘 됐으면 모두 NS (randomization 정합성 검증).
- CC(post-pre), TV(post-pre), CC×TV(post-pre): post-pre 변화의 그룹 차이.
- 임상적 핵심 — intervention 의 차등 효과.
이 코딩이 RCT 의 표준:
- Baseline 차이 (NS 기대) + change effect (intervention 효과).
- 회귀 계수의 직접 임상 해석.
대안 — Time × Treatment interaction:
- 같은 결과지만 표기 다름.
- 본 분석의 (post-pre) 코딩이 더 직접 해석.
3.2 표 13.7 — 4 모형 비교
| Parameter | Fixed-Effects | 2-Level (Class) | 2-Level (Student) | 3-Level |
|---|---|---|---|---|
| Constant | -0.3116*** (.062) | -0.3377*** (.104) | -0.3778*** (.076) | -0.3916*** (.116) |
| Pre vs Post | 0.0986 (.088) | 0.1007 (.103) | 0.1198 (.098) | 0.1181 (.100) |
| CC(pre) | -0.1095 (.091) | -0.1427 (.135) | -0.1333 (.110) | -0.1608 (.151) |
| TV(pre) | -0.0776 (.089) | -0.1154 (.129) | -0.0918 (.107) | -0.1251 (.144) |
| CC×TV(pre) | -0.0026 (.129) | 0.0523 (.184) | 0.0030 (.157) | 0.0534 (.208) |
| CC(post-pre) | 0.6585*** | 0.6922*** | 0.7995*** | 0.8065* (.143)** |
| TV(post-pre) | 0.2484** | 0.2632** | 0.2997** | 0.3045* (.121)** |
| CC×TV(post-pre) | -0.2428 (.181) | -0.2691 (.184) | -0.3066 (.197) | -0.3204* (.182) |
| Class SD | 0.2872*** (.039) | 0.3103*** (.049) | ||
| Student SD | 0.6798*** (.059) | 0.6048*** (.066) | ||
| Log L | -2108.63 | -2082.12 | -2077.89 | -2061.92 |
*** p<.01, ** p<.05, * p<.10.
Pre 시점 효과 (모두 NS, 모형 무관):
- CC(pre), TV(pre), CC×TV(pre): randomization 정합성 — baseline 에서 그룹 차이 없음.
Post-pre 변화 (intervention 효과):
| 효과 | Fixed | 2-Level (Class) | 2-Level (Student) | 3-Level |
|---|---|---|---|---|
| CC(post-pre) | 0.659 | 0.692 | 0.800 | 0.807* |
| TV(post-pre) | 0.248 | 0.263 | 0.300 | 0.305* |
| CC×TV(post-pre) | -0.243 | -0.269 | -0.307 | -0.320* |
핵심 관찰:
- 추정값 (점 추정) 이 모형 따라 약간 변화:
- Fixed → 3-level: CC effect 0.659 → 0.807 (~22% 증가).
- 점진적 증가 — random effects 가 잠재 분산 추정에 영향.
- Standard errors:
- Fixed-effects: 가장 작음 (잘못된 정확도).
- 3-level: 가장 큼 (정확한 변동 반영).
- 일관된 패턴 — clustering 무시 → SE 과소.
- 유의성:
- CC(post-pre): 모든 모형에서 강하게 유의.
- TV(post-pre): 모든 모형에서 유의 (그러나 약함).
- CC×TV(post-pre): Fixed 와 2-level 에서 NS, 3-level 에서만 marginally significant (p<.10).
3-level 의 추가 정보: CC×TV interaction 의 marginally 유의성 — 표 13.6 의 -2.9 pp 효과의 통계적 표현.
저자 본문 인용:
“the 3-level model indicates an even stronger effect for the TV intervention and a result that approaches significance for the interaction.”
→ 3-level 분석이 더 정확한 정보 + 추가 발견.
3.3 LR Tests
2-level vs Fixed-Effects:
- 2-Level (Class): \(\chi^2_1 = 53.02, p < .0001\) — 강하게 유의.
- 2-Level (Student): \(\chi^2_1 = 61.48, p < .0001\) — 강하게 유의.
→ Random effects 추가가 중요.
3-level vs 2-level:
- 3-Level vs 2-Level (Class): \(\chi^2_1 = 40.40, p < .0001\).
- 3-Level vs 2-Level (Student): \(\chi^2_1 = 31.946, p < .0001\).
→ 두 random effects 모두 필요.
3-level + random subject slope vs 3-level (intercept only):
- \(\chi^2_2 = 0.06, p = ns\) — 비유의.
→ 학생 별 시간 추세의 추가 변동 없음. Student intercept 만으로 충분.
3-level 모형의 정당성:
- Classroom random effect 유의.
- Student random effect 유의.
- → 두 수준의 nested 구조 모두 의미 있음.
Random subject slope 비유의:
- 학생별 pre-post 변화 속도가 거의 같음.
- → 처치 효과가 학생 무관하게 비슷.
- 모형 단순화 (random intercept 만) 정당.
Boundary 보정:
- \(\sigma^2 = 0\) 이 boundary → Self-Liang (1987) 의 0.5 χ² + 0.5 χ² 분포.
- 본 검정 통계량이 너무 커 결론 변화 없음.
3.4 ICC 분해
식 (참조 § 13.1):
\[ \text{ICC}_{\text{class}} = \frac{0.3103^2}{0.3103^2 + 0.6048^2 + 1} = \frac{0.096}{1.462} = 0.066 \]
\[ \text{ICC}_{\text{student}} = \frac{0.6048^2}{0.3103^2 + 0.6048^2 + 1} = \frac{0.366}{1.462} = 0.250 \]
→ 6.6% classroom, 25.0% student.
Classroom ICC (6.6%):
- 같은 classroom 의 학생들 간 잠재 변수 상관.
- Teacher quality, classroom climate 등의 영향.
- Donner (1982) 의 1-12% 범위 (cluster studies) 와 일치.
Student ICC (25%):
- 같은 학생의 pre-post 측정 간 상관.
- 학생 고유 특성 (배경 지식, 학습 능력) 의 영향.
- Pre-post 디자인의 자연 상관 (같은 학생의 두 측정).
둘의 비교:
- Student ICC > Classroom ICC (25 vs 6.6%).
- → 학생 간 변동이 classroom 간 변동보다 큼.
- 정책 함의: 학생 individual targeting 이 classroom-level intervention 보다 효과적일 가능성.
§ 13.1.1 NIMH 와의 비교:
- NIMH center ICC: 1.66-4.39%.
- TVSFP classroom ICC: 6.6%.
- → TVSFP 의 classroom clustering 더 큼.
- 그러나 둘 다 일반적 cluster ICC 범위.
§ 9.7 NIMH 이항 분석 (이항) vs TVSFP (probit):
- 두 NIMH 분석은 patient ICC ~50% (정신과 환자 이질성).
- TVSFP 학생 ICC 25% — 더 작음 (학생들이 더 동질).
- 응답 형태 (continuous → binary) + sample 차이.
3.5 Predicted Probabilities
식 (참조 § 9.5.4):
\[ \widehat{P} = \Phi\left(\frac{\widehat\eta}{\sqrt{1 + \widehat\sigma_{\text{class}}^2 + \widehat\sigma_{\text{student}}^2}}\right) \]
분모의 \(\sqrt{\cdot}\) 가 marginalization vector — random effects 잠재 분산 보정.
조건별 계산 (3-level estimates):
분모 = \(\sqrt{1 + 0.3103^2 + 0.6048^2} = \sqrt{1.462} = 1.209\).
| 조건 | Pre \(\widehat\eta\) | Pre 확률 | Post \(\widehat\eta\) | Post 확률 |
|---|---|---|---|---|
| Control | -0.3916 | \(\Phi(-0.324) = 0.373\) | -0.2735 | \(\Phi(-0.226) = 0.411\) |
| CC | -0.5524 | \(\Phi(-0.457) = 0.324\) | 0.4129 | \(\Phi(0.342) = 0.634\) |
| TV | -0.5167 | \(\Phi(-0.427) = 0.335\) | -0.0941 | \(\Phi(-0.078) = 0.469\) |
| CC + TV | -0.6113 | \(\Phi(-0.506) = 0.306\) | 0.2402 | \(\Phi(0.199) = 0.579\) |
저자 보고: 0.373/0.397, 0.324/0.621, 0.335/0.469, 0.303/0.593 (반올림 차이).
Mixed-effects 모형의 marginal predicted probabilities 가 표 13.6 의 관측 비율과 거의 일치:
| 조건 | 관측 (Table 13.6) | 모형 예측 |
|---|---|---|
| Control | 41.6% | 39.7-41.1% |
| CC | 63.2% | 62.1-63.4% |
| TV | 48.3% | 46.9% |
| CC + TV | 60.3% | 57.9-59.3% |
→ 모형이 데이터 패턴 정확히 재현.
해석:
- 모형이 데이터에 적합 — 신뢰할 수 있는 추정.
- 추가적 통계적 정보 (SE, ICC) 가 데이터의 단순 비율 너머의 정보 제공.
임상 결론:
- CC: control 대비 +25 pp pass rate (39.7 → 63.4).
- TV: 단독 효과 +5 pp (39.7 → 46.9, 약함).
- CC + TV: control 대비 +20 pp (CC 단독보다 약간 적음).
→ CC 가 가장 효과적 + TV 단독 효과 약함 + interaction 음수 (combination 가 CC 단독보다 약함).
정책 권고:
- 자원 우선: CC.
- TV: 보조 역할 (단독 의미 약함).
- CC + TV combination: TV 의 추가 비용 vs CC 단독의 효과 차이 평가.
4 분석 2 — Post-Only with Pre Covariate (Students within Classrooms within Schools)
4.1 모형 구조
- Level 3: School (28 schools).
- Level 2: Classroom within school (135 classrooms).
- Level 1: Student within classroom (1600 students).
Outcome: Post-intervention THKS only (binary).
Covariate:
- Pre-intervention THKS (continuous, baseline 보정).
- CC, TV, CC × TV (intervention).
분석 1: time × student × classroom (시점이 level 1).
- Pre-post 변화를 직접 모형화.
- Student random effect 가 within-student 상관 흡수.
분석 2: student × classroom × school (학생이 level 1).
- Cross-sectional 효과 (post-only).
- Pre 가 covariate 로 baseline 보정.
- School clustering 의 영향 평가.
왜 두 분석을 모두 하는가:
- 분석 1: 시점 변화의 자세한 분석 (학생 안 변동 처리).
- 분석 2: school-level clustering 의 영향 평가.
- 두 분석이 다른 측면 — 둘 다 가치 있음.
분석 2 의 강점:
- School effect 의 정량화.
- Pre covariate 으로 baseline 차이 보정 (강한 통제).
4.2 표 13.8 — 4 모형 비교
| Parameter | Fixed | 2-Level (Class) | 2-Level (School) | 3-Level |
|---|---|---|---|---|
| Constant | -0.4209*** (.069) | -0.4412*** (.100) | -0.4394*** (.153) | -0.4410*** (.154) |
| Pre | 0.5335* (.068)** | 0.5310* (.071)** | 0.5106* (.075)** | 0.5211* (.079)** |
| CC | 0.5913* (.092)** | 0.5916* (.128)** | 0.6698* (.226)** | 0.6277* (.228)** |
| TV | 0.1931** (.089) | 0.1718 (.124) | 0.2369 (.172) | 0.2078 (.171) |
| CC × TV | -0.2596** (.128) | -0.2224 (.178) | -0.3591 (.259) | -0.2921 (.260) |
| Class SD | 0.3005*** (.059) | 0.2532*** (.086) | ||
| School SD | 0.2143*** (.071) | 0.1690** (.086) | ||
| Log L | -1050.26 | -1040.86 | -1043.96 | -1039.95 |
*** p<.01, ** p<.05, * p<.10.
Pre covariate (모두 강하게 유의, 모형 무관):
- 0.51-0.53 — 사전 지식이 사후 지식의 강한 예측 변수.
- 임상적 의미 — baseline 보정의 효과.
CC 효과 (모두 강하게 유의):
- Fixed: 0.591, 3-level: 0.628.
- 정확한 SE 가 3-level 에서 가장 큼 (0.092 → 0.228).
TV 효과:
- Fixed: 0.193 (p<.05) — 유의.
- Mixed-effects (모두): 0.17-0.24 — 비유의 (p > .10).
CC × TV interaction:
- Fixed: -0.260 (p<.05) — 유의.
- Mixed-effects: -0.22 ~ -0.36 — 비유의.
핵심 발견 — Fixed-effects vs Mixed-effects 의 정반대 결론:
- Fixed-effects: TV main + CC × TV interaction 모두 유의.
- Mixed-effects: 둘 다 비유의.
→ Cluster effect 무시 시 잘못된 유의성 결론.
저자 본문 인용:
“the fixed-effects model identified a significant main effect of TV and a CC by TV interaction, however, neither of these two effects were significant for 2-level or 3-level mixed-effects models.”
→ 정확한 분석에서는 TV 단독 효과 + interaction 모두 비유의.
4.3 LR Tests — Cluster Effect의 점진적 평가
2-level vs Fixed:
- 2-Level (Class) vs Fixed: \(\chi^2_1 = 18.80, p < .0001\) — 강하게 유의.
- 2-Level (School) vs Fixed: \(\chi^2_1 = 12.60, p < .0004\) — 유의.
3-level vs Fixed:
- 3-Level vs Fixed: \(\chi^2_2 = 20.62, p < .0001\) — 강하게 유의.
3-level vs 2-level (Class):
- \(\chi^2_1 = 1.82, p = ns\) — 비유의.
→ School effect 추가가 거의 무의미 (classroom effect 만으로 충분).
3-level vs 2-level (Class) 비교:
- 2-level (Class) 에 school 추가 → fit 큰 변화 없음 (\(\chi^2_1 = 1.82\)).
- → School clustering 효과가 classroom clustering 안에 흡수됨.
해석:
- 같은 school 의 classroom 들이 비슷한 환경 → school 효과가 classroom 분산에 nested.
- Classroom-level 변동이 충분히 큼.
- → 모형 단순화 (2-level Class) 가능.
그러나 model selection 의 신중함:
- LR 검정의 boundary 문제 (Self-Liang).
- 정확한 검정이 더 보수적 (NS 결론 더 안전).
- Design 측면 — randomization 단위가 school 이면 random school 유지 권고 (저자 본문 § 13.1.1).
ICC 비교:
- 분석 1 (Class only at level 3): ICC = 6.6%.
- 분석 2 (School at level 3): ICC = 분류별 다름.
일반 권고:
- 데이터 구조 (3 levels) 가 명확하면 3-level 적합 → cluster variance 검정.
- 작으면 단순화.
- 결론에 큰 차이 없음.
5 § 13.1.1 NIMH 와의 비교
| 항목 | § 13.1.1 NIMH (13-1) | § 13.2.3 TVSFP (본 sub-post) |
|---|---|---|
| 응답 형태 | Continuous (IMPS 1-7) | Binary (THKS pass/fail) |
| 모형 | Linear (식 13.1) | Probit (식 13.4) |
| 적분 | Closed form | Numerical (Gauss-Hermite) |
| 데이터 | 9 centers × patients × visits | 28 schools × 135 classrooms × students × pre/post |
| Cluster level 3 | Treatment center | Classroom 또는 School |
| Cluster ICC | 1.66-4.39% (NS) | Class 6.6% (유의), School 작음 |
| Subject ICC | 32-74% (시점별) | 25% (분석 1) |
| Cluster effect 결론 | 작음 — 2-level 으로 충분 | 작음 — 그러나 명확히 유의 |
| 정책 함의 | Center 별 quality 비슷 | Classroom 효과 의미, school 작음 |
공통점:
- Cluster effect 가 작은 사례 (1-7%).
- 2-level 분석으로 결론 큰 차이 없음.
- 그러나 SE 부정확 위험 존재.
차이점:
- 응답 형태 (continuous vs binary) — 다른 모형 family.
- Cluster level 의 의미 (medical center vs school).
- ICC 의 정확한 값 (NIMH 더 작음).
일반 권고:
- 항상 3-level 모형 적합 — 데이터가 nested 구조면.
- Cluster variance 검정 — LR test (boundary 보정).
- 작으면 2-level 으로 reduce — 모수 절약.
- 그러나 design 고려 — randomization 단위가 cluster 면 유지 권고.
Bayesian 우회 (현대 표준):
brms의 default prior 가 weakly informative.- 작은 cluster effect 에서 정확한 사후 분포.
- DIC, LOO 로 모형 비교.
→ 둘 다 mixed-effects 의 정확한 SE + 임상적 정보를 위해 필요.
6 응용 분야
| 분야 | 3-Level 구조 | 응답 |
|---|---|---|
| 학교 RCT (TVSFP) | School × Classroom × Student | 학생 outcome (binary/continuous) |
| Multi-center 임상시험 (NIMH) | Center × Patient × Visit | 환자 outcome |
| 회사 종업원 | Company × Department × Employee | 종업원 outcome |
| 가족 연구 | Family × Member × Outcome | 가족 member outcome |
| Hospital quality | Hospital × Ward × Patient | 환자 outcome |
| Geographic study | Region × County × Subject | 인구 통계 outcome |
→ “Three-level nested + cluster randomization” 의 모든 사례.
7 코드 예시
7.1 Step 1: TVSFP-like 데이터 시뮬레이션
library(lme4)
library(dplyr)
# TVSFP-like 3-level binary 시뮬레이션
set.seed(2026)
n_schools <- 28
n_classrooms_per_school <- sample(1:13, n_schools, replace = TRUE)
total_classrooms <- sum(n_classrooms_per_school)
# Cluster effects
school_effects <- rnorm(n_schools, 0, 0.169) # School SD ≈ Table 13.8
class_effects <- list()
class_id <- 0
for (s in 1:n_schools) {
class_effects[[s]] <- rnorm(n_classrooms_per_school[s], 0, 0.253)
}
# 4 conditions 무작위 배정 (school 단위)
conditions <- sample(rep(1:4, length.out = n_schools))
cc_school <- as.numeric(conditions %in% c(1, 3)) # CC: 1, 3
tv_school <- as.numeric(conditions %in% c(2, 3)) # TV: 2, 3
# 데이터 생성
df <- data.frame()
class_counter <- 0
for (s in 1:n_schools) {
for (c in 1:n_classrooms_per_school[s]) {
class_counter <- class_counter + 1
n_students <- sample(2:28, 1) # 2-28 students per classroom
for (st in 1:n_students) {
pre <- rbinom(1, 1, 0.5) # baseline THKS
# 식 (13.3) — latent variable
eta_post <- -0.441 + 0.521 * pre + 0.628 * cc_school[s] +
0.208 * tv_school[s] - 0.292 * cc_school[s] * tv_school[s] +
school_effects[s] + class_effects[[s]][c]
y_latent <- eta_post + rnorm(1, 0, 1)
post <- as.numeric(y_latent > 0)
df <- rbind(df, data.frame(
school = s, classroom = class_counter,
student = paste0(class_counter, "_", st),
cc = cc_school[s], tv = tv_school[s],
pre = pre, post = post
))
}
}
}
cat("전체 학생:", nrow(df), "\n")
cat("Schools:", length(unique(df$school)), "\n")
cat("Classrooms:", length(unique(df$classroom)), "\n")
# Subgroup frequencies (Table 13.6 재현)
cat("\nPost-intervention pass rates:\n")
df %>% group_by(cc, tv) %>%
summarise(n = n(), pass_rate = mean(post)) %>% print()표 13.6 의 패턴 재현 검증:
- No CC, No TV: ~42% pass.
- No CC, Yes TV: ~48% pass.
- Yes CC, No TV: ~63% pass.
- Yes CC, Yes TV: ~60% pass.
논문 결과의 점 추정 사용 → 패턴 비슷.
7.2 Step 2: 분석 2 — Post-only with Pre Covariate
# 4 모형 적합 (Table 13.8 재현)
# Fixed-effects probit
fit_fixed <- glm(post ~ pre + cc * tv, data = df,
family = binomial(link = "probit"))
# 2-Level (Class)
fit_2level_class <- glmer(post ~ pre + cc * tv + (1 | classroom),
data = df, family = binomial(link = "probit"),
control = glmerControl(optimizer = "bobyqa"))
# 2-Level (School)
fit_2level_school <- glmer(post ~ pre + cc * tv + (1 | school),
data = df, family = binomial(link = "probit"),
control = glmerControl(optimizer = "bobyqa"))
# 3-Level (School × Classroom)
fit_3level <- glmer(post ~ pre + cc * tv + (1 | school) + (1 | classroom),
data = df, family = binomial(link = "probit"),
control = glmerControl(optimizer = "bobyqa"))
# 결과 비교
cat("\n=== Fixed-Effects vs Mixed-Effects 결과 비교 ===\n")
cat("\nTV 효과 (논문: Fixed 유의, mixed 비유의):\n")
cat(" Fixed:", round(coef(summary(fit_fixed))["tv", c("Estimate", "Pr(>|z|)")], 3), "\n")
cat(" 3-Level:", round(coef(summary(fit_3level))["tv", c("Estimate", "Pr(>|z|)")], 3), "\n")
cat("\nCC × TV interaction (논문: Fixed 유의, mixed 비유의):\n")
cat(" Fixed:", round(coef(summary(fit_fixed))["cc:tv", c("Estimate", "Pr(>|z|)")], 3), "\n")
cat(" 3-Level:", round(coef(summary(fit_3level))["cc:tv", c("Estimate", "Pr(>|z|)")], 3), "\n")
# LR test (3-level vs 2-level Class)
lr_3vs2class <- 2 * (logLik(fit_3level) - logLik(fit_2level_class))
cat("\nLR test (3-level vs 2-level Class):\n")
cat(" chi^2 =", round(lr_3vs2class, 2), "(논문: 1.82)\n")
cat(" p (boundary 보정) =",
format.pval(0.5 * (1 - pchisq(lr_3vs2class, 1)), digits = 3), "\n")Fixed-effects 의 잘못된 유의성:
- TV: p < .05 (유의).
- CC × TV: p < .05 (유의).
Mixed-effects 의 정확한 결론:
- TV: p > .10 (비유의).
- CC × TV: p > .10 (비유의).
→ Cluster effect 무시 시 type I error 증가 의 직접 시연.
LR test (3-level vs 2-level Class):
- \(\chi^2_1 \approx 1.82\) (논문 결과 재현).
- p > .05 → school effect 추가가 거의 무의미.
- → 본 데이터에서 classroom-level clustering 만 중요.
결론:
- TVSFP 데이터에서 CC 만 강한 효과.
- TV 단독 효과, CC × TV interaction 모두 비유의.
- School-level clustering 작음, classroom-level 만 중요.
- → 정책 권고: classroom-based intervention (CC) 자원 집중.
7.3 Step 3: ICC 계산 + 시점별 분해
# ICC 계산 (probit, sigma_eps² = 1)
sigma_school <- attr(VarCorr(fit_3level)$school, "stddev")
sigma_class <- attr(VarCorr(fit_3level)$classroom, "stddev")
icc_school <- sigma_school^2 / (sigma_school^2 + sigma_class^2 + 1)
icc_class <- sigma_class^2 / (sigma_school^2 + sigma_class^2 + 1)
cat("\n=== ICC 분해 ===\n")
cat("School ICC:", round(icc_school, 3), "\n")
cat("Classroom ICC (within school):", round(icc_class, 3), "\n")
cat("Within (residual):", round(1 / (sigma_school^2 + sigma_class^2 + 1), 3), "\n")
# 분석 1 framework — pre/post within student within classroom
# (시뮬레이션 데이터의 구조 차이로 단순화)
# Predicted probabilities (Table 13.6 재현)
sigma_total <- sqrt(1 + sigma_class^2 + sigma_school^2)
# 4 conditions 별 predicted probability
conditions_df <- expand.grid(cc = 0:1, tv = 0:1, pre = 0) # baseline pre = 0
conditions_df$eta_post <- predict(fit_3level, newdata = conditions_df,
re.form = NA, type = "link")
conditions_df$marginal_prob <- pnorm(conditions_df$eta_post / sigma_total)
print(conditions_df)ICC 검증:
- Classroom ICC ~ 6-7%.
- School ICC ~ 3-4% (작음).
- → Classroom 이 주요 cluster.
Predicted probabilities 재현 (논문 Table 13.6 비슷):
- Control (no CC, no TV): ~40-42%.
- CC: ~62-63%.
- TV: ~46-49%.
- CC + TV: ~57-60%.
임상 해석:
- 단순 비율 (Table 13.6) 과 모형 예측이 일치.
- 모형이 데이터 적합 검증.
- 추가 정보: SE, ICC, marginal vs subject-specific 효과.
Marginalization 의 의미:
- \(\widehat{P}_{\text{marginal}} = \Phi(\widehat\eta / \sqrt{1 + \sigma^2_{\text{rand}}})\).
- Random effects 분산 보정 → 모집단 평균 확률.
- Subject-specific 확률 (\(\Phi(\widehat\eta + \sigma\theta)\)) 와는 다름.
7.4 Step 4: TVSFP vs NIMH 비교 시각화
library(ggplot2)
# 두 illustration 의 ICC 비교
icc_comparison <- data.frame(
study = rep(c("NIMH (Linear)", "TVSFP Class (Probit)"), each = 2),
level = rep(c("Cluster", "Subject"), 2),
icc = c(0.044, 0.32, 0.066, 0.25) # 표 13.5 / Table 13.7 의 baseline ICC
)
ggplot(icc_comparison, aes(x = study, y = icc, fill = level)) +
geom_bar(stat = "identity", position = "dodge") +
scale_fill_manual(values = c("Cluster" = "tomato", "Subject" = "steelblue")) +
labs(x = "Study", y = "ICC",
title = "ICC 비교: NIMH vs TVSFP",
subtitle = "Cluster effects 작음, Subject effects 큼") +
geom_text(aes(label = round(icc, 3)), position = position_dodge(0.9), vjust = -0.3)공통 패턴:
- Cluster effects 작음 (1-7%).
- Subject effects 큼 (25-32%).
- → 두 사례 모두 subject heterogeneity 가 dominant.
차이점:
- TVSFP classroom ICC (6.6%) > NIMH center ICC (4.4%).
- 학교 environment 가 hospital environment 보다 학생 outcome 에 더 강한 영향?
- 또는 cluster size 차이 (135 classrooms vs 9 centers).
실무 권고:
- 두 사례 모두에서 cluster effect 작아 2-level 분석으로 결론 큰 차이 없음.
- 그러나 정확한 SE 와 cluster 별 추정을 위해 3-level 권고.
- Cluster randomized trials 의 design 시 ICC 1-10% 가정 (Donner 1982 표준).
ICH E9 (Statistical Principles for Clinical Trials):
- Multi-center clinical trials 에서 center as random effect 표준.
- Cluster ICC 보고 의무.
- 작은 cluster effect 에서도 정확한 SE 보고.
8 관련 주제
선행 지식
- Ch.13 Overview — 3-level data 의 큰 그림
- § 13.1 ~ 13.1.1 — Linear 3-level (NIMH center clustering)
- § 13.2 ~ 13.2.2 — Nonlinear 3-level (probit/logistic)
- § 9.4 Threshold concept — Probit latent variable
- § 9.6 Marginal MLE — Gauss-Hermite quadrature
후속 주제 (Ch.13 sub-posts)
- § 13.2.4 — More general outcomes (ordinal, nominal, count)
- § 13.3 — Ch.13 Summary
- Ch.14 — 결측 데이터
관련 개념
- Flay et al. (1988) — TVSFP study 원전
- Donner (1982), Donner & Klar (2000) — Cluster ICC 기준
- Murray (1998) — Group-randomized trials 표준
- Self & Liang (1987) — Boundary LR test
- Raudenbush & Bryk (2002) — Multilevel models 표준
- ICH E9 — Multi-center clinical trials 표준
- Murray, Catellier, Hannan (2004) — Cluster RCT design 가이드
- § 12.5 자살률 분석 — Spatial 3-level 의 다른 사례