【dbda勉強会2013】doing bayesian data analysis chapter 16: metric predicted variable with one...

31
DBDA Ch. 16 Metric Predicted Variable with One Metric Predictor つつつつつつつつつ つつつつつつつつつ つつつつ つつつつつつ つつつつつつつつつ つつ つつ

Upload: junki-marui

Post on 27-Jun-2015

1.339 views

Category:

Education


2 download

DESCRIPTION

Doing Bayesian Data Analysis16章の、単回帰をベイジアンで扱う章の解説スライド。 単回帰とは何であるかから、単回帰の階層モデリング、結果の解釈(結局説明変数が効いているかどうか)を経て、頑健な回帰・グループの回帰までを扱う。 今回も冒頭詩の詩訳を掲載。

TRANSCRIPT

Page 1: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

DBDA Ch. 16Metric Predicted Variable with One Metric Predictor

1つの計量変数からのある計量変数の予測

東京大学工学系研究科 技術経営戦略学専攻

丸井 淳己

Page 2: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

(冒頭の詩:詩訳 )農協 *が私への貸付を取り消すと脅してくるもし私の農場からの生産がすぐ増えなければ。

ああ神様、動向を占うことができたらどんなにいいか、私の皺は深くなるだろうか?運命 *は尽きるのだろうか?

* agri-bank は農業銀行といったところなのだろうけど、日本だと農協がそういうことをしているような。* line を運命と訳してみたが、これは単回帰が線形、本章では直線であることと関係があるのか無いのかは良く分からない。* この人が単回帰できるようになって救われるのかどうかも良く分からない。それこそ、どれくらい苦労するかが分かるだけだろう…切ない。

Page 3: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

この章では• ひとつの観測値からある観測値を予測する事を行うo 体重の予測を身長からo 血圧を体重からo 収入を教育された年数から

• これから xと yを、単純な線形モデルで表すo yは残余値 (予測モデルと実測値の差 )が正規分布しているとする

• 一般化線形モデルで表すとo 仮定:o モデル:o これを Simple Linear Regression(線形単回帰 )と通常呼ぶ

Page 4: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

はじめに• 既に皆さんも線形回帰は何度もやってきたと思います

• 僕が習ってきたものはo yと xに線形の関係があって、全てのデータは同じ分散の正規分布によるエラーがあるとしましょう

o あ、そうすると最小二乗法が使えますねo 偏微分すれば簡単に回帰の傾きと切片が出せますねo R2値… Excel/統計ソフトでの計算方法…

• ここではo 回帰式の傾きの 95%信頼区間o ある xを与えた時の yの分布o 外れ値の扱い→より確率を使った議論

Page 5: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

線形単回帰• このモデルでは、 yが xに従属であることしか言っていないo xがどのように生まれるか、 xの値の確率分布については何も言っていない。

o 下図でも左は xの一様分布、右は双峰性の分布。

Page 6: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

線形単回帰• このモデルが前提としているもの

o 分布が xによらず一定であること。o 下図で、左はあきらかにこの前提に従っていそうだが、右はどうだろうか? x=2.5と x=7.5で分散は同じ?

o 実は右も従っている。スパースなところは正規分布の端の方からの点が生成されないだけであって、同じ分散になってる。

Page 7: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

線形単回帰• 現実世界において…

o xと yの間には直接の因果関係があるかもしれないし無いかもしれない。 x⇒yかもしれないし、 y⇒xかもしれないし、別の変数⇒ x ∧ yかもしれないし、 xと yにはなんの関係も無いかもしれないし、今まで上げた中の組み合わせかもしれない。

o 単回帰モデルで言っているのは因果関係ではなくて、 yがどのように xに線形に関連している傾向にあるか、つまり xから yが予測可能であるかを言ってるにすぎない。

Page 8: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

単回帰の解釈• 身長と体重の例

o 16.5.1のHtWtDataGerator.Rで生成されたもの

o 身長が高いと体重が多くなるように見える

o ある程度ばらつきがあるので、片方が片方を直接生じさせたわけでは無さそう

o 実際の所大人は甘いものを沢山食べようがダイエットしようが体重は変えられる一方で身長は変わらないのだから。

Page 9: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

単回帰• ゴール:データを与えた時、どの回帰の線が一番それらしいものかを決めることo 言い換えれば、データを与えた時、 β0,β1,τのどの組み合わせが一番信頼出来るか、ということ→ベイズ的扱いになる

• ベイズルールを使う

o 適切に事前確率を設定すれば解析的に事後確率が求まる• 例えば前章のように τを固定 (ある点でスパイクするような分布 )して β0,β1が正規分布しているとすれば、事後確率も正規分布となる (Bolstad 2007)

o 幸運なことに、数学的な導出法に悩む必要はなく、 BUGS/JAGSが事後確率を近似してくれる。我々は、適切な事前分布を決めて、 BUGS/JAGSが信頼出来る事後確率を生成するかどうか、みれば良い

Page 10: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

単回帰の階層モデリング• このモデルでは3つのパラメータ (β0,β1,τ)があるので、3次元での事前同時分布が必要となる。o ここでは単純にするために、3つのパラメータがそれぞれ独立であることとする

o しかしそうする必要は特にない。パラメータが ( 逆 ) 相関しているという事前分布を持つことも出来る。

o →階層モデル

Page 11: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

単回帰の階層モデリング• yiのパラメータ: μ,τ

• τの事前分布:ガンマ分布 (パラメータ S,R)

• μ:β0,β1という2つのパラメータがある

• βi:事前分布を正規分布 (パラメータ :Mi,Ti)

τ,T は正規分布の尖り度μ,M は正規分布の平均

15 章の図 15.2 と比べると良いほとんど同じ手法

Page 12: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

BUGS コード

先ほどの図の矢印をコードにしたもの。

実際には仮定を入れてもっと確度のあるパラメータの値を入れる

Page 13: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

MCMC のための正規化• そのまま生の x,yのデータでMCMCすることも出来る。o 別にロジックや数式として何も間違っては居ない

• しかし回帰式の傾きと切片が相関してしまうo そうすると、斜めの狭い領域が出来てしまい、 Gibbs

SamplingやMetropolis Algorithmで非常に扱いにくい状況となる(下図)

• Gibbs Sampling は一回につき一つの軸上でのジャンプだが、このような形だと、非常に細かいジャンプが繰り返され、全ての領域を効率よく回れない。

• Metropolis Algorithm だと、うまく提案分布が設定できず、ほとんどのジャンプが棄却される結果になりがち。

Page 14: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

正規化の方法• データを移動させてやれば解決できる• 平均を引いて、標準偏差で割ればいい

o こうすると簡単に平均 0、標準偏差が 1のデータが作れる

• 正規化した式を元の βに戻すと…

Page 15: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

正規化の結果• 切片と傾きが関係しなくなる

前の状態では、傾きが変わると切片も著しく変わるが、正規化すれば傾きが変わっても、切片は 0 のあたりを動き回るので、相関が無くなる

Page 16: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

MCMC の chain の初期化• burn-in 期間をめぐる議論

o MCMCでは、とりあえずランダム・ウォークさせて、最初の期間を burn-in 期間として捨てればいい、とされている

o だから適当な点からスタートしてもよさそうo しかし現実には、 burn-in 期間がとても長くなりうるo よって、連鎖の初期値を事後確率が大きい付近で取りたい

• MLEを使う方法o もしデータが大きくて事前分布を支配している場合や事前分布が分散している、または前の結果から適切な所が分かる場合、尤度関数のピークが事後確率のピークと近くなる。

o 良さそうな候補はパタメータのMLEの場所。o データが正規化されている場合 ,β0: ゼロ , β1:xと yの相関係数 (r) τ:1/(1-r2)

Page 17: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

どれくらい傾きが大きいか

• 回帰式の傾きの分布を表したもの。左が正規化されたあと、右が元のデータでの分布

• 1 インチ身長が増えると 5~6 ポンド体重が増える• もし x が y に影響を与えているかどうか見たい場合、さ

きほどの HDI に傾き 0 が含まれているかどうかを見れば良い

Page 18: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

検定に使えるか• ベイズのモデル比較をおこなえば検定を行うことは出来そうではある。一つのモデルは事前分布が広がっていて、もうひとつは傾き 0にピークがあるもの。o しかしこういったモデル比較はどちらがより信頼できるかを言っているのみであって、さっきの例で言えばゼロでない傾きを持つモデルをより好むだけで、どの傾きが信頼出来るか、ということについては答えない。

o 今回はベイズモデル比較をおこなうことで得られることは少ない。

Page 19: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

事後確率の予測• 線形回帰は xから yを予測することに使われる。• 75インチの身長なら何キロくらい?• ベイズ的アプローチで身長 xと過去のデータ Dから体重 yを推定する。

• 良い近似を出す単純な方法は、信頼出来るパラメータのMCMC サンプルから yを生成する方法。o β0,β1,τをサンプリングして、↓で yを生成する

Page 20: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

y の HDI と事後確率予測

• 灰色のラインが95%HDI

• ダッシュが y の事後確率予測の平均

• 真ん中の方が灰色の線が短く、両サイドは大きい

• データが多いところより少ないところのほうが信頼度が少ないので HDI の範囲が大きくなる

Page 21: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

事後確率予測の他の使い方• 事後確率が実際には線形になっていない場合に、線形になっていないことが分かる

• 線形回帰のプログラムに入れてこのような結果を得るとする。

• データの分布はモデルから推測される y の分布と系統だって違うことが分かる

• このような分析をすることでモデルの正確性を高めることが出来る

Page 22: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

外れ値と頑健な回帰• 標準尤度関数は外れ値によって大きくねじ曲げられてしまう(→ 15 章 図 15.5)o 回帰分析の場合も同じことが起きる。o 標準尤度関数は回帰線からデータのポイントが縦方向に

近いことを要求する→尤度は標準偏差 x3より離れた点に対して非常に小さい値になってしまうため

o よって外れ値は回帰の傾きに大きく影響を与えすぎることがある

• 正規分布→ t分布o 正規分布は t分布における自由度 (df)無限大と同じ。 t分布で dfが小さいものは、ロングテールになっている

o t分布は、データが少ない時の不確実性を表している。ロングテールになっているため、外れ値を正規分布よりは”ありうる”値として受容する

Page 23: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

実際の例左:正規分布右: t 分布 df 小

左の傾きは右の倍矢印で示した外れ値をモデルに含めてしまうのが左、外れ値として扱うようになったのが右のモデル。

Page 24: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

結局どっちが正しいの?• 状況によりけり

o dfの値が高い (=正規分布に近い )と信じるに足る理由があれば左をとればいいし、そうでもないのであれば右をとればいい

Page 25: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

繰返しの測定と単回帰• 個々のデータ jにそれぞれの観測値 xij, y ijがあったとする。o これらそれぞれにモデルを作ることが出きるo これら個々が同じグループに属しているとして、グルー

プレベルのパラメータを算出することを考える

• ラットに薬物 ( 酸化鉄イオン ?)を与える実験o 肝臓での分解によって血中濃度が時系列でどのように

減っていくかを単回帰してみる。o それぞれの観測結果も試行ごとに誤差がでる (いままでもこれはあった )

o それぞれのラットで減り方は異なるo グループとしての減る割合はどれくらいか?個体差はどれくらいと見積もれるか?

Page 26: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

ラットの例• 薬物の血中濃度減り方

o Subject = ラットo 横軸は日。どのように減っていくか

Page 27: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

階層モデル一番下の段が個々のデータ (yij) 。それを決めているのが個体ごとにあるパラメータ(β0j 、 β1j 、 τj)

2段目が個体のパラメータの分布。個体 jの切片・傾き・広がりパラメータを全て集めた時の分布。

この形を決めているのが一番上の段にあるパラメータ。これがグループごとにあるパラメータと解釈できる。

広がり傾き

切片

Page 28: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

コードのモデリング• 矢印ごとにモデリング

Page 29: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

結果• 右下がグループレベルのパラメータ推定

こうすることで、個体のデータを一緒くたにすることなく、グループとしての平均と個体差の分散を出すことができる。個体ごとのデータは少ないので HDI が広いが、個体差を前スライドのようにあつかってグループのパラメータを推測すると、 HDI が狭くなる。

Page 30: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

まとめ 1• xからの yの予測は、因果関係や時系列での関係を特に意味しない。

• 線形回帰の通常のモデリングでは、すべてのデータの分散が一定とする

• そうする必要はないが、大抵切片と傾きの事前分布が正規分布をしているとする

• MCMC サンプリングを効率よくするため、 yと xのデータを正規化して、MLEを使って初期値を入れると良い

Page 31: 【DBDA勉強会2013】Doing Bayesian Data Analysis Chapter 16: Metric Predicted Variable with One Metric Predictor

まとめ 2• 事後確率予測は xから yを予測するのに使える。また、モデルがデータと系統だって違うかどうかのチェックにも使える

• 繰返しのある測定に使う事ができる。それぞれの個体が単回帰によるパラメータを持っていて、グループレベルでそれらのパラメータを橋渡しするようなパラメータを持たせれば良い

• 個々の測定値に外れ値がある場合、正規分布より t分布を使うこともできる