Skip to content

8회 · 추론의 기초 · 노트

8 Beautiful insights — 균등성과 순위 ​

8.1 균등성으로 보정을 점검하기 ​

정리 4.2의 뒤집은 형태가 쓸모 있다. 계산이 맞다면 pp-값은 균등해야 한다. 그러니 균등하지 않으면 계산이 틀렸다. 이 생각이 여러 곳에서 진단 도구가 된다.

  • 예측분포의 보정. 일기예보나 회귀모형이 관측 yty_t마다 예측분포 FtF_t를 내놓는다면, 보정이 맞을 때 Ft(yt)F_t(y_t)는 균등하다(2회 정리 4.7, PIT). 그 히스토그램이 U자이면 예측이 지나치게 확신하고(분산이 작고), 가운데가 솟으면 지나치게 조심스럽다(Dawid 1984; Gneiting 외 2007).

  • 베이즈 계산의 점검. 사전분포에서 θ\theta를 뽑고, 그 θ\theta로 자료를 만들고, 그 자료로 사후분포의 표본을 뽑으면, 처음의 θ\theta가 사후표본들 사이에서 차지하는 순위는 균등해야 한다(Talts 외 2018, simulation-based calibration). 순위가 치우치면 사후분포를 계산하는 코드가 틀렸다(16회).

  • 검정 코드의 점검. 새 검정을 구현하면 귀무가설 아래에서 자료를 수천 번 만들어 pp-값의 히스토그램을 그려 본다. 노트북에서 모든 검정을 이렇게 점검한다.

8.2 순위와 등각 예측 ​

6회 정리 8.1의 예측구간은 정규를 가정했다. 분포를 전혀 가정하지 않고도 예측구간을 만들 수 있다. 열쇠는 순위다.

보조정리 8.1 (교환가능한 순위) S1,…,Sn+1S_1,\dots,S_{n+1}이 교환가능하고(결합분포가 순서를 바꿔도 같고) 같은 값이 나올 확률이 0이면, Sn+1S_{n+1}의 순위 R=#{i≤n+1:Si≤Sn+1}R=\#\{i\le n+1:S_i\le S_{n+1}\}는 {1,…,n+1}\{1,\dots,n+1\} 위의 균등분포다.

증명 전략 교환가능성으로 “SjS_j가 rr번째”의 확률은 jj와 무관하다. rr번째는 정확히 하나이므로 그 확률들의 합이 1이다. 단계별 증명은 연습 8.6(유도형)에서 직접 쓴다. 완성된 증명은 그 연습의 풀이에 있다.

정리 8.2 (분할 등각 예측) 아무 예측모형 μ^\hat\mu를 학습 자료로 만들고, 그것과 독립인 보정 자료 (Xi,Yi)(X_i,Y_i), i=1,…,ni=1,\dots,n에서 점수 Si=∣Yi−μ^(Xi)∣S_i=|Y_i-\hat\mu(X_i)|를 계산한다. k=⌈(n+1)(1−α)⌉≤nk=\lceil(n+1)(1-\alpha)\rceil\le n일 때 q^=S(k)\hat q=S_{(k)}로 두면, 새 관측 (Xn+1,Yn+1)(X_{n+1},Y_{n+1})이 보정 자료와 교환가능할 때

P(Yn+1∈[μ^(Xn+1)−q^, μ^(Xn+1)+q^])≥1−α.P\bigl(Y_{n+1}\in[\hat\mu(X_{n+1})-\hat q,\ \hat\mu(X_{n+1})+\hat q]\bigr)\ge1-\alpha .

증명 전략 학습 자료를 고정하면 점수 S1,…,Sn+1S_1,\dots,S_{n+1}이 교환가능하다. 포함 사건을 “Sn+1S_{n+1}의 순위가 kk 이하”로 바꾸고 보조정리 8.1를 쓴다.

  1. 학습 자료가 주어지면 μ^\hat\mu는 고정된 함수이고, 같은 함수를 교환가능한 (Xi,Yi)(X_i,Y_i)들에 쓴 S1,…,Sn+1S_1,\dots,S_{n+1}도 교환가능하다.학습 자료와 보정 자료의 독립

  2. Yn+1∈[μ^(Xn+1)−q^, μ^(Xn+1)+q^]  ⟺  Sn+1≤q^=S(k)Y_{n+1}\in[\hat\mu(X_{n+1})-\hat q,\allowbreak \ \hat\mu(X_{n+1})+\hat q]\iff S_{n+1}\le\hat q=S_{(k)}이다. 여기서 S(k)S_{(k)}는 보정 점수 nn개의 kk번째 순서통계량이다.절댓값의 정의

  3. 같은 값이 없으면 Sn+1≤S(k)S_{n+1}\le S_{(k)}는 “Sn+1S_{n+1}보다 작은 보정 점수가 k−1k-1개 이하”, 곧 Sn+1S_{n+1}의 n+1n+1개 가운데 순위 RR이 kk 이하인 것과 같다.원소 추적 [T1]

  4. P(R≤k)=kn+1≥1−αP(R\le k)=\tfrac k{n+1}\ge1-\alpha이다. 학습 자료에 대해 조건부로 성립하므로 무조건부로도 성립한다.보조정리 8.1, k≥(n+1)(1−α)k\ge(n+1)(1-\alpha)

조건 확인 같은 값이 나올 확률이 양수이면, 같은 값들 사이의 순서를 동전으로 정한 순위 R′R'은 교환가능성으로 여전히 균등하다. R′≤kR'\le k이면 Sn+1≤S(k)S_{n+1}\le S_{(k)}이므로 포함확률은 kn+1\tfrac k{n+1} 이상이다.

모형이 신경망이든 무작위 숲이든, 자료가 정규든 아니든 성립한다. 가정은 교환가능성 하나다(Vovk, Gammerman, Shafer 2005; Lei 외 2018). 같은 논증이 7.4절의 Monte Carlo 검정의 타당성이고, 15회의 순열검정의 원리다. 대가는 구간이 xx에 따라 넓어지거나 좁아지지 않는다는 것이고(점수를 바꿔 고친다), 보장이 평균적인 포함이라는 것이다.

8.3 다중검정 — Bonferroni와 거짓 발견율 ​

유전자 2만 개 가운데 어느 것이 질병과 관련 있는지 검정하면 α=0.05\alpha=0.05에서 거짓 양성이 천 개다. 두 가지 해법이 있다.

명제 8.3 (Bonferroni) mm개의 검정을 각각 α/m\alpha/m로 하면, 어떤 의존 구조에서도 하나라도 거짓 양성이 나올 확률(가족별 오류율)은 α\alpha 이하다.

증명 참인 귀무가설의 집합을 I0I_0라 하면 P(⋃i∈I0{pi≤α/m})≤∑i∈I0P(pi≤α/m)≤∣I0∣αm≤αP\bigl(\bigcup_{i\in I_0}\{p_i\le\alpha/m\}\bigr)\le\sum_{i\in I_0}P(p_i\le\alpha/m)\le|I_0|\tfrac\alpha m\le\alpha (합집합 한계, 1회; 정리 4.2).

증명 없이 쓰는 사실 (Benjamini–Hochberg (1995)) pp-값을 정렬해 p(i)≤imqp_{(i)}\le\tfrac imq인 가장 큰 ii를 kk라 하고 p(1),…,p(k)p_{(1)},\dots,p_{(k)}를 모두 기각하면, 검정들이 독립일 때 거짓 발견율, 곧 기각한 것 가운데 거짓 양성의 기대 비율이 q⋅m0m≤qq\cdot\tfrac{m_0}m\le q 이하다. 하나도 틀리지 않으려는 Bonferroni보다 훨씬 많이 찾는다.

1,000개의 검정 가운데 100개에 실제 효과(zz의 평균 3)가 있는 시뮬레이션에서 q=0.1q=0.1의 Benjamini–Hochberg는 평균 79개를, 같은 수준의 Bonferroni는 평균 24개를 찾았다(노트북, 200번 반복). BH가 찾은 것 가운데 거짓은 평균 9%였다. 유전체학, A/B 시험, 뇌영상에서 오늘의 표준이 거짓 발견율인 이유다.

8.4 시험 자료를 거듭 쓰면 ​

기계학습의 시험 자료는 검정과 같은 역할을 한다. 모형이 시험 자료에서 좋은 점수를 받으면 “일반화한다”고 결론짓는다. 그런데 같은 시험 자료로 모형을 수백 번 고르면, 그것은 수백 번의 검정을 하고 가장 좋은 하나를 보고하는 것과 같다(7.1절). 경진대회의 공개 순위표가 비공개 순위표와 어긋나는 것이 그 결과다. Dwork 외(2015)는 시험 자료를 거듭 쓰면서도 이런 적응적 과적합을 막는 방법(재사용 가능한 홀드아웃)을 제안했다. 한편 ImageNet의 시험 자료를 같은 절차로 새로 모은 Recht 외(2019)는 정확도가 11–14%포인트 떨어졌지만 모형들의 순위는 거의 그대로임을 보이고, 그 원인을 적응적 과적합보다 자료 수집의 미묘한 차이로 보았다. 어느 쪽이든 교훈은 7절과 같다. 같은 자료로 질문을 고르고 답을 확인하면 오차의 계산이 무효가 된다.

연습문제

연습 8.1 (PIT 히스토그램 ★) 참 분포가 N(0,1)\N(0,1)인데 예측분포를 N(0,0.52)\N(0,0.5^2)으로 내놓으면 F(Y)F(Y)의 분포가 U자임을 보여라. N(0,22)\N(0,2^2)이면?

풀이

F(Y)=Φ(Y/0.5)=Φ(2Y)F(Y)=\Phi(Y/0.5)=\Phi(2Y)이고 2Y∼N(0,4)2Y\sim\N(0,4)이므로 F(Y)F(Y)는 0과 1 근처에 몰린다(U자). 예측분포가 너무 좁으면 관측이 예측의 꼬리에 자주 떨어진다. N(0,22)\N(0,2^2)이면 Φ(Y/2)\Phi(Y/2)가 0.5 근처에 몰린다(혹 모양).

연습 8.2 (등각 구간의 위쪽 한계 ★★★) 정리 8.2에서 점수가 연속이면 포함확률이 1−α+1n+11-\alpha+\tfrac1{n+1} 이하임도 보여라. n=19n=19, α=0.1\alpha=0.1이면 포함확률은 정확히 얼마인가?

풀이

점수가 연속이면 순위가 정확히 균등하므로 포함확률은 정확히 kn+1\tfrac k{n+1}이고, k=⌈(n+1)(1−α)⌉<(n+1)(1−α)+1k=\lceil(n+1)(1-\alpha)\rceil<(n+1)(1-\alpha)+1이므로 kn+1<1−α+1n+1\tfrac k{n+1}<1-\alpha+\tfrac1{n+1}. n=19n=19, α=0.1\alpha=0.1이면 k=18k=18이고 포함확률은 정확히 0.90.9다.

연습 8.3 (Bonferroni와 독립 ★) 검정들이 독립이면 각각 α/m\alpha/m로 할 때 가족별 오류율이 정확히 1−(1−α/m)m1-(1-\alpha/m)^m임을 보이고, m=20m=20, α=0.05\alpha=0.05에서 계산하라. Bonferroni 한계와 얼마나 가까운가?

풀이

독립이면 하나도 기각하지 않을 확률이 (1−α/m)m(1-\alpha/m)^m이므로 가족별 오류율은 1−(1−0.0025)20=0.04881-(1-0.0025)^{20}=0.0488. Bonferroni 한계 0.05와 거의 같다. 독립에서도 한계가 거의 정확하다.

연습 8.4 (BH를 손으로 ★★) m=10m=10개의 pp-값 0.0010.001, 0.0040.004, 0.0090.009, 0.020.02, 0.030.03, 0.040.04, 0.20.2, 0.40.4, 0.60.6, 0.90.9에 q=0.05q=0.05의 Benjamini–Hochberg를 적용하면 몇 개를 기각하는가? Bonferroni는?

풀이

기준선 i10⋅0.05=0.005,0.010,0.015,0.020,0.025,…\tfrac i{10}\cdot0.05=0.005,\allowbreak 0.010,\allowbreak 0.015,\allowbreak 0.020,\allowbreak 0.025,\allowbreak \dots와 비교하면 p(4)=0.02≤0.02p_{(4)}=0.02\le0.02이고 i≥5i\ge5에서는 모두 넘으므로 k=4k=4, 네 개를 기각한다. Bonferroni(0.0050.005)는 둘(0.001, 0.004)이다.

연습 8.5 (순위의 균등성 ★★) θ∼N(0,1)\theta\sim\N(0,1), X∣θ∼N(θ,1)X\mid\theta\sim\N(\theta,1)이면 사후분포는 N(X/2, 1/2)\N(X/2,\ 1/2)이다. 노트북에서 θ\theta를 뽑고, XX를 만들고, 사후분포에서 표본 19개를 뽑아 θ\theta의 순위를 기록하는 일을 수천 번 하라. 순위가 {1,…,20}\{1,\dots,20\}에서 균등함을 확인하고, 사후분산을 일부러 1/41/4로 틀리게 하면 히스토그램이 어떻게 되는지 보라.

풀이

올바른 사후분포 N(X/2,12)\N(X/2,\tfrac12)이면 θ\theta와 사후표본 19개는 (XX가 주어질 때) 같은 분포에서 나온 교환가능한 20개이므로 순위가 균등하다(보조정리 8.1). 사후분산을 14\tfrac14로 줄이면 사후표본이 너무 모여 있어 θ\theta가 양 끝 순위(1이나 20)에 자주 떨어진다. 히스토그램이 U자가 된다.

연습 8.6 (교환가능한 순위의 증명 ★★ 유도형) 보조정리 8.1를 증명하라. Rj=#{i≤n+1:Si≤Sj}R_j=\#\{i\le n+1:S_i\le S_j\}는 SjS_j의 순위다.

  1. (a)

    jj와 n+1n+1을 맞바꾸는 순열을 (S1,…,Sn+1)(S_1,\dots,S_{n+1})에 쓰면 결합분포가 같다는 것에서 P(Rj=r)=P(Rn+1=r)P(R_j=r)=P(R_{n+1}=r)을 보여라.

  2. (b)

    같은 값이 없으면 각 rr에 대해 Rj=rR_j=r인 jj가 정확히 하나임을 보이고 ∑j=1n+1P(Rj=r)=1\sum_{j=1}^{n+1}P(R_j=r)=1을 얻어라.

  3. (c)

    (a)와 (b)로 P(Rn+1=r)=1n+1P(R_{n+1}=r)=\tfrac1{n+1}을 결론지어라.

  4. (d)

    같은 값이 나올 수 있으면 (b)의 어느 부분이 틀리는가? SiS_i가 모두 같은 극단적인 경우로 확인하라.

풀이

(a) σ\sigma를 jj와 n+1n+1을 맞바꾸는 순열이라 하자. 교환가능성으로 (Sσ(1),…,Sσ(n+1))(S_{\sigma(1)},\allowbreak \dots,\allowbreak S_{\sigma(n+1)})은 (S1,…,Sn+1)(S_1,\dots,S_{n+1})과 분포가 같다. RjR_j는 (S1,…,Sn+1)(S_1,\dots,S_{n+1})의 함수이고, 맞바꾼 벡터에 같은 함수를 쓰면 Rn+1R_{n+1}이 된다. 따라서 RjR_j와 Rn+1R_{n+1}은 분포가 같다. (b) 값이 모두 다르면 S1,…,Sn+1S_1,\dots,S_{n+1}을 작은 것부터 늘어놓을 때 rr번째 자리에 정확히 하나가 있고, 그 하나만 Rj=rR_j=r이다. 사건 {Rj=r}\{R_j=r\} (j=1,…,n+1j=1,\dots,n+1)은 확률 0인 사건을 빼면 쌍마다 서로소이고 합집합이 전체이므로 확률의 합이 1이다. (c) (a)로 n+1n+1개의 확률이 모두 P(Rn+1=r)P(R_{n+1}=r)이므로 (n+1)P(Rn+1=r)=1(n+1)P(R_{n+1}=r)=1이다. (d) 같은 값이 있으면 rr번째 자리에 둘 이상이 있거나 아무도 없을 수 있다. 모든 SiS_i가 같으면 모든 Rj=n+1R_j=n+1이고, Rn+1R_{n+1}은 균등하지 않다.

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