Weitere ähnliche Inhalte
Ähnlich wie StanとRでベイズ統計モデリング読書会 導入編(1章~3章) (16)
Mehr von Hiroshi Shimizu (15)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
- 14. 1.1 統計モデリングとは
• モデル
– 必要なエッセンスだけを取り上げて,不必要な部分を大
胆に切り落としたもの
• プラモデルとか。
• 確率モデル
– エッセンスに数式を用いて,確率分布を取り入れたもの
• 統計モデリング
– 確率モデルをデータに当てはめて現象の理解と予測を促
すこと
- 22. 1.2 統計モデリングの目的
• 解釈
– 現象の仕組みを知りたい
• データの生成メカニズムを知りたい
• 説明しやすい,納得しやすいモデルを作りたい
– パラメータの関係式から現象を解釈する
• 回帰分析の回帰式なんかがそれにあたる
• 予測
– これまで得られたデータから,未来に得られるであろ
うデータの振る舞いを知りたい
• 予測精度の高いモデルを作りたい
- 24. 解釈と予測から見る手法の違い
• 古典的な統計学(分散分析とか)
– 解釈重視
• 実験計画にあった解釈が可能
– しかし,強い制約がある
• 等分散の仮定,球面性の仮定,正規性の仮定・・・
• 機械学習
– 予測重視
• 次に取るデータの振る舞いを正確に予測・制御可能
– しかし,解釈ができない
• ノンパラメトリックな手法
• 将棋ソフトとかは,強くなればなるほど「なぜその手が選ば
れたのか」が人間では理解できなくなる
- 26. 1.3 確率的プログラミング言語
• これまでの統計モデリング
– モデル構築に,パラメータ推定のためのアルゴリズム
開発がセット
• 新しいモデルを作ったら,そのたびに,対数尤度関数の偏
微分をしてそれをプログラミングする
– 高度な数学とプログラミング知識が必要
• 確率的プログラミング言語を使うと
– 分析者はモデル構築だけをすればいい
– パラメータ推定はソフトウェアが勝手にやってくれる
- 29. Rの関数との違いは?
• Rにも多様な関数がある
– lm(), glm(),などなど
– パッケージも豊富
• それぞれの関数は1つのモデルのみ対応
– 新しいモデルをやるたびにパッケージを探す必要
– 探しても見つからない場合は,そこで行き詰まる
• 確率的プログラミング言語があれば!
– ちょっとしたモデルの修正は手間がかからない
– 最初の「習得コスト」は大きくても,できることは非常に多
いので,総合的には利益が大きい
- 30. 1.4 なぜStanなのか
• WinBUGS
– 一番最初に作られた確率的プログラミング言語
– エラーがわかりにくい
– 2007年から開発が停滞
• JAGS
– BUGSの思想を受け継いだ確率的プログラミング言語
– 一人が開発をしているのであまり更新されず,マニュ
アルも整備されていない
- 31. Stan
• 最新の手法が実装
– ハミルトミアンモンテカルロ法
• あるいはそれを改良したNUTSと呼ばれる方法
• BUGSやJAGSのアルゴリズムより性能がいい
– 100分の1ぐらいの計算回数で収束する
– 変分ベイズを行う自動微分変分ベイズ法
• 近似法だが,MCMCよりもずっと早い
• 開発が活発
– マニュアルが充実
• モデルの用例も豊富
– エラーメッセージもわかりやすい
– 新しい手法の実装や,バグの修正も早い
- 38. 確率質量関数
• 離散的な確率分布の関数
– probability mass function: PMF
– サイコロなど,値がとびとびのもの
– 二項分布,ポアソン分布,負の二項分布など
• PMFの特徴
– 値と確率が一対一対応する
• 1の目がでる確率は1/6
• 成功率0.5,試行数10の二項分布で5回成功する確率は
0.246,など
– 総和が1になる
- 40. 確率密度関数
• 連続的な確率分布の関数
– probability density function: PDF
– 値が連続的で∞までの範囲がある(ない場合も)
– 正規分布,ガンマ分布,ベータ分布
• PDFの特徴
– ある一点の値と確率が対応しない
• 確率ではなく,確率密度と呼ばれる
– 確率は,値の範囲に対応する
• (定)積分した値が確率
– 積分したら1になる
- 50. 𝑦 ~ 𝑝(𝑦)
• 確率変数𝑦が確率分布𝑃(𝑦)に従う
– ~(チルダ)は確率的な関係性を表す
• データ𝑦が正規分布に従う場合
– 平均𝜇,SD=𝜎の正規分布
– 𝑦 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝑦 𝜇, 𝜎)
– 単に,𝑦 ~ 𝑁𝑜𝑟𝑚𝑎𝑙(𝜇, 𝜎)と書くこともある
- 55. 本書の記法
• データを表す場合
– 最初を大文字にする
– 統計モデリングでは,観測されたものは大文字で表
記されることが多い
• 添字には二種類の意味
– パラメータの場合と,ベクトルの場合
– 𝜎 𝑌は変数Yの標準偏差であることを意味する
– 𝜃 𝑘はベクトル𝜃のk番目の要素であることを意味する
- 57. 2.2 伝統的な統計学の問題点
• ベイズ統計学と伝統的な統計学
– おそらく本書では頻度主義統計学のことを「伝統
的な統計学」と呼んでいる・・・と思う
– その二つの違いは,結局はパラメータを定数と考
えるか確率変数と考えるかの違い
• 本書に合わせて「ベイズ」と「伝統」と表記
– 頻度と書くとたぶんいろいろややこしいことが・・・
あるのかないのか
- 58. パラメータの扱い
• パラメータ
– 確率分布を特徴づける値
• 正規分布なら平均値と分散(あるいは標準偏差)
– 解析前には未知で,これを知ることが統計モデリングの1
つの目的
• パラメータをどう考えるか
– 伝統:真の値があって,それは定数であると考える
• 平均値は170だ!とか
– ベイズ:確率的に変動するものと考える
• 平均値は170が最も確率が高そうだが,165である確率もそれなり
にはあるな・・・
- 63. 2.3 尤度と最尤推定
• 最尤推定
– 「伝統」で使われる推定方法
– 尤度を最大にするパラメータを求める方法
• 尤度って何
– データと(ある分布の)パラメータの当てはまり具
合を表す量
– 尤度が高いほうが,データに合ったパラメータに
なっている,ということ
- 65. 確率モデルと尤度関数
• 1人のデータ𝑌をとったとする
– 𝑁𝑜𝑟𝑚𝑎𝑙 𝑌 𝜇 =
1
2 𝜋
exp
− 𝑌−𝜇 2
2
• この場合,𝑌はすでにわかっている値なので定数
• わからないのはパラメータ𝜇
• 尤度関数
– 確率モデルについて,データを定数,パラメータを変
数とした関数を尤度関数と呼ぶ
– 確率分布と違うのは,積分しても1にならない
– 特定のデータが得られたときのパラメータの尤もらし
さ
- 75. 2.4 ベイズ推定とMCMC
• 「伝統」の問題点を解決する
– その1つがベイズの定理を用いたベイズ推定と,マル
コフ連鎖モンテカルロ法(MCMC)
• 「ベイズ」の特徴
– パラメータを確率変数と考える
– ベイズでは,パラメータを定数ではなく確率分布とし
て推定する
• パラメータが複数あったら,その同時分布
• でも実際,パラメータを評価するときは周辺分布を見る
- 85. 定常分布に収束
• 初期状態が1/3の場合
• 必ずBから始まる場合でも・・
– このように,初期状態にかかわらずステップ6ぐら
いで定常分布に収束する
状態 初期分布 ステップ1 ステップ2 ステップ3 ステップ4 ステップ5 ステップ6 ステップ7 ステップ8
A 0.333333 0.433333 0.443333 0.444333 0.444433 0.444443 0.444444 0.444444 0.444444
B 0.333333 0.283333 0.278333 0.277833 0.277783 0.277778 0.277778 0.277778 0.277778
C 0.333333 0.283333 0.278333 0.277833 0.277783 0.277778 0.277778 0.277778 0.277778
状態 初期分布 ステップ1 ステップ2 ステップ3 ステップ4 ステップ5 ステップ6 ステップ7 ステップ8
A 0 0.4 0.44 0.444 0.4444 0.44444 0.444444 0.444444 0.444444
B 1 0.3 0.28 0.278 0.2778 0.27778 0.277778 0.277778 0.277778
C 0 0.3 0.28 0.278 0.2778 0.27778 0.277778 0.277778 0.277778
- 98. 事後分布の評価の仕方
• MCMCサンプル列を要約する
– 平均値 → パラメータの期待値(EAPとも呼ぶ)
• 確率が最大になる値はMAP推定値と呼ぶ
• Maximum a posterioriの略
– SD → パラメータの推定精度
• 「伝統」でいうところの標準誤差のようなもの
– 95%区間 → パラメータの信頼区間
• ベイズ信頼区間
- 99. 2.5 ベイズ信頼区間とベイズ予測区間
• ベイズ信頼区間
– 得られた事後分布の特定の信頼度の区間
• 信頼度が95%の場合、95%信頼区間
– MCMCなら分位点から簡単に計算可能
• 95%の場合は、0.025と0.975の分位点をみればよい
• 信頼区間の重要性
– 事後分布は常に単峰で左右対称とは限らない
• SDだけでは、パラメータの精度は評価できない
– 相関係数などもゆがんだ分布になるので信頼区間を
使って評価する方がよい
- 103. ベイズ予測区間
• 積分によって求めることができる
– 予測分布 = ∫ 𝑝 𝑦 𝜃 𝑝 𝜃 𝑌 𝑑𝜃
• 𝑝(𝑦|𝑌)
• 事後分布で重みづけた確率モデル
• MCMCで計算された𝜃を全部使う
– 例えば1000個の𝜃がサンプリングされたら、
– 1000個のポアソン分布を作成し、乱数を生成
– 乱数によって形作られたものが予測分布
- 106. 2.7 本書の事前分布の選び方
• 事前分布の選び方
– 恣意的に選ぶのはよくない
• 背景知識が不十分な場合は、特定の値がでやすいような事前分
布を選ぶのは適切ではない
• 再現性の低下の元になる
– 無情報事前分布
• 範囲の広い一様分布
• 分散がすごい大きい分布
– 弱情報事前分布
• ある程度の知識がある場合は、それを反映させた事前分布を用
いることも有効
- 109. 3.1 データ解析の前準備
• データをとる前に
– 背景知識の収集
• 該当分野においてよく使われる手法や仮定を調べる
– 問題設定
• データから何を知りたいかをまとめる
• 何を主張したいかをまとめる
• どういうストーリー、図で主張するとよいかを考える
– 解析計画
• どの手法を使うか
• 解析のベストシナリオを描く
• マイルストーンを考えておく
- 110. データ解析の前準備
• データをとった後で
– データの分布の確認
• ヒストグラム・箱ひげ図を見る
• 散布図・クロス表を見る
• 時系列データの場合は折れ線グラフなど
• データ分布の確認の重要性
– 分布の確認は、データの生成メカニズムを推測する
うえでとても重要
• どの確率分布を仮定するかを類推するのに役立つ
– 図の描写はRなどが便利
- 116. 再現性のチェック
• 再現性
– 同じ手順に従えば、毎回同じ結果が得られること
– 推定結果の再現性をチェックして、モデルの安定性、
頑健性を確認する
• チェックポイント
– 異なるデータセットでも同じような結果になるか
• データを数個除いて分析しても同じになるか
– ソフトやアルゴリズムを変えても同じ結果になるか
• Stan以外のソフトを使っても同じになるか
– アルゴリズムが乱数に依存する場合、それらを変え
ても同じ推定結果になるか
- 118. 3.3 背景知識の役割
• メカニズムを想像と背景知識
– 統計モデリングでは、データだけからデータ生成
のメカニズムが完全にわかるわけではない
– そのため、背景知識が利用される
• 背景知識が統計モデリングでは必須
• その当該分野における実質科学的知見(背景知識)を抜
きにしてはメカニズムを想定することはできない
- 121. 3.4 モデルの記述方法
• モデル式
– データとパラメータの関係性
– パラメータとパラメータの関係性
• 確率的な関係性
– Y ~ Normal(μ, 1)
• チルダを使う Yは正規分布に確率的に従う
• 確定的な関係性
– μ = α + βX
• イコールを使う μはα + βXによって規定される
- 123. 3.5 情報量規準を使ったモデル選択
• 情報量規準
– AIC、BIC、あるいはWAIC、WBICなどなど
• 前者よりも後者(WAIC、WBIC)のほうがよい
• MCMCを使えばこれらは簡単に計算可能
– モデル選択に使える
• 予測精度の高いモデルや、データにあったモデルをこれらの指標
で選ぶことができる
• 情報量規準に頼りすぎるのはよくない
– しかし、情報量規準は万能ではない
– WAICが小さいモデルが常に良いモデルとは限らない
– 本書では、情報量規準によるモデル選択は扱わない
- 126. t検定の場合
• 確率モデル
– 𝑌1 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇1, 𝜎
– 𝑌2 𝑚 ~ 𝑁𝑜𝑟𝑚𝑎𝑙(𝜇2, 𝜎)
– 𝜇2 = 𝜇1 + 𝛿
• 推定するパラメータは
– Y1の平均パラメータ𝜇1と,差のパラメータ𝛿
– 二つの群の共通した標準偏差𝜎