Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

2,884 views

Published on

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

  1. 1. DBDA Ch. 16 Metric PredictedVariable with One Metric Predictor 1つの計量変数からの ある計量変数の予測 東京大学 工学系研究科 技術経営戦略学専攻 丸井 淳己
  2. 2. (冒頭の詩:詩訳) 農協*が私への貸付を取り消すと脅してくる もし私の農場からの生産がすぐ増えなければ。 ああ神様、動向を占うことができたらどんなにいいか、 私の皺は深くなるだろうか?運命*は尽きるのだろうか? * agri-bankは農業銀行といったところなのだろうけど、日本だと農協がそういうこ とをしているような。 * lineを運命と訳してみたが、これは単回帰が線形、本章では直線であることと関係 があるのか無いのかは良く分からない。 * この人が単回帰できるようになって救われるのかどうかも良く分からない。それ こそ、どれくらい苦労するかが分かるだけだろう…切ない。
  3. 3. この章では • ひとつの観測値からある観測値を予測する事を 行う o 体重の予測を身長から o 血圧を体重から o 収入を教育された年数から • これからxとyを、単純な線形モデルで表す o yは残余値(予測モデルと実測値の差)が正規分布していると する • 一般化線形モデルで表すと o 仮定: o モデル: o これをSimple Linear Regression(線形単回帰)と通常呼ぶ ng a person’s weight from their ght, or predicting their income variable is metric and the single etween the predicted variable, y, distributed residual randomness model assumes that y ∼ N(µ,τ) 312) in the first row and second gression”. h R and BUGS. Academic Press / The agri-bank’s threatnin’ to revoke my lease If my field’s production don’t rapid increase. Oh Lord how I wish I could divine the trend, Will my furrows deepen? and Will my line end? In this chapter we consider situations such as predictin height, or predicting their blood pressure from their weig from years of education. In these situations, the predicted v predictor is also metric. We will describe the relationship be and predictor, x, with a simple linear model and normally d in y. In terms of the generalized linear model (GLM), the m with µ = β0 + β1x. This model appears in Table 14.1 (p. 3 column. This model is often referred to as “simple linear reg Kruschke, J. K. (2010). Doing Bayesian Data Analysis: A Tutorial with
  4. 4. はじめに • 既に皆さんも線形回帰は何度もやってきたと思 います • 僕が習ってきたものは o yとxに線形の関係があって、全てのデータは同じ分散の正 規分布によるエラーがあるとしましょう o あ、そうすると最小二乗法が使えますね o 偏微分すれば簡単に回帰の傾きと切片が出せますね o R2値…Excel/統計ソフトでの計算方法… • ここでは o 回帰式の傾きの95%信頼区間 o あるxを与えた時のyの分布 o 外れ値の扱い →より確率を使った議論
  5. 5. 線形単回帰 • このモデルでは、yがxに従属であることしか 言っていない o xがどのように生まれるか、xの値の確率分布については何 も言っていない。 o 下図でも左はxの一様分布、右は双峰性の分布。 and predictor, x, with a simple linear mode in y. In terms of the generalized linear mod with µ = β0 + β1x. This model appears in column. This model is often referred to as “ Kruschke, J. K. (2010). Doing Bayesian Data Analy Elsevier. Copyright c 2010 by John K. Kruschke preliminary draft. If you report Bayesian analyses b
  6. 6. 線形単回帰 • このモデルが前提としているもの o 分布がxによらず一定であること。 o 下図で、左はあきらかにこの前提に従っていそうだが、右 はどうだろうか?x=2.5とx=7.5で分散は同じ? o 実は右も従っている。スパースなところは正規分布の端の 方からの点が生成されないだけであって、同じ分散になっ てる。
  7. 7. 線形単回帰 • 現実世界において… o xとyの間には直接の因果関係があるかもしれないし無いか もしれない。x⇒yかもしれないし、y⇒xかもしれないし、 別の変数⇒x ∧ yかもしれないし、xとyにはなんの関係も無 いかもしれないし、今まで上げた中の組み合わせかもしれ ない。 o 単回帰モデルで言っているのは因果関係ではなくて、yが どのようにxに線形に関連している傾向にあるか、つまりx からyが予測可能であるかを言ってるにすぎない。
  8. 8. 単回帰の解釈 • 身長と体重の例 o 16.5.1のHtWtDataGerator.Rで 生成されたもの o 身長が高いと体重が多くな るように見える o ある程度ばらつきがあるの で、片方が片方を直接生じ させたわけでは無さそう o 実際の所大人は甘いものを 沢山食べようがダイエット しようが体重は変えられる 一方で身長は変わらないの だから。
  9. 9. 単回帰 • ゴール:データを与えた時、どの回帰の線が一 番それらしいものかを決めること o 言い換えれば、データを与えた時、β0,β1,τのどの組み合わ せが一番信頼出来るか、ということ→ベイズ的扱いになる • ベイズルールを使う o 適切に事前確率を設定すれば解析的に事後確率が求まる • 例えば前章のようにτを固定(ある点でスパイクするよ うな分布)してβ0,β1が正規分布しているとすれば、事後 確率も正規分布となる(Bolstad 2007) o 幸運なことに、数学的な導出法に悩む必要はなく、 BUGS/JAGSが事後確率を近似してくれる。我々は、適切な 事前分布を決めて、BUGS/JAGSが信頼出来る事後確率を生 成するかどうか、みれば良い
  10. 10. 単回帰の階層モデリング • このモデルでは3つのパラメータ(β0,β1,τ)がある ので、3次元での事前同時分布が必要となる。 o ここでは単純にするために、3つのパラメータがそれぞれ 独立であることとする o しかしそうする必要は特にない。パラメータが(逆)相関し ているという事前分布を持つことも出来る。 o →階層モデル
  11. 11. 単回帰の階層モデリング • yiのパラメー タ:μ,τ • τの事前分布:ガ ンマ分布(パラ メータS,R) • μ:β0,β1という2 つのパラメータ がある • βi:事前分布を正 規分布(パラメー タ:Mi,Ti) τ,Tは正規分布の尖り度 μ,Mは正規分布の平均 15章の図15.2と比べると良い ほとんど同じ手法
  12. 12. BUGSコード 先ほどの図の矢印をコードにしたもの。 実際には仮定を入れてもっと確度のあるパラメータの値を入れる
  13. 13. MCMCのための正規化 • そのまま生のx,yのデータでMCMCすることも出 来る。 o 別にロジックや数式として何も間違っては居ない • しかし回帰式の傾きと切片が相関してしまう o そうすると、斜めの狭い領域が出来てしまい、Gibbs SamplingやMetropolis Algorithmで非常に扱いにくい状況と なる(下図) • Gibbs Samplingは一回につき一つの軸上での ジャンプだが、このような形だと、非常に細か いジャンプが繰り返され、全ての領域を効率よ く回れない。 • MetropolisAlgorithmだと、うまく提案分布が設 定できず、ほとんどのジャンプが棄却される結 果になりがち。
  14. 14. 正規化の方法 • データを移動させてやれば解決できる • 平均を引いて、標準偏差で割ればいい o こうすると簡単に平均0、標準偏差が1のデータが作れる • 正規化した式を元のβに戻すと… 16.2. There you can see various believable lines that go through the scatter of points. tice that if a line has a steep slope, its intercept must be low, but if a line has a smaller pe, its intercept must be higher. Thus, there is a trade-off in slope and intercept for the ievable lines. One of the main tricks used for successful execution of the MCMC sampling is stan- dizing the data. Standardizing simply means re-scaling the data relative to their mean standard deviation: z(x) = (x − Mx) SDx and z(y) = y − My SDy (16.1) ere Mx is the mean of the data x values and SDx is the standard deviation of the data x ues. (Do not confuse Mx and My with the constants used in the specification of the priors he hierarchical diagram.) It is easy to prove, using simple algebra, that the mean of the ulting z(x) values is zero, and the standard deviation of the resulting z(x) values is one, any initial data set. Having used BUGS to find slope and intercept values for the standardized data, we then d to convert the parameter values back to the original raw scales. Denote the intercept slope for standardized data as ζ0 and ζ1 (Greek letter “zeta”), and denote the predicted ue of y as ˆy. Then: zˆy = ζ0 + ζ1zx by definition of the model z(x) = (x − Mx) SDx and z(y) = y − My SDy (16.1) ere Mx is the mean of the data x values and SDx is the standard deviation of the data x ues. (Do not confuse Mx and My with the constants used in the specification of the priors the hierarchical diagram.) It is easy to prove, using simple algebra, that the mean of the ulting z(x) values is zero, and the standard deviation of the resulting z(x) values is one, any initial data set. Having used BUGS to find slope and intercept values for the standardized data, we then ed to convert the parameter values back to the original raw scales. Denote the intercept d slope for standardized data as ζ0 and ζ1 (Greek letter “zeta”), and denote the predicted ue of y as ˆy. Then: zˆy = ζ0 + ζ1zx by definition of the model ˆy − My SDy = ζ0 + ζ1 (x − Mx) SDx from Eqn. 16.1 ˆy = ζ0SDy + My − ζ1SDyMx/ SDx β0 + ζ1SDy/ SDx β1 x (16.2) us, for every believable combination of ζ0,ζ1 values, there is a corresponding believable
  15. 15. 正規化の結果 • 切片と傾きが関係しなくなる 前の状態では、傾きが変わると切片も 著しく変わるが、正規化すれば傾きが 変わっても、切片は0のあたりを動き回る ので、相関が無くなる
  16. 16. 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)
  17. 17. どれくらい傾きが大きいか • 回帰式の傾きの分布を表したもの。左が正規化されたあ と、右が元のデータでの分布 • 1インチ身長が増えると5~6ポンド体重が増える • もしxがyに影響を与えているかどうか見たい場合、さき ほどのHDIに傾き0が含まれているかどうかを見れば良い
  18. 18. 検定に使えるか • ベイズのモデル比較をおこなえば検定を行うこ とは出来そうではある。一つのモデルは事前分 布が広がっていて、もうひとつは傾き0にピーク があるもの。 o しかしこういったモデル比較はどちらがより信頼できるか を言っているのみであって、さっきの例で言えばゼロでな い傾きを持つモデルをより好むだけで、どの傾きが信頼出 来るか、ということについては答えない。 o 今回はベイズモデル比較をおこなうことで得られることは 尐ない。
  19. 19. 事後確率の予測 • 線形回帰はxからyを予測することに使われる。 • 75インチの身長なら何キロくらい? • ベイズ的アプローチで身長xと過去のデータDか ら体重yを推定する。 • 良い近似を出す単純な方法は、信頼出来るパラ メータのMCMCサンプルからyを生成する方法。 o β0,β1,τをサンプリングして、↓でyを生成する
  20. 20. yのHDIと事後確率予測350 CHAPTER 16. METRIC Y, ONE METRIC X 60 65 70 75 50100150200250300 Data with 95% HDI & Mean of Posterior Predictions X (height in inches) Y(weightinpounds) + + + + + + + + + + + + + + + + + + + + + + + + Figure 16.6: Data points, with 95% HDIs and means of posterior predictions in y, at selected x values. The HDIs are wider (i.e., taller) for extrapolated x values than • 灰色のラインが 95%HDI • ダッシュがyの事後確 率予測の平均 • 真ん中の方が灰色の 線が短く、両サイド は大きい • データが多いところ より尐ないところの ほうが信頼度が尐な いのでHDIの範囲が大 きくなる
  21. 21. 事後確率予測の他の使い方 • 事後確率が実際には線形になっていない場合に、 線形になっていないことが分かる • 線形回帰のプログラムに入 れてこのような結果を得る とする。 • データの分布はモデルから 推測されるyの分布と系統 だって違うことが分かる • このような分析をすること でモデルの正確性を高める ことが出来る
  22. 22. 外れ値と頑健な回帰 • 標準尤度関数は外れ値によって大きくねじ曲げ られてしまう(→15章 図15.5) o 回帰分析の場合も同じことが起きる。 o 標準尤度関数は回帰線からデータのポイントが縦方向に近 いことを要求する→尤度は標準偏差x3より離れた点に対し て非常に小さい値になってしまうため o よって外れ値は回帰の傾きに大きく影響を与えすぎること がある • 正規分布→t分布 o 正規分布はt分布における自由度(df)無限大と同じ。t分布 でdfが小さいものは、ロングテールになっている o t分布は、データが尐ない時の不確実性を表している。ロ ングテールになっているため、外れ値を正規分布よりは” ありうる”値として受容する
  23. 23. 実際の例 左:正規分布 右:t分布 df小 左の傾きは右の倍 矢印で示した外れ値 をモデルに含めてし まうのが左、外れ値 として扱うように なったのが右のモデ ル。
  24. 24. 結局どっちが正しいの? • 状況によりけり o dfの値が高い(=正規分布に近い)と信じるに足る理由があれ ば左をとればいいし、そうでもないのであれば右をとれば いい
  25. 25. 繰返しの測定と単回帰 • 個々のデータjにそれぞれの観測値xij,yijがあった とする。 o これらそれぞれにモデルを作ることが出きる o これら個々が同じグループに属しているとして、グループ レベルのパラメータを算出することを考える • ラットに薬物(酸化鉄イオン?)を与える実験 o 肝臓での分解によって血中濃度が時系列でどのように減っ ていくかを単回帰してみる。 o それぞれの観測結果も試行ごとに誤差がでる(いままでも これはあった) o それぞれのラットで減り方は異なる o グループとしての減る割合はどれくらいか?個体差はどれ くらいと見積もれるか?
  26. 26. ラットの例 • 薬物の血中濃度減り方 o Subject = ラット o 横軸は日。どのように減っていくか
  27. 27. 階層モデル 一番下の段が個々の データ(yij)。それを決 めているのが個体ごと にあるパラメータ(β0j、 β1j、τj) 2段目が個体のパラ メータの分布。個体jの 切片・傾き・広がりパ ラメータを全て集めた 時の分布。 この形を決めているの が一番上の段にあるパ ラメータ。これがグ ループごとにあるパラ メータと解釈できる。 広がり傾き 切片
  28. 28. コードのモデリング • 矢印ごとにモデリング
  29. 29. 結果 • 右下がグループレベルのパラメータ推定 こうすることで、個体のデータを 一緒くたにすることなく、グルー プとしての平均と個体差の分散を 出すことができる。個体ごとの データは尐ないのでHDIが広いが、 個体差を前スライドのようにあつ かってグループのパラメータを推 測すると、HDIが狭くなる。
  30. 30. まとめ1 • xからのyの予測は、因果関係や時系列での関係 を特に意味しない。 • 線形回帰の通常のモデリングでは、すべての データの分散が一定とする • そうする必要はないが、大抵切片と傾きの事前 分布が正規分布をしているとする • MCMCサンプリングを効率よくするため、yとx のデータを正規化して、MLEを使って初期値を 入れると良い
  31. 31. まとめ2 • 事後確率予測はxからyを予測するのに使える。 また、モデルがデータと系統だって違うかどう かのチェックにも使える • 繰返しのある測定に使う事ができる。それぞれ の個体が単回帰によるパラメータを持っていて、 グループレベルでそれらのパラメータを橋渡し するようなパラメータを持たせれば良い • 個々の測定値に外れ値がある場合、正規分布よ りt分布を使うこともできる

×