15分でわかる(範囲の)ベイズ統計学

47
15 分分分分分 ( 分分分 ) 分分分分分分 分分分分分 分 10 分分分分分 2016/1/31 @kenmatsu4

Transcript of 15分でわかる(範囲の)ベイズ統計学

Page 1: 15分でわかる(範囲の)ベイズ統計学

15 分でわかる ( 範囲の ) ベイズ統計学数学カフェ 第 10 回発表資料

2016/1/31@kenmatsu4

Page 2: 15分でわかる(範囲の)ベイズ統計学

MASAKARI Come On! щ( ゜ロ゜ щ)みんなで勉強しましょう

https://twitter.com/_inundata/status/616658949761302528

Page 3: 15分でわかる(範囲の)ベイズ統計学

自己紹介 : @kenmatsu4・ Facebook ページ  https://www.facebook.com/matsukenbook・ Twitter アカウント  @kenmatsu4・ Qiita でブログを書いています(統計、機械学習、 Python等)    http://qiita.com/kenmatsu4   ( 5400 contribution を超えました!)・趣味    - バンドでベースを弾いたりしています。    - 主に東南アジアへバックパック旅行に行ったりします   (カンボジア、ミャンマー、バングラデシュ、新疆ウイグル自治区 etc ) 旅行の写真 : http://matsu-ken.jimdo.com

Twitter アイコン

Page 4: 15分でわかる(範囲の)ベイズ統計学

http://www.slideshare.net/matsukenbook

Page 5: 15分でわかる(範囲の)ベイズ統計学

本発表の内容は個人の見解であり所属する組織・団体の公式見解ではありません。

Page 6: 15分でわかる(範囲の)ベイズ統計学

事始め

Page 7: 15分でわかる(範囲の)ベイズ統計学

ベイズ統計学の歴史

https://ja.wikipedia.org/wiki/トーマス・ベイズトーマス・ベイズ (1702-1761)らしき肖像画

ベイズ統計学 (Bayesian Statistics) は、ベイズの定理

に基づき展開される。この定理は牧師であるトーマス・ベイズにより、 1740 年頃に発見され、それがリチャード・プライス (1723-1791)によって 1763 年にベイズの遺稿の中から発見され、世に公開された。

1936 年に出版された本にある肖像画であるため

本人であるかは疑わしい・・・

Page 8: 15分でわかる(範囲の)ベイズ統計学

https://ja.wikipedia.org/wiki/ ピエール=シモン・ラプラスピエール=シモン・ラプラス

さらに、ラプラスがこれと同じ定理を再発見し、近代数学にふさわしい形式にまとめた。なので、ベイズよりもラプラスに端を発するとされる場合もある。しかし、ラプラスはその後すぐ関心が別なものに移ってしまった。

ベイズ統計学の歴史

Page 9: 15分でわかる(範囲の)ベイズ統計学

http://www.ton.scphys.kyoto-u.ac.jp/~shino/mathphys/tableprob.pdf

ベイズ統計学の歴史--- 確率論の始まり --- パスカル (1623-1662) ~ " 二項分布 " フェルマー (1601-1665) ~ " 多項分布 "ホイヘンス (1601-1665) 「サイコロゲームにおける計算について」 ヤコブ・ベルヌイ (1654-1705) 「推論術」 ~ 順列・組み合わせ , 大数の法則 ヨハン・ベルヌイ (1667-1748) ド・モアブル (1667-1754) 「 籤 ( くじ ) の測定について」 , 「偶然論」 モンモール (1678-1719) 「偶然ゲームに関する解析試論」 ニコラス・ベルヌイ (1687-1759)ベイズ (1702-1762)~" ベイズの定理 "--- 古典確率論の集大成 --- ラプラス (1749-1827) 「確率の解析的理論」「確率に関する哲学的考察」 ,“ ラプラス変換” ,“ 特性関数” 「偶然というものは存在しない . 一見偶然とみられる現象も , 我々か自然を支配する法則について 無知であるからにきすぎない . 我々の知識は完全ではなく , 逆に全く無知でもないところに確率論か成立する余地かある . 」

ガウス (1777-1855) ~ " 最小二乗法 "," 正規分布 "( ガウス分布 )

1600

1700

1800

まだ正規分布も発見されておらず 確率論が成熟前の時期!

Page 10: 15分でわかる(範囲の)ベイズ統計学

ベイズの定理

Page 11: 15分でわかる(範囲の)ベイズ統計学

ベイズの定理乗法定理に対称性があるので、下記の2つはどちらも成り立つ。

Page 12: 15分でわかる(範囲の)ベイズ統計学

ベイズの定理

よって2つの式をつないで で割ることで

が得られる。これが確率に関するベイズの定理。

乗法定理に対称性があるので、下記の2つはどちらも成り立つ。

Page 13: 15分でわかる(範囲の)ベイズ統計学

ベイズの定理の応用例:検診問題ある国で病気 A は、 1 万人あたり 40 人の割合でかかっていることが知られている。病気 A に罹っている人が検診 B を受けると 8 割の確率で陽性となる。健常な人が検診 B を受けると 9 割の確率で陰性となる検診 B によって陽性と判定された場合、その受信者が病気 A にかかっている確率はどれくらいか?つまり

を計算する問題。

陽性 陰性 計病気である 4/1000

* 0.84/1000

* 0.2 4/1000

病気でない 996/1000* 0.1

996/1000* 0.9 996/1000

Page 14: 15分でわかる(範囲の)ベイズ統計学

陽性 陰性 計病気である 4/1000

* 0.84/1000

* 0.2 4/1000

病気でない 996/1000* 0.1

996/1000* 0.9 996/1000

病気の人が、陽性になる確率。

事後確率:結果陽性で、病気にかかっている確率。

病気にかかっている事前確率

病気にかかっていない事前確率病気でない人が陽性になる確率

ベイズの定理の応用例:検診問題

Page 15: 15分でわかる(範囲の)ベイズ統計学

ベイズの定理で表すと、

よって、健康な人が陽性判定となった場合でも病気の確率は 3% !!!

ベイズの定理の応用例:検診問題

陽性 陰性 計病気である 4/1000

* 0.84/1000

* 0.2 4/1000

病気でない 996/1000* 0.1

996/1000* 0.9 996/1000

Page 16: 15分でわかる(範囲の)ベイズ統計学

逆確率 ( 逆問題 )検診問題では

・病気 A … 原因・検診 B … 結果であった。通常の条件付き確率は

p( 結果 | 原因 )

のように、時間の流れにあった形で利用される。しかし、ベイズの定理では、時間の流れが逆である時間の流れ

p( 原因 | 結果 )のような「原因の確率」を論じる。

このような事後確率のことを「逆確率」という

健康状態 診断結果1. 原因 2. 結果

 例 ) 健康状態が良くないから   診断の結果、病気と判断される

健康状態診断結果 病気だという結果が 得られたということは、 健康状態が悪いのでは ?

Page 17: 15分でわかる(範囲の)ベイズ統計学

ベイズ更新受信した Eメールが

・迷惑メール A1・迷惑メールでない A2

の確率に着目する。メールの特徴 B に基づいて A の事後確率を調べる。

ベイズ流!!!

Eメール迷惑メール

普通のメール?

A1

A2

B

Page 18: 15分でわかる(範囲の)ベイズ統計学

ベイズ更新ここでさらに、追加的なメールの特徴 C (B とは独立した情報 ) が得られた時、事後確率はどのように変化するか?

条件付き確率より、

が成り立ちますが、同時に

も、成り立っています。

Page 19: 15分でわかる(範囲の)ベイズ統計学

ベイズ更新前ページの2式の右辺が等しいのでつなげると、

B と C は独立なので、

Page 20: 15分でわかる(範囲の)ベイズ統計学

ベイズ更新

として、これを情報 C に対する事前分布である、という見方をすると

情報 B が与えられた時の A の事後確率を、新たな A の事前確率としてベイズの定理を新情報 Cに独立に適用している。これをベイズ更新という。

Page 21: 15分でわかる(範囲の)ベイズ統計学

ベイズ更新

Eメール 迷惑メール

普通のメール?

A1

A2B

EメールC

追加情報 迷惑メール

普通のメール

A1

A2確率が更新される

メールに対する追加的情報により、確率が更新される

Page 22: 15分でわかる(範囲の)ベイズ統計学

ベイズ推論

Page 23: 15分でわかる(範囲の)ベイズ統計学

と がこの分布(密度関数 ) の形状を決めている

ベイズ推論確率分布に対する推論にベイズの定理を応用する。ex) 正規分布

Page 24: 15分でわかる(範囲の)ベイズ統計学

(  と は決まっている )

ベイズ推論素直に考えると、あるデータを生成する(乱数を生成する)機構があって、そのメカニズムに従ってデータが生成されている、と考えると自然。

データ生成メカニズム 生成結果

Page 25: 15分でわかる(範囲の)ベイズ統計学

mu = 60sd = 10

# 確率密度関数の描画xx = np.linspace(30,90,301)yy = st.norm.pdf(xx, mu, sd)plt.ylim(0, .045)plt.plot(xx,yy)

# 生成された乱数のヒストグラム描画x = rd.normal(mu, sd, size=200)plt.hist(x, bins=20)plt.show()

前ページのグラフを描く Python コード(抜粋)ベイズ推論

   平均、標準偏差は決まっている

  データを生成するメカニズム

得られた結果のデータ

Page 26: 15分でわかる(範囲の)ベイズ統計学

ベイズ推論逆問題として考えると、  前提 ) データは入手できている  問題 ) このデータがどのようなメカニズムから     生成されたものなのかを知りたい。

データ生成メカニズム 生成結果

逆転!

得られた結果からメカニズムの構造を確率的に推論

Page 27: 15分でわかる(範囲の)ベイズ統計学

ベイズ推論逆問題として考えると、  前提 ) データは入手できている  問題 ) このデータがどのようなメカニズムから     生成されたものなのかを知りたい。

データ生成メカニズム 生成結果

逆転!

得られた結果からメカニズムの構造を確率的に推論

確率分布のパラメーター ( 正規分布の場合、 μ と σ)は確率変数とみなして推論する!

Page 28: 15分でわかる(範囲の)ベイズ統計学

ベイズ推論… 確率分布のパラメーター (求めたいもの )

… 得られた N 個のデータ ( 定数 )

事後確率データを得た後に確率分布の構造に関するパラメーターを推定するので、「事後」。

尤度詳細は次ページ   パラメーター θ の  事前分布

     正規化定数  ( θ に依存していない)

Page 29: 15分でわかる(範囲の)ベイズ統計学

ベイズ推論θ を動かして、 が一番大きいところを探す問題なので、 θ に依存しない分母は除いて考えて良い。

    が解析的に解ける場合は求められるが、難しい場合が多い。

Page 30: 15分でわかる(範囲の)ベイズ統計学

    は今回正規分布の密度関数であるが、 はすでに得られているので定数。 θ が変数である。尤度とは?

https://goo.gl/iaTqAxアニメーション URL :

密度関数尤度

Page 31: 15分でわかる(範囲の)ベイズ統計学

マルコフ連鎖モンテカルロ法(MCMC : Markov Chain Monte Carlo method)

Page 32: 15分でわかる(範囲の)ベイズ統計学

事後分布に基づく統計的推論

事後分布の期待値、 EAP(Expected a posterior)推定量

事後分布

データから得られる知見を、事後分布として表現したい。事前分布 & 得られたデータ → 事後分布

複雑すぎて解析的な評価は困難!特に積分が難しい

Page 33: 15分でわかる(範囲の)ベイズ統計学

事後分布に基づく統計的推論  解析的には解けないので、母数 θ を確率変数と した乱数をなんらかの方法で生成する。

ここから期待値をとって EAP推定値とする。中央値は MED推定値、最頻値は MAP推定量となる。事後標準誤差もサンプルから計算できる。

MAP推定量

Page 34: 15分でわかる(範囲の)ベイズ統計学

事後分布に基づく統計的推論正規分布の場合、 μ 、 σ の2次元の変数となる。

μ

σ

μ

σ

Page 35: 15分でわかる(範囲の)ベイズ統計学

メトロポリスヘイスティングス法 デモhttps://goo.gl/ZIAynV

アニメーション URL :

Page 36: 15分でわかる(範囲の)ベイズ統計学

メトロポリスヘイスティングス法 デモ

解析的に評価することが難しい事後分布の乱数生成を可能にする方法。これにより分布の評価ができる。

Page 37: 15分でわかる(範囲の)ベイズ統計学

メトロポリスヘイスティングス法 デモ

遷移先候補

あるルールに従い、この遷移先を受容・棄却を決める。これがポイント。現在位置

Page 38: 15分でわかる(範囲の)ベイズ統計学

Stan で計算してみる確率的プログラミングの言語、 Stan を使います。

http://mc-stan.org

Page 39: 15分でわかる(範囲の)ベイズ統計学

Stan で計算してみる

8 つの学校の結果の分布

学校 効果の平均 標準偏差A 28 15B 8 10C -3 16D 7 11E -1 9F 1 11G 18 10H 12 18

8 つの学校に対して、あるテスト対策を講じた際の効果のデータ。これをモデル化して推定する。ex) 8-school

https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started#example-1-eight-schools

Page 40: 15分でわかる(範囲の)ベイズ統計学

Stan で計算してみるモデル

十分な幅をとった一様分布十分な幅をとった 0以上の一様分布

… 平均 θj 、標準偏差 σj の正規分布… 平均 0 、標準偏差 1 の標準正規分布… 平均 θj は ηj と線形の関係

Page 41: 15分でわかる(範囲の)ベイズ統計学

Stan で計算してみる data { int<lower=0> J; // number of schools real y[J]; // real<lower=0> sigma[J]; // s.e. of effect estimates } parameters { real mu; real<lower=0> tau; real eta[J]; } transformed parameters { real theta[J]; for (j in 1:J) theta[j] <- mu + tau * eta[j]; } model { eta ~ normal(0, 1); y ~ normal(theta, sigma); }

Stan コード

Page 42: 15分でわかる(範囲の)ベイズ統計学

Stan で計算してみる推定結果

Page 43: 15分でわかる(範囲の)ベイズ統計学

Stan で計算してみる mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhatmu 7.8 0.07 5.0 -2.0 4.53 7.66 11.02 17.92 5600.0 1.0tau 6.21 0.07 5.33 0.19 2.31 4.9 8.6 20.33 5600.0 1.01eta[0] 0.38 0.01 0.97 -1.61 -0.26 0.42 1.03 2.22 5600.0 1.0eta[1] 6.4e-4 0.01 0.88 -1.72 -0.58 4.0e-3 0.58 1.73 5600.0 1.0eta[2] -0.21 0.01 0.94 -2.08 -0.84 -0.22 0.41 1.63 5600.0 1.0eta[3] -0.04 0.01 0.89 -1.82 -0.63 -0.04 0.55 1.73 5600.0 1.0eta[4] -0.32 0.01 0.9 -2.04 -0.94 -0.33 0.27 1.48 5600.0 1.0eta[5] -0.2 0.01 0.9 -1.96 -0.79 -0.22 0.4 1.56 5600.0 1.0eta[6] 0.37 0.01 0.87 -1.41 -0.18 0.38 0.92 2.06 5600.0 1.0eta[7] 0.06 0.01 0.95 -1.8 -0.56 0.05 0.68 1.95 5600.0 1.0theta[0] 11.09 0.11 8.32 -2.46 5.69 10.02 15.14 31.15 5600.0 1.0theta[1] 7.68 0.08 6.09 -4.38 3.81 7.58 11.42 19.61 5600.0 1.0theta[2] 5.9 0.1 7.5 -12.31 1.99 6.53 10.63 19.25 5600.0 1.0theta[3] 7.5 0.09 6.44 -5.15 3.48 7.46 11.46 20.48 5600.0 1.0theta[4] 5.18 0.08 6.36 -8.71 1.45 5.69 9.39 16.36 5600.0 1.0theta[5] 6.17 0.09 6.65 -8.37 2.27 6.57 10.43 18.65 5600.0 1.0theta[6] 10.49 0.09 6.68 -1.16 5.99 9.82 14.38 25.73 5600.0 1.0theta[7] 8.5 0.11 7.9 -6.63 3.83 8.09 12.6 26.67 5600.0 1.0lp__ -5.01 0.04 2.65 -10.78 -6.63 -4.79 -3.14 -0.45 5600.0 1.01

推定結果

Page 44: 15分でわかる(範囲の)ベイズ統計学

Stan で計算してみる推定結果

ηj

θj

Page 45: 15分でわかる(範囲の)ベイズ統計学

参考【統計学】尤度って何?をグラフィカルに説明してみる。http://qiita.com/kenmatsu4/items/b28d1b3b3d291d0cc698

【統計学】マルコフ連鎖モンテカルロ法 (MCMC) によるサンプリングをアニメーションで解説してみる。http://qiita.com/kenmatsu4/items/55e78cc7a5ae2756f9da基礎からのベイズ統計学 輪読会資料 第 1章 確率に関するベイズの定理http://www.slideshare.net/matsukenbook/1-55165036第 4章 メトロポリス・ヘイスティングス法http://www.slideshare.net/matsukenbook/4-56002293

Page 46: 15分でわかる(範囲の)ベイズ統計学

参考異端の統計学 ベイズ ( シャロン バーチュ マグレイン著 )http://www.amazon.co.jp/dp/4794220014基礎からのベイズ統計学 (豊田 秀樹著 )http://www.amazon.co.jp/dp/4254122128図解・ベイズ統計「超」入門 (涌井 貞美著 )http://www.amazon.co.jp/dp/4797366575ベイズ計算統計学 (古澄 英夫著 )http://www.amazon.co.jp/dp/4254128568

Page 47: 15分でわかる(範囲の)ベイズ統計学

参考今日使った Python コードhttps://github.com/matsuken92/Qiita_Contents/tree/master/15min-bayes