λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

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)λŠ” λΉ„λ‘€ 관계가 μ„±λ¦½ν•œλ‹€. β–· μ΄ˆκΈ°κ°’..