前回の「ある地域の既婚者の男性の平均年齢を推定」の続き。そこでは、推定する年齢のモデルを、平均 m0 = 28才, 標準偏差 h0 = 5.46 の正規分布とした。
今回は、無作為抽出した既婚者の男性の観察データを使って、事後確率を求める。
紹介する解法の前提の流れは左の通りなのだが、もう面倒なので左のように貼り付けちゃいました。無視しても大丈夫。
POST = PRIOR × LIKELIHOOD で事後確率を求めるが、「普通」に掛算すれば左のような流れになり、最後の m1, h1 が導ける。ところが、この m1, h1 が「複雑すぎるだろ!」ということで、以下の解法を紹介。
"precision (the quality of being exact, accurate and careful)" というアイデア、「精度」という感じ。c で表記され
c = 1 / h2
式を単純に解釈すれば、標準偏差が大きくなれば c は小さくなり、小さくなれば c は大きくなるという関係。つまり、標準偏差が小さいということは、精度も高いという自然な理屈。平均値を頂点に幅の狭い尖った山の正規分布は、標準偏差も小さく、その平均値の「精度」も高いということ。
次の引用は自明だが、簡潔に鋭いことを言ってます。
The data precision measures how much information you have in the data.
データ精度(the data precision)とは観測したデータの情報を測るもの。
事前確率に一様分布 で紹介した、標準偏差が所与でない場合の標準偏差の算出方法が左(SE と同じ)。s は観測データの標準偏差、n は観測データ数。観測データ数が増えるほど、観測データの標準偏差が母集団の標準偏差に近づく、という考え。
観測データが1つ ( n = 1 ) で SE式の二乗の「逆数」が precision ともいえる。(h / √1)2 の逆数は 1 / h2 ということ。よって、観測データの precision は
cD = n / h2
同様にして、prior precision(事前確率の精度)は
c0 = 1 / h02
precision を使って、平均値と標準偏差の算出の流れは以下の通り。
Posterior の行の Precision が
c1 = c0 + cD
事前確率の精度と観測データの精度を足すことで、事後確率の平均値の精度としている。「観測データにより確率の精度は上がる」という考え。
SE式の二乗の逆数が precision なら、precision のルートの逆数が SE
h1 = 1 / √c1
これが事後確率の標準偏差。
Posterior の Mean は、Prior と Data の M に各 precision で加重した値の合計を、Posterior の precision で割る。
注意:なぜ c1 で割るのかうまく説明できません。分かり次第追記します。
左の表が事後確率算出の流れ。
(c0<-1/5.46^2)
## [1] 0.03354399
(cD<-1/3.46^2)
## [1] 0.08353102
(c1 <- c0 + cD)
## [1] 0.117075
(h1 <- 1/sqrt(c1))
## [1] 2.92259
(m1 <- (c0*28+cD*32.35)/c1)
## [1] 31.10365
事前確率と事後確率の分布を描画:
curve(dnorm(x,m1,h1),
from=10,to=45,
xlab="M",ylab="",
main="Prior and Post Curves form the mean age of grooms")
curve(dnorm(x,28,5.46),add=T,lty=2)
text(20,0.04,"PRIOR")
text(37,0.1,"POSTERIOR")
- 事後確率の平均値 31.03 は事前確率 28 と データ平均 32.25 の間にある。これは、事後確率が、事前確率と観測データの情報の産物であることを示す。
- 事後確率の曲線が事前確率より広がりが小さい。これは、より情報を得ることで平均値への確信が強まったことを表す。つまり、標準偏差が小さくなった。






0 件のコメント:
コメントを投稿