2015年10月13日火曜日

ベイズの基礎:課題16-8 広告だらけ?

課題16-5 超能力あんのか? からの続き

トピック 16 の課題もこれで終わり。16-12 まで課題はあるのだが、解いてみると同じパターンが続く。そのパターンとは「課題16-4 夫は妻より年上か?」の解法のように「0.00, 0.01, 0.02, ..., 0.98, 0.99, 1.00」の予測モデルを立てて確率区間を求めるもの。


観測データが重要

割愛する課題だが、一つだけ取り上げたい。

1,500 の大学で行ったアンケートで、122 の回答を得て、そのうち 88 positive であった場合の分析結果は妥当か?」では、「この結果は、母集団を正しく推定しているか?」を問うている。確率区間の推定をして「はい、おしまい」とはならないところが、本テキストの素晴らしいところ。

さて、このアンケート調査の分析結果は妥当でしょうか?

「No」だと思います。理由は二つ。一つは、回答数が母集団の数と比較して少なすぎる。仮に、この数が妥当だとしても致命的なのが、二つ目の理由。それは、回答している学校が、調査している話題に積極的な大学に偏っている可能性が高いこと。例えば「選挙でどの党に投票しましたか?」では、支持政党率は測れないのだ。回答するのは、大抵「投票に行った人」だから。

ベイズのルールを駆使して確率区間を算出できても、観測データが偏っていると、正確な分析はできません。計算のテクニックに溺れると見失うポイントです。「データ分析」の難しさの一面でもあります。逆に、母集団を反映するデータを集められさえすれば、極めて的確な分析結果を得られるとも言える。


Activity 16-8: Does Sports Illustrated have a high proportion of ads?

課題:「この雑誌は広告だらけ」と主張する人がいた。その雑誌の全 78 ページから、無作為に 20 ページを抽出して、それらに広告が含まれているか否かを調べたのが左の表。この「広告だらけ」の主張は正しいか?

予測モデルを「0.0, 0.1, 0.2, ..., 0.9, 1.0」の 11 個とする。無作為抽出の結果「広告あり:広告なし = 6 : 14」を使って事後確率を求める。

例えば、「モデル 0.2」の場合の尤度は

0.26 × (1 - 0.2)14

このように他のモデルで尤度も求めて、事前確率の 1/11 を使って事後確率を算出する。

> model
 [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> post = (model^6*(1-model)^14*(1/11))/sum(model^6*(1-model)^14*(1/11))

テキストでは事後確率の一覧表だが、ここでは確率分布のグラフを作成。見た目にも確率が低いモデルに偏っているのが分かる。
> post
 [1] 0.0e+00 1.9e-02 2.3e-01 4.0e-01 2.6e-01 7.8e-02 1.0e-02 4.6e-04
 [9] 3.5e-06 4.3e-10 0.0e+00
> plot(seq(0,1,by=0.1), post, type="h", ylab="Prob.",
    xlab="p Model", main="Activity 16-8")

少なとも 50% である確率は、50%以上の確率、つまり

P( p ≧ .5 ) = P( p is [0.5, 1.0])

Rの変数 post では、番目からの値の合計:
> post[6:11]
[1] 7.8e-02 1.0e-02 4.6e-04 3.5e-06 4.3e-10 0.0e+00
> sum(post[6:11])
[1] 0.088

たかだか 8.8% です、これをもって「広告が多い」「広告だらけ」とは到底言えないです。

さて、「トピック17」からは、いよいよ「連続型確率分布」を扱います。これまでの課題で、101 個のモデルを作ったが、それが 1001 個だとしても「離散型確率分布」。個人的には「ベータ関数」の利用を楽しみにしている。

課題17-1 β分布を事前確率に に続く。

0 件のコメント:

コメントを投稿