【dbda勉強会2013】doing bayesian data analysis chapter 8: inferring two binomial proportions...

29
DBDA Chapter 8 Inferring Two Binomial Proportions via Gibbs Sampling ギギギギギギギギギギギギ 2 ギギギギギギギギギ ギギギギ ギギギギギギ ギギギギギギギギギ ギギ ギギ 1

Upload: junki-marui

Post on 10-May-2015

1.173 views

Category:

Education


7 download

DESCRIPTION

Doing Bayesian Data Analysis8章の、ギブスサンプリングによる2系列の二項確率推定をまとめたスライド。 内容は、2変数によるベイズ確率・前章までの手法の拡張を行なった上で、ギブスサンプリングを導入し、2つのコインの有意差を見るまでの内容。

TRANSCRIPT

Page 1: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

DBDA Chapter 8Inferring Two Binomial Proportions via Gibbs

Samplingギブスサンプリングによる

2系列の二項確率推定東京大学

工学系研究科 技術経営戦略学専攻丸井 淳己

1

Page 2: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

(冒頭の詩:試訳 )

今までのだめだったプロポーズに私は傷つき続けている

ゴミのように捨てられた皮のような私の気持ち

君が君の道を行き、私が私の道を行ったとしよう、

私たちは行った先のどこかで、お互いを受け入れるんじゃないかな

2

Page 3: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

はじめに• このチャプターでは2系列の独立した二項確率に関する推論をするo 今までは1系列だけ扱ってた

• 階層モデル (Ch.9)への布石となるo 多くのパラメータが出てくるので。o 複数パラメータの扱いをここから始めよう

• ギブスサンプリングを初めて扱うo 今までは BUGSという単語でのみ言及されてたo 一般的なMetropolisアルゴリズムと違って、一回のジャンプはひとつのパラメータ上で行われて、 rejectされることもない。出来れば非常に良い手法だが、いつも出来るわけではない。

3

Page 4: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

2系列の確率って?• ここでは (今までと同じく )コインを扱うけど、潜在的な違いをサンプルから調べたいことは 現実世界でも多々ある

• 例えば 100人の患者がいたとする。半分に有効そうな薬を与え、もう半分がプラセボとする

• 1週間後、薬を与えた群で 12人が快方に向かい、プラセボ群では 5人だった。

• では薬は有効性を認められたのだろうか?• 12/50と 5/50が観測されたが、潜在的な差はどのくらい認められるだろう?

4

Page 5: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

補:もし頻度主義にたてば…• フィッシャーの正確確率検定や、 χ2検定が使われる• p値が 95%信頼区間内なので有意差は認められない

o つまり薬が効いたとはいえない

Rの例fisher.test(matrix(c(12,38,5,45),nrow=2))

Fisher's Exact Test for Count Data

data: matrix(c(12, 38, 5, 45), nrow = 2) p-value = 0.1084alternative hypothesis: true odds ratio is not equal to 1 95 percent confidence interval: 0.8300494 11.1360458 sample estimates:odds ratio 2.813081

5

Page 6: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

仮定など• グループ jに表が出る仮説的な割合 : θj

• Nj回の試行のうち表が zj回出たとし、 i番目の試行を yjiとする (表なら 1,裏なら 0)

• この章では2つのグループは独立であるとする(片方の試行結果がもう片方に影響しない ;患者同士でお話などをしない )

• もしこの仮定が成り立たない場合はこれから紹介する方法をそのまま適用することは出来ない。(やり方はあることにはあるが、今回は扱わない )

6

Page 7: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

二系列の事前確率・尤度・事後確率 (1)• ベイジアンではデータなしでの確率をいくつだと信じるかを決めなければならないo →事前確率 :全ての θ1,θ2に対して p(θ1,θ2)を決めるo もちろん∫ dθ1dθ2p(θ1,θ2) = 1

• この章の一部では θ1の主観確率が θ2に対して独立であることを仮定するが、そうする必要性は特に無いo p(θ1,θ2)が p(θ1)*p(θ2)である必要はないo 同じような方法で作ってるとすればカナダで作ったコインとインドで作ったコインが同じように偏っていると考えてもおかしくはない

7

Page 8: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

二系列の事前確率・尤度・事後確率 (2)• 次はデータについて。• グループに属する試行 (コイン jを弾いた結果 )は互いに独立とする

• 主観確率の独立性 (前スライド )を仮定するかどうかによらず、違うグループ同士のデータが独立であると仮定するo p(y1|θ1,θ2) = p(y1|θ1), p(y2|θ1,θ2) = p(y2|θ2)

• zjは表の数なので、 zj = Σyji 1≤ i ≤N1

• データ D = {z1,N1,z2,N2}

• ベルヌーイ分布なので…

8

Page 9: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

二系列の事前確率・尤度・事後確率 (3)

ベイズの法則より

左辺や右辺分子の θにはある具体的な値が入っているが、右辺分母はあらゆる θ1,θ2についての積分となっている

(8.1)

(8.2)

2

9

Page 10: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

事後確率の解析的な分析 (1)• さっきのベイズの法則から導かれた式 (8.2)を解析的に使いたい。事前分布がどのような関数ならば扱いやすく分析ができるだろうか?o 五章:ベータ分布は一次元のベルヌーイ尤度関数に対して共役 (事後確率と事前確率が同じ関数形 )になっていた。

o これを使ってみてはどうだろうか

• ということで五章の 5.7式と同じロジックを使うo ベータ分布 :beta(θ|a,b) = θ(a-1)(1-θ)(b-1)/B(a,b)o B(a,b):ベータ関数;分子を正規化しているだけo θ1の事前分布を beta(θ1|a1,b1) , θ2を beta(θ2|a2,b2)としてさっきのベイズ式 (8.2)にいれると…

10

Page 11: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

事後確率の解析的な分析 (2)

(8.3)

分母は分子の正規化関数なのだから、分子を θ1, θ2について積分すると

(8.4)

整理すると

(8.5)

11

Page 12: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

事後確率の解析的な分析 (3)• 事前分布が独立なベータ分布の積であるとき、事後分布もまた独立なベータ分布の積となる。その際にそれぞれのベータは5章で導いた更新ルールに従っている (観測結果が入る )o 事前確率 : beta(θ1|a1,b1) x beta(θ2|a2,b2)

o データ D = {z1,N1,z2,N2}

o 事後確率 : beta(θ1|z1+a1, N1-z1+b1) x beta(θ2|z2+a2, N2-z2+b2)

• 理解するためには視覚化するとわかりやすいo 3次元でプロット。平面に θ1,θ2を、縦に確率値をとる。o 2次元と等高線でプロットo 次のスライドでは2つの方法で図示する

12

Page 13: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

事後確率の解析的な分析 (4)

事前確率: beta(θ|3,3)0.5が平均になって広がっている

尤度:どの θiならデータがもっとも適合するか。ピークはデータでの表の割合。事後確率:黒い枠内が 95%の領域

13

Page 14: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

事後確率のグリッド近似 (1)• もしパラメータ空間が十分に少なければこの手法で分析可能。ベイズルールから導かれた 8.2式は

(8.6)

• 最初の p(・ )は確率密度関数だが、二行目は小さいエリアでの確率値を表している

• 足しあわせれば 1となる (2行目の ΣΣ・の値 )

14

Page 15: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

事後確率のグリッド近似 (2)• 利点 1

o どんな事前分布も仮定できるo 複雑なのでも OK

• 利点 2o Highest Density Regionの近似もどのような事前分布に対しても求められる

15

Page 16: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

事後確率をMCMCで分析• もし解析的にも扱えず、パラメータも多くてグリッドでも扱えない場合は、7章で紹介したとおり、事後確率から代表点を沢山作って事後確率 (と関連する統計量 )を推定する

• まずMetropolisアルゴリズム 2次元版を見てみよう

16

Page 17: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Metropolis Algorithm• Metropolis Algorithmの手順

o ランダム・ウォークによってジャンプ先を決める• ある確率分布 (提案分布 ;proposal distribution)に従ったランダムウォーク。

• 二次元なので、二次元の標準正規分布を使うことにする。文字通りの (3次元で思い浮かべる )ベル・カーブ。o分布の平均はジャンプ前の点とする

o ジャンプ先を受け入れるかどうかを下の確率で決める

o P(θ)は事後確率;正規化されていなくて良いo 今よりもいい確率なら必ず受容され、低い場合はその割合の確率で受容される。却下された場合はまた上に戻る

17

Page 18: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Metropolis Algorithmの結果

先ほどと同じ例 (事前確率 :beta)大体 Posteriorが近似されている気がする。あっちこっちに飛ぶのは提案分布が二次元正規分布のせい。

例によって burn-in期間 (ランダムウォークした最初の期間 )を除いている

Exerciseで提案分布を広くしたり狭くしたりしましょう (各自 )

18

Page 19: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Metropolisから Gibbsへ• Metropolisアルゴリズムは一般的かつ広く適応可能。

• 問題点o 提案分布を事後確率分布によって適切にチューニングしないとうまくいかない• 15ページ目のような複雑な事後分布の場合、グループ間を行き来できないでとどまってしまうかもしれない

o 提案分布が広すぎたり狭すぎたりすると、多くのジャンプが却下されたり一部にとどまり続けてしまう可能性も高くなる

• そこで、チューニングが要らない、他の方法はないだろうかo →Gibbs Sampling

19

Page 20: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Gibbs Sampling• Gibbs Samplingで何が出来るか

o p(θ1, θ2, θ3|D)という同時事後確率のサンプルを生成できる

• それが出来る条件o p(θ1|θ2, θ3,D) ,p(θ2|θ1, θ3,D) ,p(θ3|θ1, θ2,D)が分かる場合

o かつそれらのサンプルが生成可能な場合

• つまりo 適応できる場合が限定されているo しかし出来る場合にはMetropolisアルゴリズムよりも効率的かつ信頼出来る結果が得られる

20

Page 21: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Gibbs Samplingの手順• Metropolis Algorithmの一種だがステップのとり方が違う&却下されない

• 一回のジャンプは必ず一つのパラメータ (θi)上で行われ、それ以外 (θ\i)は (前の値に )固定されている。普通 θ1→θ2→θ3→…のように軸を順に変えてジャンプする

• ジャンプ先は p(θi|{θj}i≠j,D)に従うo Metropolisアルゴリズムでは Q(xt+1|xt)=提案分布を用いていた。前の例だと xtを中心とした二次元の正規分布。

• サンプルが却下されることがないo なぜなら提案分布が事後確率を反映しているためo 細かい証明は Gelman, Carlin, Stern, Rubin(2004 p293)

21

Page 22: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Gibbs Samplingの適用• 先ほどの例を取ってみる。 Gibbs Samplingをするにはまず条件付き事後確率を求める

ベータ分布としているので

(8.8)22

Page 23: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Gibbs Samplingの適用• 8.8式はある意味明らか

o 事後確率は独立したベータ分布の積なので、 p(θ1|θ2,D)=p(θ1|D)である

• 条件付き事後確率がもとまったら、次はそこからサンプリングできるかを考えなければならないo この場合はベータ分布なので直接サンプリングできる。o 直接サンプリングできない場合は別の方法でサンプリングする

• これで計算してみると…

23

Page 24: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Gibbs Samplingの適用• θが循環してジャンプしている事がわかる

• Metropolis法では実際には1000サイクル回しても却下される事を考えればそれ以下の点しか生成されないが、 Gibbs Samplingなら1000点作れる

• 結局のところ、他のパラメータを固定して一つだけ変えていく作業は、事後確率をある軸で切ってやって、その平面上での確率分布をその平面の生起確率分だけやっているのだから、効率的かつうまくいくことになる

24

Page 25: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Gibbs Samplingの欠点• とても偏った事後確率分布の場合は速さが落ちる。o 1軸しか1ステップで変えられないため。

• 制限が厳しいo 条件付き事後確率が分かっていて、かつサンプリング可能でなければならない

θ1

θ2

25

Page 26: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

BUGSでやる方法• …と教科書にはあるが、そもそも JAGSを使ったほうが良い

• 教科書と同じコード (JAGS版 )はo http://www.indiana.edu/~kruschke/DoingBayesianD

ataAnalysis/Programs/

26

Page 27: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

結局、2系列の差って?• Gibbs Samplingによって θ1,θ2の代表点がもとまった (BUGSでの結果↓ )

これら代表点から差 θ1-θ2

を計算して集計すると↓

有意差は言えない↑2つのパラメータを両方変えた結果のみ表示(計算はもちろん軸ごとにしている )

27

Page 28: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

まとめ• これまでの章のコンセプトを2つのパラメータの状況に適応したo パラメータ2つの場合の確率分布に慣れることと、グラフィカルな例によって直感的に分かることが目的の一つ

o 復習しました!

• Gibbs Samplingを導入したことo Metropolis サンプリングよりも効率的o 全てのパラメータについての条件付き事後確率が必要o rejectされないので、 reject proposalに悩まされないo BUGSで1からプログラム書かずにすんだ

• 2系列のデータの差についての議論o 事後確率のサンプルから差を計算して信頼区間を求めて議論した。 95%HDIから外であれば有意差があると言える 28

Page 29: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 8: Inferring Two Binomial Proportions via Gibbs Sampling

Rコード• これまで出てきた図の再現ができます

29