정규 분포 : 정규 분포 (베이즈 추정)

9632 단어 R

기사의 목적



정규 분포와 평균이 알려지지 않았을 때의 공액 사전 분포인 정규 분포를 사용하고, R을 사용하여 베이즈 추정을 실시합니다.
20대 남성의 신장 평균을 사후 분포로 추정한다.
참고 : 베이즈 추론에 의한 기계 학습 입문

목차



1. 모델 설명
2. 추정할 분포
3. 사전 분포
4. 사후 분포
5. 예측 분포

1. 모델 설명





2. 추정할 분포



20대 남성의 신장은 평균이 170이고 표준 편차가 10인 정규 분포를 따릅니다(적당). 그러나 우리는 그것을 모른다.
이 진정한 분포 평균의 170을 사후 분포로 추정합니다.
curve(dnorm(x, 170, 10), 100, 250, xlab="20代男性の身長", ylab="確率密度")



3. 사전 분포



사전분포로 정규분포의 평균이 알려지지 않은 경우 공액 사전분포인 정규분포를 지정합니다.
평균이 0이고 분산이 10000인 정규 분포를 가정하여 데이터에 적합하기 쉽습니다.
m0 <- 100
lambda.mu0 <- 1/50^2
curve(dnorm(x, m0, 1/sqrt(lambda.mu0)), 0, 250,
      xlab="20代男性の平均身長", ylab="確率密度", ylim=c(0,0.3))



4. 사후 분포



진정한 분포에서 50개의 샘플을 취하여 사후 분포를 추정합니다.
사후 분포는 녹색 곡선입니다. 170부근이 제일 나오기 쉽다고 추정할 수 있습니다.
#データ
N <- 50
X <- rnorm(N, 170, 10)
#事後分布
lambda0 <- 1/(10)^2
lambda <- N*lambda0 + lambda.mu0
m <- (lambda0*sum(X) + lambda.mu0*m0)/lambda
curve(dnorm(x, m, 1/sqrt(lambda)), 100, 250, add=T, col="green")



5. 예측 분포



예측 분포가 진정한 분포를 성공적으로 추정할 수 있음을 알 수 있습니다.
curve(dnorm(x, 170, 10), 100, 250, xlab="20代男性の身長", ylab="確率密度")
curve(dnorm(x, m, sqrt(lambda^(-1)+lambda0^(-1))), 100, 250, add=T, col="blue")



◯SNS
・youtube
htps : // 코 m / 찬 l / 우 CFDy ぇ ywt hdtwqC3

· Twitter
htps : // 라고 해서 r. 코 m / D 켄_타

좋은 웹페이지 즐겨찾기