포아송 분포 : 감마 분포 (베이즈 추정)
11976 단어 R
기사의 목적
포아송 분포와 공액 사전 분포의 감마 분포를 사용하고 R을 사용하여 베이지안 추정을 수행합니다.
특정 상품 A의 평균 구매 수를 사후 분포로 추정합니다.
참고 : 베이즈 추론에 의한 기계 학습 입문
목차
0. 모델 설명
1. 라이브러리
2. 추정할 분포
3. 사전 분포
4. 사후 분포
5. 예측 분포
0. 모델 설명
1 라이브러리
library(dplyr)
library(ggplot2)
set.seed(100)
2. 추정할 분포
상품 A의 구매되는 개수는 평균 15인 포아송 분포를 따릅니다. 그러나 우리는 그것을 모른다.
이 진정한 분포 평균의 15를 사후 분포로 추정합니다.
NULL %>% ggplot(aes(x=1:40)) + geom_bar(aes(y=dpois(1:40, 15)), stat="identity") +
labs(x="商品Aの購買個数", y="確率密度", title="推定する分布")
3. 사전 분포
사전 분포로 포아송 분포의 공액 사전 분포인 감마 분포를 지정합니다.
데이터에 적합하기 쉽도록 a0, b0 은 작은 값을 초기값으로 설정합니다.
a0 <- 1
b0 <- 1
curve(dgamma(x, a0, b0), 0, 50 , xlab = "商品Aの平均購買個数(lambda)", ylab="確率密度", ylim=c(0,0.8))
4. 사후 분포
진정한 분포에서 50개의 샘플을 취하여 사후 분포를 추정합니다.
사후 분포는 녹색 곡선입니다. 50부근이 제일 나오기 쉽다고 추정할 수 있습니다.
#データ
N <- 50
X <- rpois(N, 15)
#事後分布
a <- sum(X)+a0
b <- N+b0
curve(dgamma(x, a, b), 0, 50 ,
xlab = "商品Aの平均購買個数(lambda)", ylab="確率密度", col="green", add=T)
5. 예측 분포
예측 분포가 진정한 분포를 성공적으로 추정할 수 있음을 알 수 있습니다.
Data <- data.frame(x=rep(1:40,2),
compare=rep(c("推定する分布", "予測分布"), each=40),
y = append(dpois(1:40, 15), dbinom(1:40, a, 1/(b+1))) )
Data %>% ggplot(aes(x=x, y=y, fill=compare)) +
geom_bar(stat="identity", alpha=0.7, position="identity") +
labs(x="商品Aの購買個数", y="確率密度", title="推定する分布と予測分布の比較") +
scale_fill_manual(values = c("black", "blue"))
Reference
이 문제에 관하여(포아송 분포 : 감마 분포 (베이즈 추정)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tatsuki-Oike/items/a3c182c7a2e267457351
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
0. 모델 설명
1. 라이브러리
2. 추정할 분포
3. 사전 분포
4. 사후 분포
5. 예측 분포
0. 모델 설명
1 라이브러리
library(dplyr)
library(ggplot2)
set.seed(100)
2. 추정할 분포
상품 A의 구매되는 개수는 평균 15인 포아송 분포를 따릅니다. 그러나 우리는 그것을 모른다.
이 진정한 분포 평균의 15를 사후 분포로 추정합니다.
NULL %>% ggplot(aes(x=1:40)) + geom_bar(aes(y=dpois(1:40, 15)), stat="identity") +
labs(x="商品Aの購買個数", y="確率密度", title="推定する分布")
3. 사전 분포
사전 분포로 포아송 분포의 공액 사전 분포인 감마 분포를 지정합니다.
데이터에 적합하기 쉽도록 a0, b0 은 작은 값을 초기값으로 설정합니다.
a0 <- 1
b0 <- 1
curve(dgamma(x, a0, b0), 0, 50 , xlab = "商品Aの平均購買個数(lambda)", ylab="確率密度", ylim=c(0,0.8))
4. 사후 분포
진정한 분포에서 50개의 샘플을 취하여 사후 분포를 추정합니다.
사후 분포는 녹색 곡선입니다. 50부근이 제일 나오기 쉽다고 추정할 수 있습니다.
#データ
N <- 50
X <- rpois(N, 15)
#事後分布
a <- sum(X)+a0
b <- N+b0
curve(dgamma(x, a, b), 0, 50 ,
xlab = "商品Aの平均購買個数(lambda)", ylab="確率密度", col="green", add=T)
5. 예측 분포
예측 분포가 진정한 분포를 성공적으로 추정할 수 있음을 알 수 있습니다.
Data <- data.frame(x=rep(1:40,2),
compare=rep(c("推定する分布", "予測分布"), each=40),
y = append(dpois(1:40, 15), dbinom(1:40, a, 1/(b+1))) )
Data %>% ggplot(aes(x=x, y=y, fill=compare)) +
geom_bar(stat="identity", alpha=0.7, position="identity") +
labs(x="商品Aの購買個数", y="確率密度", title="推定する分布と予測分布の比較") +
scale_fill_manual(values = c("black", "blue"))
Reference
이 문제에 관하여(포아송 분포 : 감마 분포 (베이즈 추정)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tatsuki-Oike/items/a3c182c7a2e267457351
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
library(dplyr)
library(ggplot2)
set.seed(100)
2. 추정할 분포
상품 A의 구매되는 개수는 평균 15인 포아송 분포를 따릅니다. 그러나 우리는 그것을 모른다.
이 진정한 분포 평균의 15를 사후 분포로 추정합니다.
NULL %>% ggplot(aes(x=1:40)) + geom_bar(aes(y=dpois(1:40, 15)), stat="identity") +
labs(x="商品Aの購買個数", y="確率密度", title="推定する分布")
3. 사전 분포
사전 분포로 포아송 분포의 공액 사전 분포인 감마 분포를 지정합니다.
데이터에 적합하기 쉽도록 a0, b0 은 작은 값을 초기값으로 설정합니다.
a0 <- 1
b0 <- 1
curve(dgamma(x, a0, b0), 0, 50 , xlab = "商品Aの平均購買個数(lambda)", ylab="確率密度", ylim=c(0,0.8))
4. 사후 분포
진정한 분포에서 50개의 샘플을 취하여 사후 분포를 추정합니다.
사후 분포는 녹색 곡선입니다. 50부근이 제일 나오기 쉽다고 추정할 수 있습니다.
#データ
N <- 50
X <- rpois(N, 15)
#事後分布
a <- sum(X)+a0
b <- N+b0
curve(dgamma(x, a, b), 0, 50 ,
xlab = "商品Aの平均購買個数(lambda)", ylab="確率密度", col="green", add=T)
5. 예측 분포
예측 분포가 진정한 분포를 성공적으로 추정할 수 있음을 알 수 있습니다.
Data <- data.frame(x=rep(1:40,2),
compare=rep(c("推定する分布", "予測分布"), each=40),
y = append(dpois(1:40, 15), dbinom(1:40, a, 1/(b+1))) )
Data %>% ggplot(aes(x=x, y=y, fill=compare)) +
geom_bar(stat="identity", alpha=0.7, position="identity") +
labs(x="商品Aの購買個数", y="確率密度", title="推定する分布と予測分布の比較") +
scale_fill_manual(values = c("black", "blue"))
Reference
이 문제에 관하여(포아송 분포 : 감마 분포 (베이즈 추정)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tatsuki-Oike/items/a3c182c7a2e267457351
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
NULL %>% ggplot(aes(x=1:40)) + geom_bar(aes(y=dpois(1:40, 15)), stat="identity") +
labs(x="商品Aの購買個数", y="確率密度", title="推定する分布")
사전 분포로 포아송 분포의 공액 사전 분포인 감마 분포를 지정합니다.
데이터에 적합하기 쉽도록 a0, b0 은 작은 값을 초기값으로 설정합니다.
a0 <- 1
b0 <- 1
curve(dgamma(x, a0, b0), 0, 50 , xlab = "商品Aの平均購買個数(lambda)", ylab="確率密度", ylim=c(0,0.8))
4. 사후 분포
진정한 분포에서 50개의 샘플을 취하여 사후 분포를 추정합니다.
사후 분포는 녹색 곡선입니다. 50부근이 제일 나오기 쉽다고 추정할 수 있습니다.
#データ
N <- 50
X <- rpois(N, 15)
#事後分布
a <- sum(X)+a0
b <- N+b0
curve(dgamma(x, a, b), 0, 50 ,
xlab = "商品Aの平均購買個数(lambda)", ylab="確率密度", col="green", add=T)
5. 예측 분포
예측 분포가 진정한 분포를 성공적으로 추정할 수 있음을 알 수 있습니다.
Data <- data.frame(x=rep(1:40,2),
compare=rep(c("推定する分布", "予測分布"), each=40),
y = append(dpois(1:40, 15), dbinom(1:40, a, 1/(b+1))) )
Data %>% ggplot(aes(x=x, y=y, fill=compare)) +
geom_bar(stat="identity", alpha=0.7, position="identity") +
labs(x="商品Aの購買個数", y="確率密度", title="推定する分布と予測分布の比較") +
scale_fill_manual(values = c("black", "blue"))
Reference
이 문제에 관하여(포아송 분포 : 감마 분포 (베이즈 추정)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tatsuki-Oike/items/a3c182c7a2e267457351
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#データ
N <- 50
X <- rpois(N, 15)
#事後分布
a <- sum(X)+a0
b <- N+b0
curve(dgamma(x, a, b), 0, 50 ,
xlab = "商品Aの平均購買個数(lambda)", ylab="確率密度", col="green", add=T)
예측 분포가 진정한 분포를 성공적으로 추정할 수 있음을 알 수 있습니다.
Data <- data.frame(x=rep(1:40,2),
compare=rep(c("推定する分布", "予測分布"), each=40),
y = append(dpois(1:40, 15), dbinom(1:40, a, 1/(b+1))) )
Data %>% ggplot(aes(x=x, y=y, fill=compare)) +
geom_bar(stat="identity", alpha=0.7, position="identity") +
labs(x="商品Aの購買個数", y="確率密度", title="推定する分布と予測分布の比較") +
scale_fill_manual(values = c("black", "blue"))
Reference
이 문제에 관하여(포아송 분포 : 감마 분포 (베이즈 추정)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Tatsuki-Oike/items/a3c182c7a2e267457351텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)