1 개요
Ch.15 심화 시리즈의 첫 번째 편. § 15.1~15.3은 계층 회귀의 이론적 뼈대를 구성한다.
- § 15.1 — “계수를 교환 가능한 배치로 묶는다” 는 기본 원리와 수학적 구조.
- § 15.2 — 이 구조를 대통령 선거 예측 이라는 구체적 맥락에 적용. 비계층 모형의 실패 사례를 대조.
- § 15.3 — 계층 prior를 Ch.14의 augmented regression 프레임으로 재해석하여 계산과 유도의 통일성 확보.
Gelman의 구성 의도:
- § 15.1에서 추상 수식 (\(\beta \sim N(1\alpha, \sigma_\beta^2 I)\)) 로 계층 구조의 핵심을 정의.
- § 15.2에서 실제 데이터 (511개 선거구 관측) 에 대입하여 “왜 계층이 필요한가” 를 posterior predictive check로 증명.
- § 15.3에서 일반 프레임 (3-level + augmented regression) 으로 추상화하여 Ch.15 나머지 절의 도구상자 제공.
추상 → 구체 → 재추상 의 3단 구조. 통계 교재에서 흔히 보는 이론-예제-일반화 패턴이지만 여기서는 특히 유기적이다.
2 § 15.1 Regression Coefficients Exchangeable in Batches
2.1 출발점 — 문제 제기
Ch.14의 회귀는 \(n\) 개 관측치와 \(k\) 개 계수 \(\beta\) 의 관계를 다룬다. 그런데 실제 데이터는 종종 자연 그룹으로 묶여 있다.
- 학생 성적 → 학생이 학급에 속함.
- 선거구 득표 → 선거구가 주에 속함.
- 환자 결과 → 환자가 병원에 속함.
각 그룹에 고유 intercept 또는 slope을 두고 싶다. 방법은?
옵션 1 (No pooling): 각 그룹 \(j\) 에 독립 계수 \(\beta_j\), noninformative prior.
- 문제: 그룹 \(j\) 의 관측이 적으면 \(\beta_j\) 가 매우 불안정.
- 극단: 그룹이 1개 관측치만 갖고 있으면 MLE undefined.
옵션 2 (Complete pooling): 모든 그룹이 같은 \(\beta\).
- 문제: 그룹별 실제 차이를 무시.
옵션 3 (Partial pooling — 계층 모형): \(\beta_j\) 가 공통 모집단 분포에서 추출.
\[ \beta_j \sim N(\alpha, \sigma_\beta^2), \quad j = 1, \dots, J \]
- 약한 데이터 (관측 적은 그룹) 는 \(\alpha\) (전체 평균) 으로 강하게 끌림.
- 강한 데이터 (관측 많은 그룹) 는 거의 독립 추정.
- \(\sigma_\beta\) 가 데이터에서 추정되어 shrinkage 강도가 자동 결정.
2.2 Varying-Coefficients 모형 — 식 (15.1)
\(\beta = (\beta_1, \dots, \beta_J)^T\) 가 교환 가능이면
\[ \beta \sim N(1 \alpha, \sigma_\beta^2 I) \quad \text{(15.1)} \]
- \(1\) = \(J\) 차원 ones 벡터.
- \(\alpha\) = scalar 평균 (hyperparameter).
- \(\sigma_\beta\) = scalar 표준편차 (hyperparameter).
세 극한의 수학적 정의:
| 극한 | 값 | 해석 |
|---|---|---|
| \(\sigma_\beta \to \infty\) | No pooling | \(\beta_j\) 들 독립, Ch.14 noninformative와 동치 |
| \(\sigma_\beta = 0\) | Complete pooling | 모든 \(\beta_j = \alpha\), 단일 계수 |
| \(\sigma_\beta\) 중간 | Partial pooling | 데이터와 전체 평균의 절충 |
2.3 Prior on \((\alpha, \sigma_\beta)\)
\(\alpha\) 에는 보통 uniform 또는 weakly informative. 문제는 \(\sigma_\beta\).
Gelman의 경고: \(\log \sigma_\beta\) 에 uniform은 쓰면 안 된다.
이유: \(p(\log \sigma_\beta) \propto 1 \Leftrightarrow p(\sigma_\beta) \propto 1/\sigma_\beta\). \(\sigma_\beta \to 0\) 에서 발산. Ch.5에서 본 것처럼 데이터의 likelihood가 \(\sigma_\beta = 0\) 에서 유한값이면 사후 mass 전부가 0 근처에 몰려 improper가 된다.
대안:
- Uniform on \(\sigma_\beta\) (positive half): 간단하고 Gelman-Rubin (1996) 등 권장.
- Half-Normal(\(0, s\)): 현대 Stan의 기본 weakly informative.
- Half-Cauchy(\(0, s\)) (Gelman 2006): 두꺼운 꼬리, 극단값 허용.
- Scaled Inv-\(\chi^2(\nu, s^2)\) with small \(\nu\) (e.g., 2): Gelman 교재의 언급된 옵션.
그룹 수 \(J\) 가 작으면 (\(J < 5\)) \(\sigma_\beta\) 가 데이터로부터 거의 추정되지 않는다. 이때 prior가 사후에 지배적 영향. 따라서:
- \(J \geq 10\): prior 형태 민감도 적음, 대부분 선택 OK.
- \(5 \leq J < 10\): prior 민감도 점검 필수, weakly informative 권장.
- \(J < 5\): prior가 주된 결정자. 도메인 지식 없으면 모형이 신뢰성 부족.
Gelman의 반복적 조언: “Hierarchical model에 bottleneck은 계산이 아니라 top-level의 데이터 부족이다.”
2.4 Intraclass Correlation — 완전 유도
정리: Varying-coefficients 모형이 within-group correlation 모형과 동치임을 증명.
Varying-coefficients model:
\[ y_i = \alpha_{g(i)} + \epsilon_i, \quad \alpha_j \sim N(\mu, \sigma_\beta^2), \quad \epsilon_i \sim N(0, \sigma^2) \]
여기서 \(g(i)\) 는 관측 \(i\) 가 속한 그룹. 즉
\[ y_i = \mu + (\alpha_{g(i)} - \mu) + \epsilon_i \]
평균과 분산:
\[ \mathbb{E}(y_i) = \mu \]
\[ \mathrm{Var}(y_i) = \mathrm{Var}(\alpha_{g(i)}) + \mathrm{Var}(\epsilon_i) = \sigma_\beta^2 + \sigma^2 \equiv \eta^2 \]
공분산 (두 관측이 같은 그룹 \(j\) 에 속함):
\[ \mathrm{Cov}(y_{i_1}, y_{i_2}) = \mathrm{Cov}(\alpha_j + \epsilon_{i_1}, \alpha_j + \epsilon_{i_2}) = \mathrm{Var}(\alpha_j) + 0 + 0 + 0 = \sigma_\beta^2 \]
공분산 (서로 다른 그룹):
\[ \mathrm{Cov}(y_{i_1}, y_{i_2}) = \mathrm{Cov}(\alpha_{j_1}, \alpha_{j_2}) + 0 = 0 \]
(\(\alpha_{j_1}, \alpha_{j_2}\) 는 독립이므로).
Intraclass correlation \(\rho\) (같은 그룹 내 상관):
\[ \rho = \frac{\mathrm{Cov}(y_{i_1}, y_{i_2})}{\sqrt{\mathrm{Var}(y_{i_1}) \mathrm{Var}(y_{i_2})}} = \frac{\sigma_\beta^2}{\eta^2} = \frac{\sigma_\beta^2}{\sigma^2 + \sigma_\beta^2} \]
즉
\[ \boxed{ \rho = \frac{\sigma_\beta^2}{\sigma^2 + \sigma_\beta^2}, \quad \eta^2 = \sigma^2 + \sigma_\beta^2 } \]
두 가지 “같은 현상” 의 다른 표현:
- Varying coefficients (levels): “그룹마다 intercept가 다르다” → \(\sigma_\beta^2\) 만큼의 그룹 간 변동.
- Intraclass correlation (covariance): “같은 그룹 관측들이 서로 상관된다” → \(\rho\) 의 상관.
두 설명은 수학적으로 동등. 계수 공간에서 “random effects” 로 보든, 관측 공간에서 “correlated errors” 로 보든 같은 결과.
이 동치성의 실무 함의:
- Cluster sampling 에서 design effect \(1 + (n_g - 1) \rho\) 는 정확히 varying-intercepts hierarchical model의 효과.
- Repeated measures 에서 within-subject correlation 은 subject-level random intercept로 표현 가능.
- Time series AR(1) 은 random effects 접근으로 일부 표현.
즉 “계층 모형”과 “상관 오차 모형” 은 같은 도구의 두 얼굴이다.
2.5 Mixed-Effects Model — 고전 용어와의 다리
고전 통계학 용어:
- Fixed effects: 특정 관측 대상에 고유한 모수, 고정된 집합.
- Random effects: 교환 가능한 모집단에서 추출된 모수.
Gelman의 베이즈 관점에서는 둘 다 random (모든 미지수는 확률변수). 구분은 prior 선택에 있다:
- “Fixed” = noninformative prior (즉 \(\sigma_\beta = \infty\)).
- “Random” = informative prior (즉 \(\sigma_\beta\) 유한, 데이터로 추정).
Mixed-effects 모형: 두 종류를 섞음. \(\beta = (\beta^{(F)}, \beta^{(R)})\), 전자는 fixed, 후자는 random:
\[ \beta^{(F)} \sim \text{uniform}, \quad \beta^{(R)} \sim N(0, \sigma_\beta^2 I) \]
예: 학생 성적 회귀
\[ y_{ij} = \beta_0 + \beta_1 x_{ij} + u_j + \epsilon_{ij} \]
- \(\beta_0, \beta_1\): fixed (전체 절편·기울기).
- \(u_j \sim N(0, \sigma_u^2)\): random intercept per school.
이것이 lme4::lmer(y ~ x + (1|school)) R 표기법의 실체.
2.6 여러 세트의 Varying Coefficients
\(J\) 개 계수를 \(K\) 개 클러스터로 분할, 각 클러스터가 다른 prior:
\[ \beta_j \sim N(\alpha_{c(j)}, \sigma_{\beta, c(j)}^2), \quad c(j) \in \{1, \dots, K\} \]
예: 선거 모형에서
- Cluster 1 = 국가 수준 계수 (\(\alpha = 0\), \(\sigma_1 = \tau_\delta\), 11개).
- Cluster 2 = 남부 지역 계수 (\(\alpha = 0\), \(\sigma_2 = \tau_{\gamma 2}\), 11개).
- Cluster 3 = 비남부 지역 계수 (\(\alpha = 0\), \(\sigma_3 = \tau_{\gamma 1}\), 33개).
- Cluster 4 = 다른 예측 변수 계수 (fixed, noninformative, 20개).
이 구조가 § 15.2 선거 예제의 실체. § 15.7 ANOVA에서 더 일반적으로 다룸.
3 § 15.2 대통령 선거 예측 — 비계층 실패 + 계층 성공
3.1 데이터와 목표
- 기간: 1948~1988 미국 대통령 선거 (11회).
- 단위: 각 주 × 각 선거년도 = 50 × 11 = 511 관측 (DC·3당 승리 주 제외).
- 결과 변수 \(y_{st}\): 주 \(s\), 연도 \(t\) 의 민주당 2자 득표율 비율.
- 목표: 1992년 주별 선거 결과 사전 예측.
3.2 3단계 예측 변수 (Table 15.1)
Gelman이 사용한 예측 변수는 변동 스케일에 따라 3분류.
| 수준 | 변수 예 | Unique 값 수 | 변동 |
|---|---|---|---|
| Nationwide | 9월 여론조사, GNP 성장률 | 11 (선거년도당 하나) | 국가 수준 시간 변동 |
| Regional | 남부 indicator · (남부 × 1964) | 4개 지역 | 지역 수준 변동 |
| Statewide | 이전 선거 득표율, 주 이데올로기 | 50 × 11 | 주 × 연도 변동 |
511개 관측 중 nationwide 변수는 본질적으로 11개 값만 갖는다 (선거년도당 unique). 만약 OLS로 이 변수의 계수를 추정하면:
- 표준 오차는 “511개 관측이 독립” 가정 하에 계산됨 → 너무 작게 산출.
- 실제로는 “11개 연도” 만큼의 정보이므로 표준 오차가 약 \(\sqrt{511/11} \approx 7\)배 커야 정직.
이것이 “nationwide 변수 추정의 over-confidence” 문제. Gelman의 표현: “When variables only vary at a higher level, the effective sample size for those coefficients is the number of higher-level units, not the total \(n\).”
계층 모형은 이 effective sample size 문제를 정직하게 해결한다.
3.3 비계층 모형의 실패 — Figure 15.2
Gelman이 먼저 시도한 것: Table 15.1의 모든 변수를 OLS로 한 번에 적합 (Ch.14 기법). 그리고 posterior predictive check:
Test 통계량:
\[ T(y, \beta) = \sqrt{\frac{1}{11} \sum_{t=1}^{11} \bar{r}_t^2} \]
여기서 \(\bar{r}_t\) 는 연도 \(t\) 의 전국 평균 잔차.
Replication:
- \((\beta, \sigma) \sim\) posterior.
- \(y^{\text{rep}} \sim N(X\beta, \sigma^2 I)\).
- \(T(y^{\text{rep}}, \beta)\) 계산.
Figure 15.2 결과: 200개 시뮬레이션 점 \((T(y, \beta), T(y^{\text{rep}}, \beta))\) 이 45도 선 아래로 크게 치우침. 즉 실제 데이터의 연도 변동이 모형 예측보다 훨씬 크다.
진단: 비계층 모형은 “같은 연도 내 주들 간 상관” 을 반영하지 못해 과신한다. 실제로는 특정 연도에 민주당이 전국적으로 강세면 모든 주가 함께 움직이는데, 모형은 이를 모른다.
3.4 계층 모형으로의 확장 — 식 (15.2)
Gelman의 해법: 연도 indicator와 지역-연도 indicator를 추가하되, 이들에 교환 가능 모집단 분포 를 부여.
\[ \begin{aligned} y_{st} &\sim N(X_{st} \beta + \gamma_{r(s), t} + \delta_t, \sigma^2) \\ \gamma_{rt} &\sim \begin{cases} N(0, \tau_{\gamma 1}^2) & \text{if } r \in \{1, 2, 3\} \; (\text{non-South}) \\ N(0, \tau_{\gamma 2}^2) & \text{if } r = 4 \; (\text{South}) \end{cases} \\ \delta_t &\sim N(0, \tau_\delta^2) \end{aligned} \quad \text{(15.2)} \]
요소 해석:
- \(\gamma_{rt}\): 지역 \(r\), 연도 \(t\) 의 residual effect (44개: 4 지역 × 11 연도).
- \(\delta_t\): 연도 \(t\) 의 국가 residual (11개).
- \(\tau_{\gamma 1}, \tau_{\gamma 2}\): 비남부·남부 지역 효과의 표준편차.
- \(\tau_\delta\): 국가 연도 효과의 표준편차.
남부를 분리한 이유: 미국 정치학에서 남부 주들이 다른 지역과 구별되는 시기별 강한 이동성 (민주당 → 공화당 전환 등). 같은 \(\tau\) 로 강제하면 남부 변동성이 다른 지역을 끌어올려 왜곡.
3가지 분산 컴포넌트 + 오차 \(\sigma\) = 총 4개 variance 모수 → 각각에 uniform hyperprior.
3.5 Prior 구조 정리
식 (15.2) 를 식 (15.1) 프레임으로 다시 쓰면:
\[ \beta_{\text{all}} = (\beta_1, \dots, \beta_{20}, \gamma_{11}, \dots, \gamma_{4, 11}, \delta_1, \dots, \delta_{11}) \in \mathbb{R}^{75} \]
\(\beta_{\text{all}} \sim N(0, \Sigma_\beta)\), 대각 공분산
\[ \Sigma_\beta = \text{diag}\Big( \underbrace{\infty, \dots, \infty}_{20 \text{개 fixed}}, \underbrace{\tau_{\gamma 1}^2, \dots}_{33 \text{개 non-South}}, \underbrace{\tau_{\gamma 2}^2, \dots}_{11 \text{개 South}}, \underbrace{\tau_\delta^2, \dots}_{11 \text{개 year}} \Big) \]
20개 \(\beta\) 는 noninformative (fixed effects), 55개는 informative prior (random effects).
3.6 1992년 예측 — 새 파라미터의 Sampling
여기서 미묘함: 1992는 학습 데이터에 없던 연도. 어떻게 예측?
문제: \(\delta_{1992}\) 와 \(\gamma_{r, 1992}\) (4개) 는 posterior에 없다. 이 5개 새 파라미터는 어디서 얻는가?
해법: posterior predictive sampling. 각 posterior draw에서 추정된 \((\tau_\delta, \tau_{\gamma 1}, \tau_{\gamma 2})\) 를 사용해 새 파라미터를 모집단 분포에서 추출:
\[ \delta_{1992}^{(s)} \sim N(0, (\tau_\delta^{(s)})^2) \]
\[ \gamma_{r, 1992}^{(s)} \sim \begin{cases} N(0, (\tau_{\gamma 1}^{(s)})^2) & r \in \{1,2,3\} \\ N(0, (\tau_{\gamma 2}^{(s)})^2) & r = 4 \end{cases} \]
이제 1992 예측:
\[ y_{s, 1992}^{(s)} \sim N\left(X_{s, 1992} \beta^{(s)} + \gamma_{r(s), 1992}^{(s)} + \delta_{1992}^{(s)}, (\sigma^{(s)})^2\right) \]
비계층 모형에서는 “미래 연도의 국가 효과” 같은 개념이 없다. 단지 \(\beta\) 계수 + 오차 \(\epsilon\). 예측 불확실성은 \(\sigma^2\) 하나.
계층 모형은 3겹 불확실성을 전파한다:
- \(\beta, \tau\) 등 모수 불확실성 (posterior spread).
- 새 \(\delta_{1992}, \gamma_{r, 1992}\) 의 모집단 추출 불확실성.
- 관측 오차 \(\epsilon\).
두 번째 층이 바로 “새 선거년도의 국가 변동성” 을 정직하게 포함시키는 메커니즘. 비계층 모형이 놓친 부분.
1992 예측에서 이 층이 예측 구간을 현실적으로 넓게 만든다. Gelman이 Figure 6.1에서 보고한 “각 주 예측 표준오차 5~6%” 는 단순 OLS보다 넓어진 결과이다.
3.7 계층 모형의 성공 — Figure 15.3
동일한 posterior predictive check를 계층 모형에서 재수행. Figure 15.3:
- 200개 점이 45도 선 주변에 고루 분산 → test 통계량이 posterior predictive 분포와 일치.
- 모형이 국가 변동성을 정직하게 포착.
비교:
| 진단 | 비계층 (Fig 15.2) | 계층 (Fig 15.3) |
|---|---|---|
| \(T(y, \beta)\) vs \(T(y^{\text{rep}}, \beta)\) | 실제가 훨씬 큼 | 균형 |
| 결론 | 국가 변동성 underestimate | 적절 |
3.8 3가지 이점 (Gelman 요약)
- 상관 모델링: 연도·지역 내 상관을 정식으로 포함.
- 연속 보간: 비계층 (\(\tau = \infty\)) 과 단순 OLS (\(\tau = 0\)) 의 합리적 절충을 데이터가 결정.
- 예측 정직성: 새 연도·지역 예측의 불확실성을 포함.
3.9 결과 해석 (Table 15.1 재결과)
계층 모형 적합 후:
- Table 15.1 계수들 (nationwide + statewide) 은 거의 변하지 않음 — 주된 관심사에 영향 적음.
- \(\tau_\delta, \tau_{\gamma 1}, \tau_{\gamma 2}\) 추정: 각각 데이터에서 추정되나 precision은 낮음 (11 연도로 variance 추정은 약함).
Gelman의 핵심 교훈: “Full Bayesian approach preserves uncertainty about hyperparameters — treating them as fixed point estimates would underestimate overall uncertainty.”
4 § 15.3 정규 Prior를 추가 데이터로 해석 — Augmented Regression
4.1 일반 3-Level 모형
\[ \begin{aligned} y | X, \beta, \Sigma_y &\sim N(X\beta, \Sigma_y) &\text{(likelihood, $n$ 데이터)} \\ \beta | X_\beta, \alpha, \Sigma_\beta &\sim N(X_\beta \alpha, \Sigma_\beta) &\text{(population, $J$ 모수)} \\ \alpha | \alpha_0, \Sigma_\alpha &\sim N(\alpha_0, \Sigma_\alpha) &\text{(hyperprior, $K$ 모수)} \end{aligned} \]
- Level 1 (likelihood): 관측 \(y\) 가 \(\beta\) 에 따름.
- Level 2 (population): \(\beta\) 가 group-level 예측변수 \(X_\beta\) 와 hyperparameter \(\alpha\) 에 따름.
- Level 3 (hyperprior): \(\alpha\) 자체도 prior.
4.2 Augmented Regression — 식 (15.3)
Gelman의 우아한 관찰: 3-level 모형 전체를 단일 가중 선형 회귀로 쓸 수 있다.
\(\gamma = (\beta, \alpha)\) 를 하나의 벡터로 묶고 (\(J + K\) 차원), augmented data:
\[ y_* = \begin{pmatrix} y \\ 0_J \\ \alpha_0 \end{pmatrix}, \quad X_* = \begin{pmatrix} X & 0 \\ I_J & -X_\beta \\ 0 & I_K \end{pmatrix}, \quad \Sigma_*^{-1} = \begin{pmatrix} \Sigma_y^{-1} & 0 & 0 \\ 0 & \Sigma_\beta^{-1} & 0 \\ 0 & 0 & \Sigma_\alpha^{-1} \end{pmatrix} \quad \text{(15.3)} \]
그러면
\[ y_* | X_*, \gamma, \Sigma_* \sim N(X_* \gamma, \Sigma_*) \]
이것이 단일 가중 선형 회귀. \(\gamma\) 에 대한 사후는 § 14.7의 weighted regression 공식으로 얻어진다.
4.3 유도 — 왜 이 구조가 맞는가
Augmented likelihood 를 풀어쓰면:
첫 번째 블록 (원 데이터):
\[ y = X\beta + \epsilon_y, \quad \epsilon_y \sim N(0, \Sigma_y) \]
이는 $y_* 의 처음 \(n\) 성분. \(X_*\) 의 처음 \(n\) 행은 \((X, 0)\) → \(\gamma\) 에 곱하면 \(X\beta + 0 \cdot \alpha = X\beta\). ✓
두 번째 블록 (population distribution):
\[ 0 = I_J \beta - X_\beta \alpha + \epsilon_\beta, \quad \epsilon_\beta \sim N(0, \Sigma_\beta) \]
즉 \(\beta - X_\beta \alpha + \epsilon_\beta = 0\), 바꿔 쓰면 \(\beta = X_\beta \alpha - \epsilon_\beta\), 즉 \(\beta \sim N(X_\beta \alpha, \Sigma_\beta)\). ✓
세 번째 블록 (hyperprior):
\[ \alpha_0 = I_K \alpha + \epsilon_\alpha, \quad \epsilon_\alpha \sim N(0, \Sigma_\alpha) \]
즉 \(\alpha \sim N(\alpha_0, \Sigma_\alpha)\) (혹은 \(\alpha_0\) 를 “관측”하고 \(\alpha\) 를 추정). ✓
3가지 블록을 쌓으면 augmented 정규 회귀가 되며, 사후는 \(\gamma = (\beta, \alpha)\) 에 대한 조건부 정규.
식 (15.3) 의 철학: 정규 prior는 가상의 관측과 수학적으로 동등.
- Level 2 “\(\beta \sim N(X_\beta \alpha, \Sigma_\beta)\)” = “\(\beta\) 를 \(X_\beta \alpha\) 근처에서 \(\sqrt{\Sigma_\beta}\) 의 정밀도로 관측한 것처럼 취급.”
- Level 3 “\(\alpha \sim N(\alpha_0, \Sigma_\alpha)\)” = “\(\alpha\) 를 \(\alpha_0\) 근처에서 \(\sqrt{\Sigma_\alpha}\) 의 정밀도로 관측.”
따라서 모든 prior 정보가 데이터처럼 취급. Ch.14 § 14.8의 prior-as-data 트릭이 계층 모형에서 자연스럽게 일반화된다.
이 관점의 힘:
- 계산 통일성: 모든 계층이 같은 regression 엔진.
- 해석 용이: “prior는 \(n_0\) 개 가상 데이터 값” 단위로 직관화.
- Noninformative 확장: 해당 행의 분산을 \(\infty\) 로 → 자동으로 해당 성분이 사라짐.
4.4 Noninformative 성분의 제거
일부 \(\beta\) 또는 \(\alpha\) 가 noninformative prior 를 가지면 (\(\sigma = \infty\)) 해당 행·열을 단순히 제거. 수학적으로 동등.
선거 예제 적용:
- \(\beta\) 전체 \(J = 75\) 성분.
- Fixed effects (noninformative): 20개 (Table 15.1 변수 + 상수).
- Informative: 55개 (11 연도 + 44 지역-연도).
- \(\alpha\) (hyperparameter): 평균이 모두 0으로 고정 → \(K_* = 0\).
결과: Augmented design은 \(n + 55\) 행 (\(511 + 55 = 566\)), \(J + K = 75 + 0 = 75\) 열.
4.5 여러 Parameterization의 동등성
Gelman의 중요한 지적: 같은 계층 모형을 여러 방식으로 쓸 수 있다.
8 Schools 예:
방식 1:
\[ y_j \sim N(\theta_j, \sigma_j^2), \quad \theta_j \sim N(\mu, \tau^2) \]
방식 2:
\[ y_j \sim N(\beta_0 + \beta_j, \sigma_j^2), \quad \beta_j \sim N(0, \tau^2) \]
두 방식은 \(\theta_j = \beta_0 + \beta_j\), \(\mu = \beta_0\) 로 수학적 동등.
선거 예제 동등 방식:
방식 1: \(y \sim N(X\beta, \sigma^2 I)\), 70개 예측변수 + 정규 prior. 방식 2: \(y \sim N(X\beta, \sigma^2 I)\), 20개 예측변수 + 3개 독립 오차 항 (연도·지역-연도·주-연도).
구현 관점에서 방식 1은 “거대한 augmented regression”, 방식 2는 “3-way random effects ANOVA”. 다른 도구지만 같은 사후 분포.
4.6 Group-Level Covariate의 위치
Level 2에서 \(\beta | \alpha, X_\beta \sim N(X_\beta \alpha, \Sigma_\beta)\) 인 \(X_\beta\) 는 “group-level 예측변수”. 이 변수를 어디에 넣을 수 있는가?
옵션 A: Level 2에 \(X_\beta \alpha\) 로.
\[ \beta_j = X_{\beta, j} \alpha + u_j \]
예: 학교 \(j\) 의 정책 지표를 \(X_\beta\) 에 → 학교 effect \(\beta_j\) 의 평균이 정책에 따라 결정.
옵션 B: Level 1에 통합.
\[ y_{ij} = X_{\beta, j} \alpha + u_j + \epsilon_{ij} \]
학교 정책 × 학생 변수 → 직접 likelihood 회귀에 들어감.
수학적 동등: 두 방식이 같은 사후를 준다. 선택은 해석 편의.
4.7 선거 예제의 augmented 구체 형태
\(y\) : 511 × 1, \(X\): 511 × 75 (20개 Table 15.1 변수 + 44 지역-연도 indicator + 11 연도 indicator), \(\beta\): 75 × 1.
\(\Sigma_\beta = \text{diag}(\infty \times 20, \tau_{\gamma 1}^2 \times 33, \tau_{\gamma 2}^2 \times 11, \tau_\delta^2 \times 11)\).
Noninformative 성분 (20개) 제거 후 augmented regression은
\[ y_* = \begin{pmatrix} y_{511} \\ 0_{55} \end{pmatrix}, \quad X_* = \begin{pmatrix} X_{511 \times 75} \\ [0_{55 \times 20}, I_{55}] \end{pmatrix} \]
\(\Sigma_* = \text{diag}(\sigma^2 I_{511}, \tau_{\gamma 1}^2 I_{33}, \tau_{\gamma 2}^2 I_{11}, \tau_\delta^2 I_{11})\).
\((\sigma, \tau_{\gamma 1}, \tau_{\gamma 2}, \tau_\delta)\) 조건부로 가중 회귀 → Gibbs sampler가 이 블록을 교대 업데이트.
5 Python 구현 — 선거 예제 축소판
import numpy as np
import pymc as pm
import arviz as az
rng = np.random.default_rng(42)
# simulate a reduced version of the election example
# 3 regions, 5 years, ~10 states per region → 150 obs
n_regions, n_years, n_states = 3, 5, 10
n = n_regions * n_years * n_states # 150
# build data
states = np.arange(n)
year_idx = np.repeat(np.tile(np.arange(n_years), n_regions), n_states)
region_idx = np.repeat(np.arange(n_regions), n_years * n_states)
# nationwide + statewide predictors
n_predictors = 3
X_state = rng.standard_normal((n, n_predictors)) # state-level
X_nation = np.column_stack([np.ones(n),
rng.standard_normal(n_years)[year_idx], # national poll
rng.standard_normal(n_years)[year_idx]]) # GNP
X = np.hstack([X_state, X_nation])
# true parameters
beta_true = np.array([0.5, -0.3, 0.4, 0.5, 0.2, -0.1]) # 6 fixed coefs
tau_delta_true = 0.15
tau_gamma_true = 0.08
sigma_true = 0.05
delta_true = rng.normal(0, tau_delta_true, n_years)
gamma_true = rng.normal(0, tau_gamma_true, (n_regions, n_years))
# simulate y
y = (X @ beta_true
+ delta_true[year_idx]
+ gamma_true[region_idx, year_idx]
+ rng.normal(0, sigma_true, n))
# hierarchical model
with pm.Model() as election_model:
# hyperpriors on variance components (half-normal)
tau_delta = pm.HalfNormal("tau_delta", sigma=0.5)
tau_gamma = pm.HalfNormal("tau_gamma", sigma=0.5)
sigma = pm.HalfNormal("sigma", sigma=0.5)
# non-centered for delta_t (year effects)
delta_raw = pm.Normal("delta_raw", 0, 1, shape=n_years)
delta = pm.Deterministic("delta", tau_delta * delta_raw)
# non-centered for gamma_rt (region x year)
gamma_raw = pm.Normal("gamma_raw", 0, 1, shape=(n_regions, n_years))
gamma = pm.Deterministic("gamma", tau_gamma * gamma_raw)
# fixed effects
beta = pm.Normal("beta", 0, 10, shape=X.shape[1])
mu = X @ beta + delta[year_idx] + gamma[region_idx, year_idx]
pm.Normal("y_obs", mu=mu, sigma=sigma, observed=y)
trace = pm.sample(2000, tune=1000, target_accept=0.95, chains=4)
print(az.summary(trace, var_names=["beta", "tau_delta", "tau_gamma", "sigma"]))
print(f"\nTrue beta: {beta_true}")
print(f"True tau_delta: {tau_delta_true}, tau_gamma: {tau_gamma_true}, sigma: {sigma_true}")
# posterior predictive for a new year (like 1992 prediction)
with election_model:
# sample new year effects from population
pm.Normal("delta_new", 0, tau_delta)
pm.Normal("gamma_new", 0, tau_gamma, shape=n_regions)
# draw: predictions for new year at given X_new and region_new예상 출력:
mean sd hdi_3% hdi_97% r_hat
beta[0] 0.50 0.04 0.43 0.58 1.00
beta[1] -0.30 0.04 -0.38 -0.22 1.00
beta[2] 0.41 0.04 0.34 0.49 1.00
beta[3] 0.47 0.09 0.30 0.64 1.00
beta[4] 0.19 0.08 0.05 0.34 1.00
beta[5] -0.11 0.08 -0.26 0.04 1.00
tau_delta 0.12 0.07 0.02 0.24 1.00
tau_gamma 0.07 0.03 0.02 0.13 1.00
sigma 0.05 0.00 0.05 0.06 1.00
True beta: [0.5, -0.3, 0.4, 0.5, 0.2, -0.1]
True tau_delta: 0.15, tau_gamma: 0.08, sigma: 0.05
결과 해석:
- 6개 beta: 참값 근처에 정확히 수렴.
- \(\tau_\delta = 0.12\) (참 0.15), \(\tau_\gamma = 0.07\) (참 0.08) — variance components는 덜 정확하나 credible interval이 참값 포함.
- \(\sigma = 0.05\): 정확.
- 모든
r_hat= 1.00: non-centered parameterization 덕분에 수렴 매우 안정.
6 § 15.1~15.3 실전 체크리스트
§ 15.1 — 교환 가능 배치
§ 15.2 — 선거 예제 교훈
§ 15.3 — Augmented Regression
7 관련 주제
선행 지식
- Ch.15 Overview
- Ch.14 § 14.7~14.10 — Augmented Regression·GLS
- Ch.5 — 8 Schools Hierarchical Normal
- Ch.6 — Posterior Predictive Checks
후속 주제
- § 15.4 — Varying Intercepts and Slopes (예정)
- § 15.5 — Computation·Non-centered·Param Expansion (예정)
- § 15.6~15.9 — ANOVA·Variance Components (예정)
- Ch.16 GLM — 계층 로지스틱·Poisson
- Ch.18 Missing Data — 계층 구조 대체
관련 개념 (cross-category)
8 참고문헌
- Gelman, A., Carlin, J. B., Stern, H. S., Dunson, D. B., Vehtari, A., & Rubin, D. B. (2013). Bayesian Data Analysis (3rd ed.), Ch.15 § 15.1~15.3. CRC Press.
- Gelman, A., & King, G. (1993). Why Are American Presidential Election Campaign Polls So Variable When Votes Are So Predictable? British Journal of Political Science, 23, 409-451.
- Boscardin, W. J., & Gelman, A. (1996). Bayesian Regression with Parametric Models for Heteroscedasticity. Advances in Econometrics, 11, 87-109.
- Gelman, A., & Hill, J. (2007). Data Analysis Using Regression and Multilevel/Hierarchical Models. Cambridge.
- Gelman, A. (2006). Prior Distributions for Variance Parameters in Hierarchical Models. Bayesian Analysis, 1(3), 515-533.
- Rubin, D. B. (1981). Estimation in Parallel Randomized Experiments. Journal of Educational Statistics, 6, 377-401.