과학과 기술/통계이론설명
베이즈 확률표 Bayesian probability table - 6
부르칸
2021. 9. 10. 05:14
앞서 베이즈 확률표 Bayesian probability table - 5에서 측정값이 y 하나일때만 알아보았는데 여기서는 측정값 y가 여러개일경우를 생각해보자.
Random sample $y_1, y_2, \cdots , y_n$가 평균이 $\mu$이고 알려진 표준편차 $\sigma$라고 가정하면 posterior는
$$p( \mu | y_1 , y_2 , \cdots , y_n ) \propto p(\mu) \, p(y_1 , y_2 , \cdots , y_n | \mu)$$
인데 여기서 y는 모두 독립이므로
$$p( \mu | y_1 , y_2 , \cdots , y_n ) \propto p(\mu) \, p(y_1 | \mu) \, p(y_2 | \mu) \, \cdots \, p(y_n | \mu)$$
이며 각각의 측정값 $y_j | \mu$는 평균이 $\mu$이고 표준편차가 $\sigma$인 정규분포이다.
예를들어 관측값이 3.2, 2.2, 3.6, 4.1이 있고 가능한 $\mu$의 값이 2.0, 2.5, 3.0, 3.5, 4.0인데 모두 표준편차가 1인 정규분포를 가질때 posterior를 구해보자. 관측값이 3.2일때 구한 posterior를 관측값이 2.2일때의 prior에 해당되므로 아래와같이 순차적으로 구할수가 있다.
> prob = 0.2
> theta = seq(from=2, to=4, by=0.5)
> prior = rep(prob, 5)
> likelihood = dnorm(theta, x=3.2, sd=1)
> posterior1 = prior * likelihood / sum(prior * likelihood)
> posterior1
[1] 0.1237988 0.1990702 0.2493001 0.2431449 0.1846861
> prior = posterior1
> likelihood = dnorm(theta, x=2.2, sd=1)
> posterior2 = prior * likelihood / sum(prior * likelihood)
> posterior2
[1] 0.19149608 0.30032563 0.28567858 0.16482220 0.05767751
> prior = posterior2
> likelihood = dnorm(theta, x=3.6, sd=1)
> posterior3 = prior * likelihood / sum(prior * likelihood)
> posterior3
[1] 0.07910064 0.24364712 0.35450447 0.24364712 0.07910064
> prior = posterior3
> likelihood = dnorm(theta, x=4.1, sd=1)
> posterior4 = prior * likelihood / sum(prior * likelihood)
> posterior4
[1] 0.01579107 0.12266347 0.35052941 0.36850143 0.14251462
R 실행결과중 posterior4가 원하는 posterior가 된다.