- 読書ノート アーカイブ:http://yagays.github.com/blog/2012/10/20/archive-introducing-monte-carlo-methods-with-r/
例 6.3 二次モデルの線形回帰におけるパラメータの事後分布から,メトロポリス・ヘイスティング・アルゴリズムを用いてサンプリングする
この例題では,carsのデータセットにおいて線形回帰による二次曲線のあてはめをおこない,最尤法で推定したパラメータによる事後分布から複数のサンプリングを行うことを目標にする.今回使用するデータセットは車の速度とその時の制動距離に関するデータで,Rの入門書でよく例に使われるものである.carsのデータセットに関するHelpのExampleには,本問題と似たようなプロットを描写するコード例が載っている.
この問題では,車のスピードと制動距離の関係について,以下式で表される二次モデルで線形回帰をおこなう.
1 2 3 4 5 6 7 8 9 10 11 |
|
以下の図は,車のスピードをx軸に,制動距離をy軸に取って,carsに含まれる50個のデータをプロットし,オレンジの線で回帰直線を表示している.また,この時の線形回帰で求められた各パラメータの推定値をsummary()関数を用いて表示している.この情報から,それぞれのパラメータの推定値は
ということがわかる.次の練習問題 6.11では,この推定値を元に,事後分布のサンプリングをメトロポリス・ヘイスティング・アルゴリズムで行う.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
練習問題 6.11 メトロポリス・ヘイスティング・アルゴリズムを用いて事後分布からのサンプリングをする(例6.3の続き)
a. P.202の図6.6を描写する
ここでとすると,この時の尤度関数は以下式のように表される.
これを整理すると.
となる.この尤度関数をによる事後分布とみなす.それぞれのパラメータの分布は,先ほどの線形回帰で求めた推定値と標準誤差を用いる.
なお,上の推定値や標準誤差は本書に例示されている値と若干異なっているが,今回は自分の計算環境で計算した推定値を用いることにした.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
以下の図は,先ほどの線形回帰のプロットに加えて,サンプリングから得られた値を用いて回帰曲線を灰色の曲線として描写したものである.
b. 各パラメータの収束をモニタリングする
先ほどのサンプリング結果を,について,4000回のシミュレーションで生成された系列と,そのときの自己相関プロット,そして系列の分布をプロットした.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
c. 95%信用区間を求める
1 2 3 |
|