Statistics/Bayesian Statistics (23) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ํผํฉ ๋ชจ๋ธ(Mixture model) ๋ค์์ ๋ฐ์ดํฐ์ ํ์คํ ๊ทธ๋จ์ ํ์ธํ๊ณ , ์ด๋ฅผ ์ ํฉํ ๋ถํฌ์ ๋ํ์ฌ ์๊ฐํด ๋ณด์. In: data = read.csv('../input/mixture.csv', header = F) y = data$V1 n = length(y) hist(y, breaks = 20) Out: โท ์ผ๋ฐ์ ์ธ ๋ถํฌ์๋ ๋ค๋ฅด๊ฒ -2์ 1 ๊ทผ์ฒ์ ๋ ๊ฐ์ ๋ด์ฐ๋ฆฌ๋ฅผ ํ์ฑํ๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ ์ ๊ท๋ถํฌ, ์ง์๋ถํฌ, ๊ฐ๋ง๋ถํฌ๋ ๋จ๋ดํํ๋ฅผ ๋๊ณ ์๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ์์ ๋ฐ์ดํฐ์ ์ ํฉํ ๊ฒฝ์ฐ, ๋ ๊ฐ์ ๋ด์ฐ๋ฆฌ์ ๋ํด ์ ํฉํ ๋ถํฌ๋ฅผ ์ป์ ์ ์๋ค. โถ ํผํฉ ๋ชจ๋ธ(Mixture model)์ ๋ ๊ฐ์ด์์ ๋ถํฌ๋ฅผ ํฉ์ณ์ ๋ง๋ ๋ชจ๋ธ๋ก ๊ธฐ์กด ๋ถํฌ์ ๋นํ์ฌ ์์ ๋ ๋์ ์ ํฉ์ด ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋ค. ๋ํ ๋ณต์กํ ๋ถ.. ์์์ ํธ ๋ชจ๋ธ(Random intercept model) R์ car ํจํค์ง์ Leinhardt ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ์์์ ํธ ๋ชจ๋ธ(Random intercept model)์ ๋ชจ๋ธ์ ๋ง๋ค์ด๋ณด์. ์ํ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. ๋ฐ์ดํฐ ํ์ธ 2. ๋ชจ๋ธ๋ง 3. ๋ชจ๋ธํ์ธ 1. ๋ฐ์ดํฐ ํ์ธ In: library(car) data('Leinhardt') pairs(Leinhardt) head(Leinhardt) Out: income infant region oil Australia 3426 26.7 Asia no Austria 3350 23.7 Europe no Belgium 3346 17.0 Europe no Canada 4751 16.8 Americas no Denmark 5029 13.5 Europe no Finland 3312 10.1 Europe no โท ์ฐ์ํ .. Bayesian linear model for New York air quality measurements ์บ๋ฆฌํฌ๋์ ๋ํ๊ต์ "Bayesian Statistics: Techniques and Models"์ ์ด์ํ๊ธฐ ์ํ ํ๋ก์ ํธ ๊ฒฐ๊ณผ๋ฌผ์ด๋ค. ########################## # setting & loading data # ########################## set.seed(777) library(dplyr) library(tidyr) library(ggplot2) library(GGally) library(rjags) theme_set(theme_light() + theme(plot.title = element_text(face = 'bold', colour = 'grey10'), plot.subtitle = element_text(colour = 'grey25'), panel... ๊ณ์ธต์ ๋ชจ๋ธ(Hierarchical model) ๋ค์์ ์์ ๋ฅผ ํตํด ๊ณ์ธต์ ๋ชจ๋ธ(Hierarchical model)์ ํน์ง์ ์์๋ณด๊ณ , ๋ชจ๋ธ๋ง ๊ฒฐ๊ณผ์ ๋ํด ๋ถ์ํด ๋ณด์. ๋ฌธ์ ) ์น์ด์ ์์ฐํ๋ 5๊ฐ์ ๊ณต์ฅ์ด ์๋ค. ๊ฐ ๊ณต์ฅ์์ ์์ฐ๋ ์น์ด ๊ณผ์ 1๊ฐ์ ๋ฐํ ์๋ ์ด์ฝ์นฉ ๊ฐ์๊ฐ ํฌ์์ก ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๊ณ , ํฌ์์ก ๋ถํฌ์ ๋ชจ์๋ ๊ฐ๋ง๋ถํฌ๋ฅผ ๋ฐ๋ฅธ๋ค. cookies ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ์น์ด ๊ณผ์๊ฐ ์์ฐ๋ ๋, ๋ฐํ ์๋ ์ด์ฝ์นฉ ๊ฐ์์ ๋ํ ๋ชจ๋ธ๋ง์ ์ํํ ํ, ๋ถ์ํ์์ค. ํ์ด) โท ์์ ๋ฌธ์ ์ ๋ํด ํฌ๊ฒ 3๊ฐ์ง ๋ชจ๋ธ๋ง ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. (1) Fully independent model: ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋ ๋ฆฝ์ด๋ผ ๊ฐ์ ํ๊ณ , ํ๋์ ํฌ์์ก ๋ชจ๋ธ์ ๋ง๋๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฐ ๊ณต์ฅ๋ณ ์ฐจ์ด์ ๊ฐ์ ๊ณต์ฅ์์ ์์ฐ๋ ์น์ด์ ๋น์ทํ ํน์ฑ์ ๊ณ ๋ คํ์ง ๋ชปํ๋ค๋ ํ๊ณ๊ฐ ์๋ค. .. ๋ฒ ์ด์ง์ ํฌ์์ก ํ๊ท(Bayesian poisson regression) ๋จ์ ํฌ์์ก ํ๊ท(Simple poisson regression) ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ๋ค. โท ๊ฐ๋ฅ๋๋ ํฌ์์ก ๋ถํฌ๋ก ์ ํ๊ณ , ๊ฐ๋ฅ๋ ๋ชจ์์ ๋ก๊ทธ๋ฅผ ์ทจํ ๊ฒ์ ๋ํ์ฌ ๋ ๋ฆฝ๋ณ์์ ์ ํ๊ฒฐํฉ์ผ๋ก ์ ์ํ๋ค. ์ด๋, ์์ ์์์๋ ํ๋์ ๋ ๋ฆฝ๋ณ์์ ๋ํ ์ ํ๊ฒฐํฉ์ผ๋ก ํํํ์์ง๋ง, ๋ ๋ฆฝ๋ณ์๊ฐ ์ฌ๋ฌ๊ฐ์ด๋ฉด ์ด ๋ ๋ฆฝ๋ณ์๋ค์ ์ ํ๊ฒฐํฉ์ ํตํด ๊ฐ๋ฅ๋ ๋ชจ์์ ๋ก๊ทธ๋ฅผ ์ทจํ ๊ฐ์ ๋ํ์ฌ ์ ์ํ๋ค. โท ํฌ์์ก ํ๊ท ๋ชจ๋ธ์ ์์ธก์ ๊ฐ๋ณ ๋ฐ์ดํฐ์ ๊ฐ๋ฅ๋์ ํ๊ท , ์ฆ, ๊ฐ๋ฅ๋์ ๋ชจ์๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ค. โท ๋ฒ ์ด์ง์ ํฌ์์ก ํ๊ท(Bayesian poisson regression)๋ ๋ ๋ฆฝ๋ณ์์ ์ ํ๊ฒฐํฉ๋ ๋ชจ์ beta์ ์ฌ์ ๋ถํฌ๋ฅผ ์ ์ํ๋ค๋ ์ ์์ ํฌ์์ก ํ๊ท์ ์ฐจ์ด๊ฐ ์๋ค. R์ COUNT ํจํค์ง์ badhealth ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ฒ ์ด์ง.. ๋ฒ ์ด์ง์ ๋ก์ง์คํฑ ํ๊ท(Bayesian logistic regression) ๋จ์ ๋ก์ง์คํฑ ํ๊ท(Simple logistic regression) ๋ชจ๋ธ์ ๋ค์๊ณผ ๊ฐ๋ค. โท ๊ฐ๋ฅ๋๋ ๋ฒ ๋ฅด๋์ด ๋ถํฌ๋ก ์ ํ๊ณ , ๊ฐ๋ฅ๋ ๋ชจ์์ ๋ก์ง(Logit)์ ๋ ๋ฆฝ๋ณ์์ ์ ํ๊ฒฐํฉ์ผ๋ก ์ ์ํ๋ค. ์ด๋, ์์ ์์์๋ ํ๋์ ๋ ๋ฆฝ๋ณ์์ ๋ํ ์ ํ๊ฒฐํฉ์ผ๋ก ํํํ์์ง๋ง, ๋ ๋ฆฝ๋ณ์๊ฐ ์ฌ๋ฌ๊ฐ์ด๋ฉด ์ด ๋ ๋ฆฝ๋ณ์๋ค์ ์ ํ๊ฒฐํฉ์ ํตํด ๋ก์ง์ ์ ์ํ๋ค. โท ๋ก์ง์คํฑ ํ๊ท์ ์์ธก์ ๊ฐ๋ณ ๋ฐ์ดํฐ์ ๊ฐ๋ฅ๋์ ํ๊ท , ์ฆ ๊ฐ๋ฅ๋์ ๋ชจ์๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ค. โถ ๋ฒ ์ด์ง์ ๋ก์ง์คํฑ ํ๊ท(Bayesian logistic regression)๋ ๋ก์ง์ ๋ํ๋ด๋ ๋ ๋ฆฝ๋ณ์์ ์ ํ๊ฒฐํฉ๋ ๋ชจ์์ ์ฌ์ ๋ถํฌ๋ฅผ ์ ์ํ๋ค๋ ์ ์์ ๋ก์ง์คํฑ ํ๊ท์ ์ฐจ์ด๊ฐ ์๋ค. R์ boot ํจํค์ง์ urine ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ฒ ์ด์ง์ ๋ก์ง์คํฑ ํ๊ท ๋ถ์์ ์ํํ ๊ฒ.. DIC(Deviance Information Criterion) ๋ฒ ์ด์ง์ ๋ชจ๋ธ์์๋ ๋ชจ๋ธ ์ ํ์ ์ํ ์ ๋ณด์ ๊ธฐ์ค์ผ๋ก์จ DIC(Deviance Information Criterion)์ ์ ์ํ๊ณ ์๋ค. DIC์ ๊ณต์์ ๋ค์๊ณผ ๊ฐ๋ค. โท theta hat์ ๊ฐ ๋ชจ์์ ์ฌํํ๊ท ์ด๊ณ , ์ฌํ๋ถํฌ๋ก๋ถํฐ ์ป์ theta hat์ ๋ก๊ทธ ๊ฐ๋ฅ๋์ ์ค์ง์ ์ธ ๋ชจ์์ ๊ฐฏ์(Effective number of parameters)๋ฅผ ๊ณ ๋ คํ์ฌ DIC๋ฅผ ๊ตฌํ ์ ์๋ค. โถ ์ค์ง์ ์ธ ๋ชจ์์ ๊ฐฏ์๋ ๋ชจ๋ธ์ ์ถ์ ์น ์ฌ์ด์ ์๊ด(Correlation)์ ๊ณ ๋ คํ๊ธฐ ์ํ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด, ๋ชจ๋ธ์ ์ถ์ ์น ์ฌ์ด์ 0.99์ ์๊ด์ด ์กด์ฌํ๋ค๋ฉด ์ด๋ฅผ ๋ ๋ฆฝ์ ์ธ ๋ชจ์๋ก ๊ฐ์ฃผํ๋ค๋ฉด ํฉ๋ฆฌ์ ์ด์ง ์์ ๊ฒ์ด๋ค. R์ car ํจํค์ง์ Leihardt ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ ๋ ๋ชจ๋ธ์ DIC๋ฅผ ํตํด ๋น๊ตํ์ฌ๋ณด์. In: lib.. ๋ฒ ์ด์ง์ ์ ํ ํ๊ท(Bayesian linear regression) R์ car ํจํค์ง์ Leihardt ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ฒ ์ด์ง์ ์ ํ ํ๊ท(Bayesian linear regression) ๋ถ์์ ์ํํ ๊ฒ์ด๋ค. ์ํ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. ๋ฐ์ดํฐ ํ์ธ 2. ๋ชจ๋ธ๋ง 3. ๋ชจ๋ธ ํ์ธ 4. ์์ฐจ ๋ถ์ 1. ๋ฐ์ดํฐ ํ์ธ In: library(car) data('Leinhardt') pairs(Leinhardt) Out: โท Leihardt ๋ฐ์ดํฐ๋ ์ฐ์ํ ๋ณ์์ธ income, infant, region๊ณผ ๋ฒ์ฃผํ ๋ณ์์ธ oil๋ก ๊ตฌ์ฑ๋์ด ์๋ค. โท income๊ณผ infant๊ฐ ๋น์ ํ์ ์ธ ๊ด๊ณ๋ฅผ ๋ํ๋ด๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ ํ๋ชจ๋ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณ์๊ฐ ์ ํ๊ด๊ณ๋ฅผ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ๋ ๋ณ์์ ๋ก๊ทธ๋ฅผ ์ทจํ์ฌ ๋ณํํ ๊ฒ์ด๋ค. In: Leinhardt$log_income .. MCMC(Markov Chain Monte-Carlo)์ ์๋ ด(Convergence) MCMC(Markov Chain Monte-Carlo)๋ฅผ ํตํด ์์ฑํ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๊ธฐ ์ํด์๋ ๋ง๋ฅด์ฝํ ์ฒด์ธ(Markov Chain)์ด ์ ์์ํ(Stationary)์ ์๋ ด(Convergence)ํด์ผ ํ๋ค. ์ด๋ฅผ ํ์ธํ๊ณ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ค๋ฃฐ ๊ฒ์ด๋ค. 1. Trace plot 2. ์๊ธฐ์๊ด์ฑ(Autocorrelation) 3. ์ด๊ธฐ ๋จ๊ณ(Burn-in period) 1. Trace plot MCMC์ ์๋ ด์ ํ์ธํ๋ ๊ฐ์ฅ ์ง๊ด์ ์ธ ๋ฐฉ๋ฒ์ ๋ฐ์ดํฐ์ ์์ฑ ๊ณผ์ ์ ์ง์ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ ๊ฒ์ด๋ค. ์ํํ์์ ๋ฐ๋ฅธ ์์ฑ๋ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ํตํด ์ด๋ฅผ ํ์ธํ ์ ์๋ค. In: log_g ๊น์ค ์ํ๋ง(Gibbs sampling) ๊น์ค ์ํ๋ง(Gibbs sampling)์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ๋ค๋ฃฐ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. ๊น์ค ์ํ๋ง 2. ๊น์ค ์ํ๋ง์ ์์ 1. ๊น์ค ์ํ๋ง ๊น์ค ์ํ๋ง์ Metropolis Hastings(์ดํ MH) ์๊ณ ๋ฆฌ์ฆ์ ํน๋ณํ ํํ๋ก, ์ ์ ๋ถํฌ(Proposal distribution)๋ฅผ ์์ ์ Full conditional distribution๋ก ๋์ด ์ํ๋งํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๋ ๊ฒ ํจ์ผ๋ก์จ, ๊ฐ ์ํ์์ ๋ฐ์ํ๋ ๋ฐ์ดํฐ์ ๋ํด Acceptance probability๋ 1์ด ๋๋ ์ฑ์ง์ ๊ฐ์ง๊ฒ ๋๋ค. ๋ค์์ ์ฆ๋ช ์ ํตํ์ฌ ์ด๋ฅผ ํ์ธํด๋ณด์. โท ์ ์ ๋ถํฌ๋ฅผ Full conditional posterior๋ก ๋ ์ผ๋ก์จ ๋ฏธ์ธ ๊ท ํ ์กฐ๊ฑด(Detailed balance condition)์ด ์ฑ๋ฆฝํ๊ฒ ๋๋ค. .. JAGS(Just Another Gibbs Sampler) ์ฌ์ฉ๋ฒ R์ JAGS(Just Another Gibbs Sampler)์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. JAGS๋ฅผ ํตํ ๋ฐ์ดํฐ ์์ฑ ๊ณผ์ ์ 4๋จ๊ณ๋ก ๋๋ ์ ์๋ค. 1. Specify the model 2. Set up the model 3. Run the MCMC(Markov Chain Monte Carlo) sampler 4. Post processing ๋ค์์ ๋ชจ๋ธ์ ์ด๋ฅผ ๋จ๊ณ๋ณ๋ก ์ ์ฉํ์ฌ ์ฌํ๋ถํฌ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ฌ ๋ณด์. 1. Specify the model In: library(rjags) mod_string = " model { for (i in 1:n) { y[i] ~ dnorm(mu, 1.0/sig2) } mu ~ dt(0.0, 1.0/1.0, 1) sig2 = 1.0 } " โท ์์ ์ฝ๋์.. ๋ฉํธ๋กํด๋ฆฌ์ค ํค์ด์คํ ์ค ์๊ณ ๋ฆฌ์ฆ(Metropolis-Hastings algorithm) Metropolis-Hastings(์ดํ MH) ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. MH ์๊ณ ๋ฆฌ์ฆ์ MCMC(Markov Chain Monte-Carlo)์ ์ผ๋ฐ์ ์ธ ํํ๋ก์จ ํน์ ๋ถํฌ๋ก๋ถํฐ ์ ์๋ถํฌ๋ก ๊ฐ๋ ์ฒด์ธ์ ๋ฐ์์ํฌ ์ ์๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ํน์ ๋ถํฌ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ์ ์๋ค. ๋ค๋ฃฐ ๋ด์ฉ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ๋ค. 1. MH ์๊ณ ๋ฆฌ์ฆ 2. Random walk MH ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ 1. MH ์๊ณ ๋ฆฌ์ฆ MH ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. โท q๋ ์ ์ ๋ถํฌ(Proposal distribution)๋ฅผ ์๋ฏธํ๊ณ , g๋ ์ฐ๋ฆฌ์ ๋ชฉ์ ๋ถํฌ(Target distribution)์์ ์ ๊ทํ ์์(Normalizing constant)๋ฅผ ์ ์ธํ ๋ถ๋ถ์ด๋ค. ์ฆ, ๋ชฉ์ ๋ถํฌ์ g(theta)๋ ๋น๋ก ๊ด๊ณ๊ฐ ์ฑ๋ฆฝํ๋ค. โท ์ด๊ธฐ๊ฐ.. ์ด์ 1 2 ๋ค์