Skip to content

16회 · 베이즈의 귀환 · 노트

7 베이즈가 실패할 때 ​

역사 Gibbs 표집이 퍼지자 새로운 종류의 오류가 나타났다. Hobert와 Casella(1996)는 계층 선형모형에서 널리 쓰이던 비정칙 사전분포가 비정칙 사후분포를 낳는데도, 모든 완전 조건부분포는 정칙이어서 Gibbs 표집이 아무 경고 없이 돌아간다는 것을 보였다. 출력은 그럴듯한 숫자였지만 그 숫자가 근사하는 분포는 존재하지 않았다. Gelman(2006)은 분산 모수의 사전분포가 집단이 적을 때 결론을 좌우한다는 것을 보였다. Stein의 축소도 오해를 낳았다. Efron과 Morris는 처음부터 James–Stein이 합계의 위험을 줄일 뿐 개별 선수를 보호하지는 않는다고 경고했다.

가정 주의 주의 1 — 사후분포가 존재하는가비정칙 사전분포를 쓰면 사후분포가 정칙인지 따로 증명해야 한다. 연습 2.4의 Haldane 사전분포는 성공이 하나도 없으면 비정칙 사후분포를 준다. 계층 모형에서 π(τ2)∝1/τ2\pi(\tau^2)\propto1/\tau^2을 쓰면 τ2\tau^2의 완전 조건부분포는 역감마(k2,12SS)\bigl(\tfrac k2,\allowbreak \tfrac12\mathrm{SS}\bigr)로 정칙이지만 결합 사후분포는 비정칙이다(연습 6.4과 같은 논리). 타율 자료에서 이 Gibbs 표집을 2만 번 돌리면 연쇄는 멈추지 않고 돈다. 그러나 τ\tau의 중앙값은 10−810^{-8}이고, 85%의 시간을 τ<10−4\tau<10^{-4}에서 보내며, 한때 10−1510^{-15}까지 내려간다. 정칙 사전분포 π(τ)∝1\pi(\tau)\propto1로 같은 일을 하면 중앙값은 10−1.54=0.02910^{-1.54}=0.029다(그림 7.1 왼쪽). 연쇄가 0 근처의 무한한 질량에 빨려 들어가는 것이다.

7.1 봉우리가 여럿일 때 ​

가정 주의 주의 2 — R^\hat R은 갇힌 연쇄를 보지 못한다목표가 12N(−d,1)+12N(d,1)\tfrac12\N(-d,\allowbreak 1)+\tfrac12\N(d,\allowbreak 1)이고 걸음 폭이 0.5인 무작위 걸음 Metropolis를 생각하자. d=3d=3에서 두 연쇄는 −3-3, 두 연쇄는 +3+3에서 출발해 5000번 돌리면 R^=1.21\hat R=1.21로 수렴하지 않았음을 알린다. 걸음 폭을 4로 넓히면 R^=1.0006\hat R=1.0006이고 평균은 −0.015-0.015로 참값 0에 가깝다. 그러나 d=6d=6에서 네 연쇄를 모두 −6-6에서 출발시키면 R^=1.001\hat R=1.001인데 평균은 −6.04-6.04다. 연쇄들은 왼쪽 봉우리에 갇혀 서로 완벽하게 일치한다. 같은 d=6d=6에서 출발점을 흩어 놓으면 R^=6.9\hat R=6.9다. R^\hat R이 쓸모 있으려면 출발점이 목표분포보다 넓게 흩어져 있어야 한다.

봉우리가 여럿인 사후분포는 드물지 않다. 10회의 혼합모형은 성분의 이름표를 바꿔도 가능도가 같아 K!K!개의 봉우리를 갖는다. 신경망의 가중치도 그렇다. 봉우리 사이를 건너는 방법으로 온도를 바꿔 가며 여러 연쇄를 돌리는 병렬 담금질(parallel tempering)과, 다음 절의 기울기 정보를 쓰는 방법들이 있다.

7.2 제안 폭과 유효 표본 크기 ​

무작위 걸음 Metropolis의 걸음 폭은 받아들임 비율과 걸음의 크기를 맞바꾼다. N(0,1)\N(0,1)을 목표로 2만 번 돌리면 결과는 이렇다.

걸음 폭0.12.420
받아들임 비율0.970.440.07
유효 표본 크기 NeffN_{\mathrm{eff}}455011941

걸음이 너무 작으면 거의 다 받아들이지만 제자리걸음이고, 너무 크면 거의 다 거절해 같은 값을 반복한다. 받아들임 비율 97%는 좋은 소식이 아니다.

증명 없이 쓰는 사실 (최적 척도 (Roberts–Gelman–Gilks 1997)) 독립 성분의 dd차원 목표에서 정규 제안 N(x,ℓ2/d⋅I)\N(x,\ell^2/d\cdot I)의 효율은 d→∞d\to\infty일 때 ℓ≈2.38\ell\approx2.38에서 최대이고, 그때 받아들임 비율은 0.2340.234다. 1차원에서는 약 0.440.44가 최적이다. 차원이 커지면 걸음 폭을 1/d1/\sqrt d로 줄여야 하므로 독립 표본 하나를 얻는 데 O(d)O(d)번의 걸음이 든다. 기울기를 쓰는 방법(Langevin, Hamiltonian)은 이 의존성을 줄인다(8절).

7.3 계산 코드의 점검 ​

사후분포를 계산하는 코드가 맞는지는 8회 8절의 생각으로 점검할 수 있다(Talts 외 2018). 사전분포에서 θ\theta를 뽑고, 그것으로 자료를 만들고, 코드로 사후표본 LL개를 뽑는다. 코드가 맞으면 (θ,x)(\theta,\x)의 결합분포에서 θ\theta와 사후표본들은 x\x가 주어졌을 때 같은 분포에서 나온 L+1L+1개의 교환가능한 값이므로, 사후표본들 사이에서 θ\theta의 순위는 {0,…,L}\{0,\dots,L\} 위의 균등분포를 따른다. 사전분포 Beta(2,2)\mathrm{Beta}(2,2), n=20n=20, L=99L=99로 5000번 되풀이해 순위를 열 칸에 나누었다.

  • 올바른 코드 Beta(2+s, 2+n−s)\mathrm{Beta}(2+s,\,2+n-s): 카이제곱 적합도 검정의 유의확률 0.15. 균등하다.

  • 자료를 두 번 센 코드 Beta(2+2s, 2+2(n−s))\mathrm{Beta}(2+2s,\allowbreak \,2+2(n-s)): 양 끝 칸이 839와 883(기댓값 500)인 U자이고 유의확률은 10−14610^{-146}이다. 사후분포가 너무 좁으면 참값이 사후표본의 바깥으로 자주 떨어진다.

  • 사전분포를 Beta(1,1)\mathrm{Beta}(1,1)로 잘못 넣은 코드: 유의확률 0.56. 이 정도의 사전분포 오류는 5000번으로도 잡지 못한다.

점검은 계산의 오류를 잡지만, 작은 모형의 오류까지 잡는 것은 아니다.

7.4 축소가 개인을 해칠 때 ​

가정 주의 주의 3 — 합계의 위험과 개별 위험James–Stein 정리는 ∑iE(δi−θi)2\sum_i E(\delta_i-\theta_i)^2을 줄인다. 개별 성분의 위험은 오히려 커질 수 있다. p=50p=50이고 θ=(5,0,…,0)\btheta=(5,0,\dots,0)이면, James–Stein의 합계 위험은 18.1로 X\X의 50보다 훨씬 작다. 그러나 첫 성분의 위험은 11.2로, X1X_1의 위험 1의 열 배가 넘는다. 나머지 49개가 0이라 ∥X∥2\|\X\|^2이 작고, 그래서 튀는 하나까지 0 쪽으로 세게 끌어당기기 때문이다. 타율 표의 Clemente가 이런 선수다. 그가 정말로 다른 선수들과 다르다면, 평균으로 끌어당기는 것은 그에게 불리하다. Efron과 Morris는 한 성분이 움직일 수 있는 양에 상한을 두는 “제한된 이동” 추정량을 제안했다.

축소의 정당성은 성분들이 교환가능하다는 판단, 곧 사전에 어느 선수가 더 잘 칠지 모른다는 판단에서 온다(3절의 de Finetti). Clemente가 이미 내셔널리그 타격왕에 네 번 오른 선수라는 것을 안다면 그 정보를 사전분포에 넣어야 한다. 서로 관계없는 양들(예컨대 타율, 수입차 비율, 강수량)을 한 묶음으로 줄여도 합계 위험은 줄지만, 그 합계는 누구에게도 의미 없는 손실이다.

가정 주의 주의 4 — 사전분포의 민감도표본이 크면 사전분포는 잊힌다(Bernstein–von Mises). 그러나 (1) 점 귀무가설의 Bayes 인수는 대립가설의 사전분포의 폭에 끝까지 의존하고(연습 3.2), (2) 계층 모형에서 집단의 수 kk가 작으면 τ\tau의 사후분포는 τ\tau의 사전분포에 크게 의존한다. 보고서에는 사전분포를 바꿨을 때 결론이 얼마나 움직이는지 함께 적어야 한다.

그림 7.1. 왼쪽: 타율 자료의 계층 모형 Gibbs 표집에서 log_10τ의 경로. 정칙 사전분포 π(τ)∝1(청록)과 비정칙 사후분포를 주는 π(τ²)∝1/τ²(빨강). 가운데: 봉우리 둘(d=3)에서 걸음 폭 0.5와 4의 연쇄. 오른쪽: N(0,1)에서 걸음 폭 0.1, 2.4, 20의 처음 500걸음.
그림 7.1 왼쪽: 타율 자료의 계층 모형 Gibbs 표집에서 log⁡10τ\log_{10}\tau의 경로. 정칙 사전분포 π(τ)∝1\pi(\tau)\propto1(청록)과 비정칙 사후분포를 주는 π(τ2)∝1/τ2\pi(\tau^2)\propto1/\tau^2(빨강). 가운데: 봉우리 둘(d=3d=3)에서 걸음 폭 0.5와 4의 연쇄. 오른쪽: N(0,1)\N(0,1)에서 걸음 폭 0.1, 2.4, 20의 처음 500걸음.
연습문제

연습 7.1 (비정칙 사후분포 판별 ★★) Haldane 사전분포 π(p)∝p−1(1−p)−1\pi(p)\propto p^{-1}(1-p)^{-1}에서 b(n,p)\mathrm b(n,p)를 관측할 때 사후분포가 정칙일 필요충분조건은 0<s<n0<s<n임을 보여라. 이때 사후평균은 MLE s/ns/n과 같음을 보여라.

풀이

사후밀도는 ps−1(1−p)n−s−1p^{s-1}(1-p)^{n-s-1}이고, ∫01\int_0^1이 유한할 필요충분조건은 s−1>−1s-1>-1, n−s−1>−1n-s-1>-1, 곧 0<s<n0<s<n이다. 이때 사후분포는 Beta(s,n−s)\mathrm{Beta}(s,n-s)이고 평균은 s/ns/n이다.

연습 7.2 (성분 하나의 위험 ★★) θ=(a,0,…,0)\btheta=(a,0,\dots,0)이고 p→∞p\to\infty이면 James–Stein의 첫 성분 (1−p−2∥X∥2)X1\bigl(1-\frac{p-2}{\|\X\|^2}\bigr)X_1의 위험이 a2a^2에 가까워짐을 대수의 법칙으로 설명하라. 합계 위험은 pp에 비해 어떻게 되는가?

풀이

∥X∥2=(a+Z1)2+∑j≥2Zj2\|\X\|^2=(a+Z_1)^2+\sum_{j\ge2}Z_j^2이고 대수의 법칙으로 ∑j≥2Zj2/p→1\sum_{j\ge2}Z_j^2/p\to1이다. 축소 인자는 1−p−2p−1+(a+Z1)2+oP(p)→01-\frac{p-2}{p-1+(a+Z_1)^2+o_P(p)}\to0이므로 첫 성분은 0으로 가고 위험은 a2a^2으로 간다. 합계 위험은 p∥θ∥2/(p+∥θ∥2)p\|\btheta\|^2/(p+\|\btheta\|^2) 근처에서 많아야 4 위(연습 5.3), 곧 a2+4a^2+4 이하로 pp에 비해 아주 작다. p=50p=50, a=5a=5에서는 축소 인자가 대략 a2+1p+a2=0.35\frac{a^2+1}{p+a^2}=0.35라 첫 성분의 위험이 11.2에 머문다.

연습 7.3 (받아들임 비율의 함정 ★) 걸음 폭 σ→0\sigma\to0이면 무작위 걸음 Metropolis의 받아들임 비율은 1로 가지만 연쇄의 시차 1 자기상관도 1로 감을 설명하라. σ→∞\sigma\to\infty이면 어떻게 되는가?

풀이

σ→0\sigma\to0이면 π(y)/π(x)→1\pi(y)/\pi(x)\to1이라 거의 다 받아들이지만 ∣Xt+1−Xt∣≤σ∣ϵ∣|X_{t+1}-X_t|\le\sigma|\epsilon|이 작아 시차 1 자기상관이 1로 간다. σ→∞\sigma\to\infty이면 제안이 대부분 밀도가 거의 0인 곳에 떨어져 거절되고, 연쇄가 같은 값에 머물러 역시 자기상관이 1로 간다. 두 극단 모두 Neff→0N_{\mathrm{eff}}\to0이다.

이 회차에서 읽은 절 0개 · 회차 차례