๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (80) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ Part 2 - 01. ๋ฐ์ดํฐ ๋ถ์์ ์ดํด โก ๋น ๋ฐ์ดํฐ ๋ถ์ ๋ฐฉ๋ฒ๋ก ์ ๊ธฐ๋ณธ๊ตฌ์กฐ ์๋ฌต์ง → ํ์์ง → ๋ฐฉ๋ฒ๋ก - ์๋ฌต์ง: ์ฌ๋์ ํ์ต๊ณผ ๊ฒฝํ์ ์๋ฏธ - ํ์์ง: ์ฌ๋์ ํ์ต๊ณผ ๊ฒฝํ์ ๋ฌธ์ํ - ๋ฐฉ๋ฒ๋ก : ํ์์ง๋ฅผ ๊ตฌ์ฒดํํ์ฌ ์ ์ฐจ, ํ๋, ์์ ๋ฑ์ ์ ์ํ์ฌ ๋ฌธ์ํ โก ํญํฌ์ ๋ชจ๋ธ - ์์ฐจ์ ์ธ ๋จ๊ณ / ํํฅ์ ์ ๊ทผ - ์ด์ ๋จ๊ณ๋ก ๋๋์๊ฐ ์ ์์ - ๊ฒฝํ์ด ๋ง๊ณ ์ํ์ด ๋ฎ์ ์ ๋ฌด์ ์ ์ฉ - ๋ถํ์ํ ๋ฌธ์์์ - ์๊ตฌ์ฌํญ์ ๋ํ ๋ฐ์๊ณผ ํ์ธ์ด ์ด๋ ค์ โก ํ๋กํ ํ์ดํ ๋ชจ๋ธ - ํ๋กํ ํ์ ์ ๋จผ์ ๋ง๋ค๊ณ ๊ณ ๊ฐ์๊ฒ ํ์ธ ํ์ ๊ฐ๋ฐ - ์ฌ์ฉ์ ์๊ตฌ์ฌํญ ๋์ถ์ด ์ฉ์ด - ํ๋กํ ํ์ ์ ์์ ํ์ผ๋ก ์ค์ธ - ๊ธฐ๋์ฌ๋ฆฌ ์ ๋ฐ์ ๋ฐ๋ฅธ ๊ณผ๋คํ ์๊ตฌ์ฌํญ ํน์ ๋ณ๊ฒฝ ๋ฐ์ - ๋ฌธ์ํ๊ฐ ์ด๋ ค์ โก ๋ฐ๋ณต ์ ์ฆํ ๋ชจ๋ธ - ํฐ ๋น ๋ฐ์ดํฐ ์ฌ์ ์ ์ ์ฉํ๋ ๋ชจ๋ธ - ์๊ตฌ์ฌํญ, ๋ถ์, ์ค๊ณ, ๊ตฌ.. ๋ฒ ์ด์ง์ ์ ํ ํ๊ท(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 .. Part 1 - 03. ๋ฐ์ดํฐ ์ฌ์ด์ธ์ค์ ์ ๋ต ์ธ์ฌ์ดํธ โก ๋ถ์๊ธฐํ 3๊ฐ์ง ์ญ๋ - ์ํ๊ณผ ํต๊ณ - ์ ๋ณด๊ธฐ์ - ๋๋ฉ์ธ ์ง์ โก ํ๋ ์คํฌ๊ณผ ์ํํธ ์คํฌ - ํ๋ ์คํฌ: ์ด๋ก ์ ์ง์ ๋ฐ ๊ธฐ์ ์ ์๋ จ / ๋จธ์ ๋ฌ๋, ํต๊ณ, ๋ถ์ฐ ์ปดํจํ ๋ฑ์ ๋ฅ๋ ฅ - ์ํํธ ์คํฌ: ๋ฐ์ดํฐ ๊ฐ์น ๋ฐ๊ฒฌํ๊ณ ๊ธฐํ๋ฅผ ๋ง๋๋ ๋ฅ๋ ฅ / ์ฐฝ์์ ์ฌ๊ณ , ํธ๊ธฐ์ฌ, ์คํ ๋ฆฌํ ๋ง, ์๊ฐํ, ์์ฌ์ํต ๋ฑ์ ๋ฅ๋ ฅ โก ๋น ๋ฐ์ดํฐ ๋ถ์์ ๊ธฐ๋ณธ ์์น - ์ง๋ฌธ์์ ์์ - ๊ธฐ์กด ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ๊ณ ๋ฆฌ - ์ด๋ ค์ด ๋ฐฉ์์ ํ๋ก๊ทธ๋๋ฐ๊ณผ ํด์ ์ง์ - ํผ๋๋ฐฑ ๋ฐ์ โก ๋น ๋ฐ์ดํฐ ๋ถ์ ์ฃผ์ ์ ํ ๋ถ์ ๋์ Known Unknown ๋ถ์ ๋ฐฉ๋ฒ Known ์ต์ ํ ํต์ฐฐ Unknown ์๋ฃจ์ ๋ฐ๊ฒฌ โก ๋ชฉํ ์์ ๋ณ ๋ถ์๊ธฐํ - ๊ณผ์ ์ค์ฌ ์ ๊ทผ๋ฐฉ๋ฒ: ๊ณผ์ ๋ฅผ ๋น ๋ฅด๊ณ ๋จ๊ธฐ์ ์ผ๋ก ํด๊ฒฐ - ๋ง์คํฐ ํ๋ ์ ๊ทผ๋ฐฉ๋ฒ: ์ฅ๊ธฐ์ ์ผ๋ก ๋ถ์๊ณผ์ ์ ์ํ๊ณ ์ง์์ .. Part 1 - 02. ๋ฐ์ดํฐ์ ๊ฐ์น์ ๋ฏธ๋ โก ๋น ๋ฐ์ดํฐ์ ํน์ฑ - ๊ท๋ชจ(Volume): Tera์์ Petta, Zetta ๋ฐ์ดํธ ์๋๋ก ์ง์ - ๋ค์์ฑ(Variety): ํ ์คํธ ์ด์ธ์ ๋ค์ํ ๋น์ ํ ๋ฐ์ดํฐ์ ์ฆ๊ฐ - ์๋(Velocity): ์ ์ ํ์ฉ์ ์ํ ๋ฐ์ดํฐ ๋ถ์์๋๊ฐ ์ค์ - ์ ํ์ฑ(Veracity): ์ง ๋์ ๋ฐ์ดํฐ ํ์ฉ์ ์ค์์ฑ - ๊ฐ์น(Value): ๊ฐ์น์๋ ์ ๋ณด ์ฐฝ์ถ โก ๊ฐ์น ํจ๋ฌ๋ค์์ ๋ณํ 1. ๋์งํธํ: ์๋ ๋ก๊ทธ ์๋์์ ๋์งํธ ์๋๋ก ๋ณํ 2. ์ฐ๊ฒฐ: ๋์งํธ ์ ํ์ Ad-hoc ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐ ํ, IP ๋คํธ์ํฌ์ ์ตํ 3. ์์ด์ ์: ๊ทธ๋ฌผ๋ง์ผ๋ก ์ฐ๊ฒฐ๋ ๊ฒ์ ๊ด๋ฆฌ โก ์ ํต์ ๋ฐ์ดํฐ์ ๋น ๋ฐ์ดํฐ์ ์ฐจ์ด์ ๊ตฌ๋ถ ์ ํต์ ๋ฐ์ดํฐ ๋น ๋ฐ์ดํฐ ๋ฐ์ดํฐ ํฌ๊ธฐ ๊ธฐ๊ฐ ๋ฐ์ดํธ ํ ๋ผ, ํํ, ์ ํ ๋ฐ์ดํธ ๋ฐ์ดํฐ ์๋ ์๊ฐ, ์ผ ๋จ์ ๋ฐ์ดํฐ ์ค์๊ฐ ๋ฐ.. Part 1 - 01. ๋ฐ์ดํฐ์ ์ดํด โก ๋ฐ์ดํฐ์ ํน์ฑ - ๊ฐ๊ด์ ์ธ ์ฌ์ค → ์กด์ฌ์ ํน์ฑ - ์ถ๋ก , ์์ธก, ์ ๋ง, ์ถ์ ์ ์ํ ๊ทผ๊ฑฐ → ๋น์์ ํน์ฑ โก ๋ฐ์ดํฐ์ ์ ํ - ์ ์ฑ์ ๋ฐ์ดํฐ → ์ธ์ด, ๋ฌธ์ ๋ฑ์ ํํ / ์ ์ฅ๊ณผ ๋ถ์์ ๋ง์ ์๊ฐ ์๋ชจ - ์ ๋์ ๋ฐ์ดํฐ → ์์น, ๋ํ, ๊ธฐํธ ๋ฑ์ ํํ / ์ ์ฅ๊ณผ ๋ถ์์ ์ ์ ๋น์ฉ ์๋ชจ โก ์๋ฌต์ง์ ํ์์ง - ์๋ฌต์ง: ๊ณต์ํ๋ฅผ ํตํด ์ ๋ฌํ๊ธฐ ํ๋ ์ง์ - ํ์์ง: ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌ๋ ์ง์ โก ์ง์์ฐฝ์กฐ ๋ฉ์ปค๋์ฆ 1. ๊ณต๋ํ: ์กฐ์ง์๊ฐ ๊ฒฝํ๊ณผ ์ธ์ ๊ณต์ / ์๋ฌต์ง → ๊ณ ์ฐจ์ ์๋ฌต์ง 2. ํ์ถํ: ์๋ฌต์ง → ํ์์ง 3. ์ฐ๊ฒฐํ: ํ์์ง์ ๋จํธ ์์ง, ๋ถ๋ฅ, ํตํฉ / ์๋ก์ด ํ์์ง ์ฐฝ์กฐ 4. ๋ด๋ฉดํ: ํ์์ง → ์๋ฌต์ง โก ์ง์ ํผ๋ผ๋ฏธ๋ 1. ๋ฐ์ดํฐ: ๊ฐ๊ณต ์ ์ ์์ํ ์์น๋ ๊ธฐํธ / "A๊ธฐ์ ์ ์ฑ ๊ฐ์ 10.. 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 ๋ฉํฐํ์คํน(Multi-tasking), ๋ฉํฐํ๋ก์ธ์ฑ(Multi-processing), ๋ฉํฐ์ค๋ ๋ฉ(Multi-threading) โก ํ๋ก๊ทธ๋จ(Program): ์ ์ฅ์์ ์กด์ฌํ๋ ์ฝ๋์ ๋ญ์น๋ก ์คํ์ํ๊ฐ ์๋, ์คํํ๊ธฐ ์ ์ ์ ์ฅ์์ ์ ์ฅ๋ ์ฝ๋์ด๋ค. โก ํ๋ก์ธ์ค(Process): ์ ์ฅ์์ ์กด์ฌํ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋์ด CPU๊ฐ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ์ํ์ด๋ค. โก ์ค๋ ๋(Thread): ํ๋ก์ธ์ค ์์ ์๋ ์์ ์คํ๋จ์๋ฅผ ์๋ฏธ์ด๋ค. ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ก ์๋ฅผ ๋ค์ด๋ณด์. ์๋์์ ๊ธ์๋ฅผ ์ ๋ ฅํ๋ ๋์ ์๋์ผ๋ก ๋ง์ถค๋ฒ ๊ฒ์ฌ๋ฅผ ์ํ ๋ฐ ํ์ผ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ์ฅํ๋ค. ์ด ์์ ๋ค์ ๊ฐ๊ฐ์ ์ค๋ ๋์ ์ํด์ ์ด๋ฃจ์ด์ง๋ค. ์ฆ, ์๋๋ผ๋ ํฐ ํ๋ก์ธ์ค ํ๋์ ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๊ฐ ๋ชจ์ฌ์๋ ๊ฒ์ด๋ค. ๋ฉํฐํ์คํน(Multi-tasking) โท ํ์คํฌ(Task)๋ ์ด์์ฒด์ ์์ ์ฒ๋ฆฌํ๋ ์์ ๋จ์๋ฅผ ์๋ฏธํ๋๋ฐ, ๊ทธ ์ฌ๋ฌ ์์ ๋จ์๊ฐ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๋.. ๊น์ค ์ํ๋ง(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)๋ ๋น๋ก ๊ด๊ณ๊ฐ ์ฑ๋ฆฝํ๋ค. โท ์ด๊ธฐ๊ฐ.. ๋ชฌํ ์นด๋ฅผ๋ก ์ถ์ (Monte-carlo estimation) ๋ฌธ์ ์ ์์๋ฅผ ํตํด ๋ชฌํ ์นด๋ฅผ๋ก ์ถ์ (Monte-carlo estimation)์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ๋ฌธ์ ) ๊ฐ๋ง๋ถํฌ(alpha = 2, beta = 1/3)์ ํ๊ท ์ ์์์ ์ธ ๊ณ์ฐ๊ณผ ๋ชฌํ ์นด๋ฅผ๋ก ์ถ์ ์ ํตํด ๊ตฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ๋ผ. ํ์ด) In: alpha = 2 beta = 1/3 m = 10^8 theta_star ๊ทธ๋ํ ํํ(Graphical representation) ์์๋ฅผ ํตํด ๋ฒ ์ด์ง์ ๋ชจ๋ธ์ ๋ํ๋ด๊ธฐ ์ํ ๊ทธ๋ํ ํํ(Graphical representation) ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ์์ 1) ๊ฐ๋ฅ๋ ํจ์๊ฐ ์ ๊ท๋ถํฌ๋ฅผ ๋ฐ๋ฅด๊ณ , ์ ๊ท๋ถํฌ์ ๋ ๋ชจ์๊ฐ ์์ ๊ฐ์ด ์ฌ์ ๋ถํฌ๋ฅผ ๋ฐ๋ฅผ ๋, ์ด๋ฅผ ๊ทธ๋ํ๋ก ํํํด๋ณด์. โท ๋๊ทธ๋ผ๋ฏธ๋ ๋ ธ๋(Node)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋ ธ๋๋ ํ๋ฅ ๋ณ์(Random variable)๋ฅผ ์๋ฏธํ๋ค. ์ฌ์ ๋ถํฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ mu์ sigma^2๋ฅผ ๋ ธ๋๋ก ์ ํ์๋ค. โท ์์ ๊ทธ๋ฆผ์์ mu์ sigma^2 ๋ฐ์ y1, y2, ... , yn๋ ํ๋ฅ ๋ณ์์ด์ง๋ง, ๊ด์ธกํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด์ค ๋๊ทธ๋ผ๋ฏธ๋ก ๋ํ๋ด์๋ค. โท ๊ฐ ๋ ธ๋๋ณ ์ข ์(Dependence) ๊ด๊ณ๋ฅผ ๋ํ๋ด๊ธฐ ํ์ดํ(Arrow)๋ฅผ ์ด์ฉํ์๋ค. ํ์ด์ด ๊ฐ๋ฆฌํค๋ ๋ ธ๋๋ ํ์ด์ด ๋์ค๋ ๋ ธ๋๋ก๋ถํฐ ์ข ์๋.. ์ด์ 1 2 3 4 5 6 7 ๋ค์