とーけい部

現在、このブログは工事中です。

統計学 統計検定 数学

ベータ分布の直感的解釈

ベータ分布の解釈

いろんな分布がありますよね、例えば二項分布やポアソン分布は成功回数の散らばりを表しているし、指数分布や幾何分布やガンマ分布やら負の二項分布やらは待ち時間を表しているし、正規分布なら微小な変動の総和の振舞いを表している(中心極限定理)などなど……まあ、数学的な意味だけじゃなくて、その分布を現実に対応させた解釈を与えることができるわけです。

ベータ分布←こいつなに?????????????

なんなんですかね、こいつ。
ちょっと考えていきましょう。

\displaystyle{
\Large{
ベータ分布に従う確率変数\theta \\
\theta \sim Be(\alpha ,\beta)\\
の密度関数は、以下の通り\\
p(\theta | \alpha , \beta ) = \frac{\theta^{\,\alpha -1} (1-\theta) ^{\beta -1}}{B(\alpha , \beta)}\quad ここで \theta \in (0,1)\\
ただしB(\alpha ,\beta)はベータ関数
}
}

まあ~密度関数の形を見ると二項分布っぽい形をしてますよね。
今回は二項分布と絡めて、ベータ分布の直感的な意味を考えていきます。ベイズの定理を使います。

まず図示してみましょう。
パラメータを1~20まで動かすとこんな感じになります。

curve(sin,lty=0,from=0,to=1,ylim=c(0,6),xlab=expression(paste(theta)),ylab="確率密度",main="ベータ分布 (パラメータは2つとも同じ値)")
for( i in 1:20 ){
  curve(dbeta(x,shape1=i,shape2=i),add=T,col=rgb(i/20,0,i/20))
}
text(expression(paste("(",alpha, " , " ,beta, ") = 1~20")) , x = 0.8 , y = 5,cex=2 )
abline(v=0.5 , col="red")
text(expression(paste(theta , " = 0.5")) ,x=0.55 , y= 0.5 , cex=1.5,col="red")

f:id:hasegawa-yuta289:20201013210824p:plain

紅紫に近いほどパラメータが大きいです。
うーん、パラメータが上がってくると\displaystyle{
\theta = 0.5
}に近づいていくのはわかるけど……これは、どういうことですかね?

数式による説明

ベイズの定理によると、以下のようになります。

ちなみにここでは見やすくするために確率密度や確率関数を表す表記としてpを乱用してますが、どのpが何の(どの確率変数の)確率密度を表しているのかはその都度違うので注意してください。

\displaystyle{
\theta の事前分布が(0,1)の一様分布だとして、\\
パラメータ\thetaを成功確率に持っている二項分布\\
に従うデータyが与えられたとき、\\
\theta の事後分布は以下のようになる。  \\
\large{
\begin{eqnarray} 
p(\theta | y) &=& \frac{p(y| \theta) p(\theta)}{p(y)}\\
&\propto & p(y| \theta) p(\theta) \\
&=& nCy \,\theta^{\, y} \, (1-\theta)^{n-y} \  \cdot 1\\
&\propto& \theta^{\, y} \, (1-\theta)^{n-y} 
\end{eqnarray}
}
}

ベイズ統計なのでパラメータは確率変数で表現されています。

ちなみに\displaystyle{
\propto
}という記号は「比例」を表しています。ここではyが与えられているので、y(だけ)に関する値は定数として、この比例記号\displaystyle{
\propto
}で無視してしまいます。

なんと!この最後の式、これはベータ分布の分子そのものになってます!
ということは、\displaystyle{
 p(\theta | y)は\theta=0 \sim 1
}積分したときに1になっているはずなので、\displaystyle{
\theta
}のyを条件付けしたときの条件付き分布は、ベータ分布になっていることがわかります。

\displaystyle{
\theta の事前分布が(0,1)の一様分布だとして、\\
パラメータ\thetaを成功確率に持っている二項分布\\
に従うデータyが与えられたとき、\\
\theta の事後分布はBe(y+1,n-y+1)になる。  \\
}

ここで、yは成功回数、n-yは失敗回数ですから、結局以下のようになります。

\displaystyle{
Be(\alpha ,\beta)について、\\
\alpha-1は成功回数を、\\
\beta -1は失敗回数を、\\
それぞれ表している。\\
\theta \sim Be(\alpha ,\beta)は、成功回数\alpha-1、失敗回数\beta-1のときの、\\
成功確率として解釈できる。
}

ここで、もう一度さっき見た図を確認してみましょう。

curve(sin,lty=0,from=0,to=1,ylim=c(0,6),xlab=expression(paste(theta)),ylab="確率密度",main="ベータ分布 (パラメータは2つとも同じ値)")
for( i in 1:20 ){
  curve(dbeta(x,shape1=i,shape2=i),add=T,col=rgb(i/20,0,i/20))
}
text(expression(paste("(",alpha, " , " ,beta, ") = 1~20")) , x = 0.8 , y = 5,cex=2 )
abline(v=0.5 , col="red")
text(expression(paste(theta , " = 0.5")) ,x=0.55 , y= 0.5 , cex=1.5,col="red")

f:id:hasegawa-yuta289:20201013210824p:plain

\displaystyle{
(\alpha , \beta ) = 1 \sim 20
}となっていますが、これは「成功回数と失敗回数が同じである」というもとで、この回数を増やしていったとき、「成功確率はどのような値をとっていそうか?」ということを表しているわけですね。
例えば「成功回数1、失敗回数1」のときは、「まあ確かに成功確率が0.5かもしれないけど、でも本当に0.5かな?偶然そうなっただけなんじゃないの?」というのが分布で表現されているわけです。だから横に広い形になっているのです。
一方で、「成功回数19,失敗回数19」のときは、「38回もやっといて成功・失敗が半々なら、まあ成功確率はほとんど0.5なんでしょうね。少なくとも、0.5から大きく異なるような値である可能性は低いだろう」というのが分布で表現されています。だから横に狭い形になっているわけです。

ちなみに\displaystyle{
\alpha = 1 ,\beta = 1
}というのは「成功回数0、失敗回数0」に相当していますが、これは1回もコイントスをしていないのに、このコインの表が出る確率を考えよう……というのと同じ問題になります。当然、このコインが表になる確率について我々が知っていることは何もないわけですが、これがBe(1,1)が(0,1)の一様分布と等しいことに対応しているとも解釈できますね。
(まあ、本当に一様分布が「知ってることは何もない」無情報であることを表しているのか?みたいな疑問はあるかもしれませんが、ここでは無視します。)

以上のベータ分布の直感的な意味を考えつつ、以下のベータ分布の密度関数の形を想像してみましょうか。

\displaystyle{
Be(21,11)
}

これは成功回数が20,失敗回数が10のとき、さて成功確率はどのくらいでしょうか?というのを表しているわけですが……大体、成功確率は20/30=0.666くらいになりそうですね。試行回数が30回ですから、まあ0.666に近い値をとりそうです。
正解は以下のようになります。

curve(dbeta(x,shape1 = 21 , shape2 = 11),from=0 ,to=1 , xlab = expression(paste(theta)),ylab = "確率密度", main = "Be(21,11)")
abline(v=0.666,col="red")
text(expression(paste(theta , " = 0.666")) ,x=0.6 , y= 0.5 , cex=1.5,col="red")

f:id:hasegawa-yuta289:20201013211037p:plain

じゃあ今度は、

\displaystyle{
Be(200 , 100)
}

を考えてみましょう。これは成功回数の全体に対する比率が大体0.666でさっきと同じですが、こっちの方が試行回数が桁違いに多いのがわかります。その分だけ、分布の不確実性は下がりそうだとわかりますね。

curve(dbeta(x,shape1 = 200 , shape2 = 100),from=0 ,to=1 , xlab = expression(paste(theta)),ylab = "確率密度", main = "Be(200,100)")
abline(v=0.666,col="red")
text(expression(paste(theta , " = 0.666")) ,x=0.6 , y= 0.5 , cex=1.5,col="red")

f:id:hasegawa-yuta289:20201013212002p:plain

さっきよりも分布が横に狭くなりました。

これを考えていけば、例えばベータ分布の平均値は\displaystyle{
\frac{\alpha}{\alpha + \beta}
}になりますが、
成功回数/試行回数 \displaystyle{
\approx \frac{\alpha}{\alpha + \beta}
}として、ベータ分布の平均値を解釈できます。 (おわり)