5. 베이즈는 누구? I
토마스 베이즈는 1702년에 태어나 1761년 4월 17일에 사망하였다.
베이즈는 영국 장로교 목사이자 아마추어 수학자 였다.
6. 베이즈의 논문 I
1748년에 데이빗 흄(David Hume)은 인간의 이해에 대한 질문(An
Enquiry Concerning Human Understanding)이라는 제목의 책을
출간하고 기독교의 근본적인 믿음에 대한 공격을 한다. 흄은 모든
것은 경험에 배울수 있고 전통적인 믿음, 도덕과 인과론(Cause and
Effect)을 의심하였다.
베이즈는 흄의 주장에 대한 반응으로 현대적인 용어로 역확률의
문제(Inverse Probability Problem)을 고려하였다. 이 연구의 결과는
베이즈의 사후에 1763년에 베이즈의 친구인 프라이스(Price)가
확률의 원칙에 관한 한 개의 문제를 풀기위한 논고(An Essay Toward
Solving a Problem in the Doctrine of Chances)라는 제목의 논문으로
출판한다. 이 논문에서 베이즈 정리(Bayes’ Theorem)가 발표된다.
10. 압정 10개를 던져서 7 개의 와 3 개의 ⊥를 얻었다.
의 확률에 대해 어떤 결론을 내릴 수 있나?
11. 모수 θ = 의 확률
관측치 x = 압정을 10번 던졌을 때 가 나온 횟수
문제 x = 7를 관측했을 때 θ에 관한 추론은?
12. 베이즈 추론
베이즈 추론은 다음의 세 가지 요소로 이루어져 있다.
사전분포: θ의 분포로 자료를 보기 전의 분석자의 θ에 관한
불확실성을 나타낸다. π(θ)로 나타낸다.
확률모형: x|θ ∼ p(x|θ).
사후분포: 자료가 주어졌을 때 θ의 확률분포로 자료를 본 후의
분석자의 θ에 관한 불확실성을 나타낸다. π(θ|x)로 나타낸다.
13. 베이즈 법칙: 사후분포의 계산방법 I
베이즈 법칙 혹은 베이즈 정리는 사후분포를 계산하는 수학적 방법이다.
θ와 x의 결합분포는 다음과 같다.
p(θ, x) = π(θ)p(x|θ).
x가 주어졌을 때 θ의 사후분포는
π(θ|x) =
p(θ, x)
p(x)
=
π(θ)p(x|θ)
p(x)
여기서
p(x) = p(θ, x)dθ = π(θ)p(x|θ)dθ.
14. 베이즈 법칙: 사후분포의 계산방법 II
분모의 p(x)가 θ와 무관하므로, 보통 다음과 같이 베이즈 정리를
표현한다.
π(θ|x) ∝ π(θ)p(x|θ)
혹은
사후분포 ∝ 사전분포 × 가능도.
15. 베이즈 법칙: 사후분포의 계산방법 III
사전분포: θ ∼ Uniform(0, 1).
자료 x를 보기 전에, 모든 θ값이 동일한 가능성을 갖고 있다면, 즉
모든 θ1 = θ2에 대하여 π(θ1) = π(θ2)라면 θ ∼ Uniform(0, 1).
가능도: x|θ ∼ Binomial(n, θ).
16. 베이즈 법칙: 사후분포의 계산방법 IV
사후분포
π(θ|x) ∝ π(θ) × p(x|θ)
= 1 ×
n
x
θx
(1 − θ)n−x
∝ θx
(1 − θ)n−x
, 0 < θ < 1.
θ|x ∼ Beta(x + 1, n − x + 1).
압정의 예에서는,
θ|x = 7 ∼ Beta(8, 4).
18. 베이즈 추정량
베이즈 추정량은 사후분포의 한 점 요약이다.
보통 사후분포의 평균(Posterior mean), 최대사후분포추정량(MAP,
Maximum a Posteriori), 사후분포의 중간값(Posterior median) 등을
쓴다.
압정의 예
사후분포는 θ|x ∼ Beta(x + 1, n − x + 1)이고, 사후분포의 평균은
E(θ|x) =
x + 1
n + 2
=
7 + 1
10 + 2
= 0.667
이다.
19. 신용구간(Credible Set)
베이즈 구간 추정량을 신용구간이라 부른다.
베이즈 추론에서 구간추정은 매우 자연스럽다. 100(1 − α)%
신용구간은 다음을 만족하는 (L, U)이다.
P[L < θ < U|x] = 1 − α
20. 압정의 예
0.0 0.2 0.4 0.6 0.8 1.0
0.00.51.01.52.02.53.0
theta
density
사후분포 Beta(8, 4) 0.025와 0.975 분위수는 0.390와 0.891이다.
따라서, θ의 95% 신용구간은
(0.390, 0.891)
이다.
22. 쥐의 종양 자료
앤드류 겔만(Andrew Gelman)의 웹페이지에서 얻은 자료이다.
종양(endometrial stromal polyps)을 가진 암컷쥐들의 수가
기록되었다.
현재의 자료에서는 14마리의 쥐 중에 4마리의 쥐가 종양을 보였다.
또한 비슷한 70개의 자료가 있다.
목표
목표는 현재의 자료에서 쥐가 종양을 가질 확률 θ를 추정하는
것이다.
26. 첫번째 분석에서 얻은 사후분포의 밀도함수
0.0 0.2 0.4 0.6 0.8 1.0
0.00.51.01.52.02.53.03.5
x
dbeta(x,5,11)
27. 두번째 분석
첫번째 분석의 문제점은 과거의 70개의 자료를 분석에 사용하지
않아서 과거의 자료에 있는 정보를 사용하지 않는다는 것이다.
과거의 자료를 사용하기 위해 모든 과거의 자료와 현재의 자료가
동일한 조건에서 얻어진 실험 결과인 것을 고려해서, 모든 자료를
합쳐서 분석한다.
x = xi (= 267) ∼ Bin( ni = 1739, θ).
29. 두번째 분석에서 얻은 사후분포의 밀도함수
0.0 0.2 0.4 0.6 0.8 1.0
010203040
x
dbeta(x,alpha,beta)
30. θ1 = . . . = θ71이라고 믿을 수 있는가?
두번째 분석의 문제점은 모든 실험이 엄밀하게 동일한 조건에서
수행되었다고 믿을 수 없는데도 불구하고 71개의 이항실험의 모든 θi
들이 같은 값을 갖는다고 가정했다는데 있다.
xi ∼ Bin(ni , θi ), i = 1, . . . , 71.
θ1 = . . . = θ71이라고 믿을 수 있는가?
31. 이를 알아보기 위해 다음을 정의하자.
¯θ =
xi
ni
= 0.1535365
ˆθi =
xi + 0.5
ni + 1
1
zi =
ˆθi − ¯θ
ˆθi (1 − ˆθi )/ni
.
만약 모든 θi 가 같다면 zi 는 근사적으로 N(0, 1)를 따를 것이다. 다음은 zi
들의 히스토그램과 정규 Q-Q 그림이다.
1
Instead of xi /ni , we use this estimator because there are many 0s.
32. Histogram of phat
phat
Frequency
0.0 0.1 0.2 0.3 0.4
051015
Histogram of z
z
Frequency
4 3 2 1 0 1 2 3
024681012
2 1 0 1 2
4321012
z
Theoretical Quantiles
SampleQuantiles
2 1 0 1 2
1012
q q plot of z[y>0]
Theoretical Quantiles
SampleQuantiles
33. 위의 히스토그램과 정규 Q-Q 그림을 보면 zi 들은 N(0, 1)에서
발생되었다고 보기 힘들다.
주요한 이유는 많은 0 때문이다. xi = 0인 자료를 제외한 zi 들의 정규
Q-Q 그림은 직선에 가깝다. 하지만 많은 0을 무시할 수는 없다.
첫번째와 두번째 분석 모두 만족스럽지 못하다.
34. 세번째 분석
과거 70개의 자료를 이용하여 정보를 가진(informative) 사전분포를
구축한다. 70개의 θi 가 정확히 동일한 값은 갖지 않지만 비슷하다는
가정은 매우 합리적이다. 다음을 가정한다.
θi ∼ Beta(α, β), i = 1, . . . , 71,
위의 가정하에서 α와 β를 추정한다.
35. 과거 70개의 ˆθi 들의 표본평균과 표본표준편차는 각각 0.1524775,
0.009511018이다. 2
아래의 식을 풀어서
α
α + β
= 0.1524
αβ
(α + β)2(α + β + 1)
= 0.0095112
,
다음의 값들을 얻는다.
α = 1.919
β = 10.66794.
2
이를 위해 추정량 ˆθi = (yi + 0.5)/(ni + 1)이 사용되었다.
37. 세번째 분석에서 얻은 사후분포의 밀도함수
0.0 0.2 0.4 0.6 0.8 1.0
012345
x
dbeta(x,alpha,beta)
38. 세번째 분석에 관한 고찰
명백하게 세번째 분석은 첫번째와 두번째 분석보다 훨씬
합리적이다. 하지만 세번째 분석도 몇 가지 문제점을 가지고 있다.
만약 우리가 θi , i = 1, 2, . . . , 70에 대해서도 동일한 분석을 원한다면,
각각의 θi 에 대해 동일한 분석을 다시 해야한다.
분석에서 초모수(Hyperparameter) α와 β를 추정하여 사용하였는데,
마치 이들이 고정된 값인 것 처럼 사용하였다. 즉, 초모수의
추정에서 유래하는 불확실성을 무시하였다.
초모수 α와 β를 추정해야 하기 때문에, α와 β에 사전분포를 거는
것이 자연스럽다.
39. 우리는 주어진 모든 자료를 사용하고 싶고 또한 θi 들이 다른다는
것을 인정한다.
이를 위해서, θi 들은 하나의 확률분포에서 발생하였고 이 분포는
비슷한 실험에서 발생하는 모든 가능한 θi 들의 분포라고 가정한다.
θi
iid
∼ π(·). (1)
위의 가정은 교환가능성(Exchangeability)에 근거했다고 볼 수도
있다. 교환가능성은 자료를 보기 전에 θi 들 간에 서로 구별하는 어떤
정보도 없을 때 타당한 가정이다.
40. 계층모형(Hierarchical Model)
(모형) xi 에 관한 모형은 전과 동일하다.
xi |θi ∼ Bin(ni , θi ), i = 1, . . . , 71.
(사전분포) θi 는 한 개의 분포에서 발생하였고, 이 분포는 모든
가능한 θi 들의 분포를 나타낸다.
θi ∼ Beta(α, β), i = 1, . . . , 71.
(초사전분포) 초모수 α와 β를 모르므로, 이들에 사전분포를 건다.
α ∼ Gamma(aα, bα) β ∼ Gamma(aβ, bβ).
41. 초모수의 선택
다음과 같이 놓는다.
aα
bα
= 1
aα
b2
α
= 103
.
여기서 중요한 것은 초모수의 사전분포의 분산을 크게 놓는 것이다.
위의 방정식을 풀면 다음을 얻는다.
aα = bα = 10−3
.
마찬가지로, 다음을 얻는다.
aβ = bβ = 10−3
.
42. 최종 모형
(Model) xi |θ ∼ Bin(ni , θi ), i = 1, . . . , 71.
(Prior) θi ∼ Beta(α, β), i = 1, . . . , 71.
(Hyperprior) α ∼ Gamma(10−3
, 10−3
) and
β ∼ Gamma(10−3
, 10−3
).
45. 윈벅스
아래의 웹사이트에서 소프트웨어와 설명서를 다운로드할 수 있다.
http://www.mrc-bsu.cam.ac.uk/bugs/welcome.shtml
윈벅스는 무료이다.
MCMC 샘플을 발생시키는 도구이다.
대부분의 많이 사용되는 모형에 작동한다.
좋은 설명서를 다음의 웹사이트에서 얻을 수 있다 :
www.dme.ufrj.br/mcmc/WinBUGS.pdf.
47. 작스
아래의 웹사이트에서 소프트웨어와 설명서를 다운로드할 수 있다.
http://mcmc-jags.sourceforge.net
작스는 무료이다.
MCMC 샘플을 발생시키는 도구이고 윈벅스와 거의 동일한 문법을
갖고 있다.
윈벅스와 달리 유닉스, 맥, 윈도우에서 다 작동한다.
앞으로는 작스만 사용한다.
48. 알에서 작스의 수행
library(rjags)
model = "
model {
for (i in 1:N) {
x[i] ~ dbin(theta[i], n[i])
theta[i] ~ dbeta(alpha, beta)
}
alpha ~ dgamma(1E-3, 1E-3)
beta ~ dgamma(1E-3, 1E-3)
}
"
jags <- jags.model(textConnection(model), data =list(’x’=rats$x,’n’=rats$n,
’N’=length(rats$x)), n.chains = 1, n.adapt = 1000)
post <- coda.samples(jags, c("theta", "alpha", "beta"), 5000)
summary(post.sm)
par(mfrow=c(2,2))
traceplot(post.sm)
autocorr.plot(post.sm)
par(mfrow=c(1,1))
51. > summary(mc)
1. Empirical mean and standard deviation for each variable,
plus standard error of the mean:
Mean SD Naive SE Time-series SE
[1,] 2.58908 1.04569 0.0073941 0.0163059
[2,] 15.57233 6.18363 0.0437249 0.0747326
[3,] 0.06536 0.04165 0.0002945 0.0003306
[4,] 0.18520 0.04712 0.0003332 0.0003359
[5,] 0.27829 0.07197 0.0005089 0.0005584
[6,] 0.20860 0.07427 0.0005252 0.0005567
2. Quantiles for each variable:
2.5% 25% 50% 75% 97.5%
var1 1.29700 1.89775 2.36500 3.0103 5.4402
var2 7.71300 11.47000 14.31000 18.1200 32.3002
var3 0.00770 0.03383 0.05818 0.0886 0.1661
var4 0.10210 0.15170 0.18230 0.2151 0.2853
var5 0.15240 0.22660 0.27380 0.3244 0.4327
var6 0.08631 0.15430 0.20150 0.2541 0.3746
52. 계층모형 적용 자료 구조: 내포 자료와 집락표집설계
예: 강의 방법 효과 조사에서 학교를 랜덤하게 선택한 후에, 선택된
학교에서 다시 학생들을 랜덤하게 선택하여 조사.
내포 자료(nested data)에서는 하나의 층이 다른 층의 꼭 한 개의
값에만 나타난다. 즉 한 명의 학생이 하나의 학교에게만 나타난다.
한 명의 학생이 여러 학교에 나타나면 이를 교차 자료 구조(crossed
data structure)라고 한다.
이러한 표집방법을 집락표집설계(cluster sampling design)라고 한다.
학교를 무시하고 1원배치 분산분석을 사용하면 중요한 인자를
무시하게 된다.
예. 직장 만족도 조사. 큰 회사 안에 여러 개의 부서가 있고 부서
안의 직원을 조사.
예. 진료 만족도 조사. 심리치료사가 여러 명의 환자를 담당하고
있다. 환자는 여러 번의 세션을 갖는다. 세 개의 층이 있다. 치료사,
환자, 세션. 세션 후에 환자에게 조사.