Successfully reported this slideshow.
Your SlideShare is downloading. ×

階層ベイズと自由エネルギー

階層ベイズと自由エネルギー

Download to read offline

モデル評価の基準と自由エネルギー(負の対数周辺尤度)についてまとめました。また、階層ベイズに自由エネルギーを評価するとどうなるかなどについても解説しています。
スライド中のStanやRのコードは下のリンクからコピペできます。
http://norimune.net/3107

モデル評価の基準と自由エネルギー(負の対数周辺尤度)についてまとめました。また、階層ベイズに自由エネルギーを評価するとどうなるかなどについても解説しています。
スライド中のStanやRのコードは下のリンクからコピペできます。
http://norimune.net/3107

More Related Content

階層ベイズと自由エネルギー

  1. 1. 階層ベイズと自由エネルギー bridge-samplingを使ってみた 清水裕士 関西学院大学 広島ベイズ塾春合宿資料 2018/03/2
  2. 2. 今日の話 • 渡辺理論に基づいて話をします – 統計モデリングや統計的推測に関わる一般理論 – 情報量基準やベイズファクターに関わる • WAICと自由エネルギー – 統計モデルを評価する2つの基準 – 未来と過去に関わる基準 – 最後に、logmlを用いた例を紹介 広島ベイズ塾春合宿資料 2018/03/2
  3. 3. 結論 • モデル評価には二つの基準がある – 汎化誤差 • WAIC – 自由エネルギー • bridge-samplingによる対数周辺尤度の推定 • 階層モデルの場合の挙動に違い – WAIC:予測の観点によって指標が違う – 自由エネルギー:周辺化したモデルでも階層化したモ デルでも同じ結果が得られる 広島ベイズ塾春合宿資料 2018/03/2
  4. 4. モデル評価の基準 広島ベイズ塾春合宿資料 2018/03/2
  5. 5. 数式とか嫌いな人のためのまとめ • モデル評価には二つある – いままでAICとBICと呼ばれていたやつ – 実は観点が違うのです • 汎化誤差・・・AICに対応 – 将来に発生するデータへの予測力の推定値 – WAICで近似的に評価できる • 自由エネルギー・・・BICに対応 – 手元のデータの当てはまりの良さ – 周辺尤度から計算できる 広島ベイズ塾春合宿資料 2018/03/2
  6. 6. 渡辺理論 • WAICを提案した渡辺澄夫先生の理論 – ベイズ統計モデリングの基礎となる – 抽象的すぎて笑える • この理論を知ってるとだいぶ見通しがよくなる – 数式出てくるけど、がんばれ – なお、今回はわかりやすさのため逆温度𝛽を1の 場合に限定して話をする 広島ベイズ塾春合宿資料 2018/03/2
  7. 7. 定義 • 真の分布𝑞(𝑥) – サンプルが生成される確率分布 • サンプル𝑋 𝑛 – n個のデータ 𝑞(𝑥) 𝑋 𝑛 データの発生 我々の知らない複雑な確率分布 広島ベイズ塾春合宿資料 2018/03/2
  8. 8. 定義 • 確率モデル – 𝑝(𝑥|𝑤) • とくにサンプル𝑋 𝑛 尤度関数𝑝 𝑋 𝑛 𝑤 という • 𝑤は𝑚次元のパラメータを意味する – 𝑋 𝑛取得前のパラメータの分布を特に事前分布𝜙(𝑤)と呼ぶ • 周辺尤度 – 𝑝(𝑋 𝑛) = 𝑝 𝑋 𝑛 𝑤 𝜙 𝑤 𝑑𝑤 – 分配関数𝑍 𝑛と表記することもある • 事後分布 – パラメータ𝑤についての推測 – 𝑝 𝑤 𝑋 𝑛 = 1 𝑝(𝑋 𝑛) 𝑝 𝑋 𝑛 𝑤 𝜙(𝑤) 広島ベイズ塾春合宿資料 2018/03/2
  9. 9. 確率モデルを選ぶ • データに合った,よく知っている確率分布 データ 確率モデル 我々の知っている簡単な確率分布 たとえば正規分布を当てはめる パラメータは未知 広島ベイズ塾春合宿資料 2018/03/2
  10. 10. 定義 • サンプルの現れ方についての平均 – サンプルは確率変数なので、真の分布からの現 れ方の期待値を取りたい場合の操作 – 𝔼 𝑓 𝑋 𝑛 = 𝑓 𝑥 𝑛 𝑞 𝑥 𝑛 𝑑𝑥 • 事後分布による平均 – 𝔼 𝑤 𝑓 𝑥 = 𝑓 𝑥 𝑝 𝑤 𝑋 𝑛 𝑑𝑤 – 各パラメータについて、事後分布で平均を取る 広島ベイズ塾春合宿資料 2018/03/2
  11. 11. 予測分布 • 事後分布によって確率モデル𝑝(𝑥|𝑤)を平均 したものを予測分布と呼ぶ – 𝑝 𝑥 𝑋 𝑛 = 𝔼 𝑤 𝑝 𝑥 𝑤 = 𝑝 𝑥 𝑤 𝑝 𝑤 𝑋 𝑛 𝑑𝑤 • サンプル𝑋 𝑛を得た後に構成された分布 • ベイズ推測とは – 真の分布𝑞(𝑥)を予測分布𝑝(𝑥|𝑋 𝑛)で推測するこ とを言う 広島ベイズ塾春合宿資料 2018/03/2
  12. 12. 汎化誤差 • 汎化誤差を次のように定義する – 𝐺 𝑛 = −log𝑝 𝑥 𝑋 𝑛 𝑞 𝑥 𝑑𝑥 • 負の対数予測確率を真の分布で平均したもの • これは、データ𝑥を得たときの平均的な予測誤差を意味する – 𝐺 𝑛は次のようにも書ける • これは、汎化誤差がqのエントロピーと𝑞(𝑥)と𝑝(𝑥)のカルバッック・ ライブラー距離の和であることを意味する。 – 𝐺 𝑛 = 𝑞 𝑥 − log𝑞(𝑥) + 𝑞 𝑥 log 𝑞 𝑥 𝑝 𝑥|𝑋 𝑛 = 𝐻 𝑞 + 𝐾𝐿 𝑞(𝑥), 𝑝(𝑥|𝑋 𝑛 ) • これは、汎化誤差がqのエントロピーと𝑞(𝑥)と𝑝 𝑥|𝑋 𝑛 のカル バッック・ライブラー距離の和であることを意味する。 広島ベイズ塾春合宿資料 2018/03/2
  13. 13. カルバックライブラー距離 • 確率分布間の距離を表す値 – 𝐾𝐿 𝑞, 𝑝 ≥ 0 • 𝐾𝐿 𝑞, 𝑝 = 0のとき、𝑞 = 𝑝 – 向きによって値が変わる • 一般に、𝐾𝐿 𝑞, 𝑝 ≠ 𝐾𝐿(𝑝, 𝑞) • よって、厳密な距離の定義にあわない – 𝐾𝐿(𝑞, 𝑝)は、確率分布𝑞(𝑥)から情報がきたとき、𝑝(𝑥)でど れくらいもれなくキャッチできるかを意味する • 汎化誤差の解釈 – 真の分布と予測分布の距離を表している • 近いほうが、予測力が高いモデルが作れている 広島ベイズ塾春合宿資料 2018/03/2
  14. 14. WAICは汎化誤差の推定値 • WAICは汎化誤差の平均値と同じ平均を持つ – 𝔼 𝐺 𝑛 = 𝔼 𝑊𝐴𝐼𝐶 + 𝑂 1 𝑛2 – つまり、WAICは真の分布と予測分布の距離を、 サンプルの現れ方の意味で平均的に推定できて いる 広島ベイズ塾春合宿資料 2018/03/2
  15. 15. 自由エネルギー • 自由エネルギーを次のように定義する – 𝐹𝑛 = − log 𝑝 𝑋 𝑛 • 負の対数周辺尤度のこと – 自由エネルギーのサンプルの現れ方について平 均をとると – 𝔼 𝐹𝑛 = 𝑛𝐻 𝑞 + 𝐾𝐿 𝑞 𝑥 𝑛 , 𝑝 𝑥 𝑛 • 真の分布と確率モデルの距離に比例する 広島ベイズ塾春合宿資料 2018/03/2
  16. 16. 汎化誤差と自由エネルギー • 汎化誤差の平均 – 真の分布𝑞(𝑥)と予測分布𝑝(𝑥|𝑥 𝑛 )との距離 • 予測分布からの予測が次得られるデータをどれほど予測できる か – WAICの平均と漸近的に同じ • 自由エネルギーの平均 – 真の分布𝑞(𝑥 𝑛 )と𝑝(𝑥 𝑛 )の距離 • 確率モデル𝑝(𝑥|𝑤)と事前分布𝜙(𝑤)の組との距離 • 想定した確率モデルがどれほど真の分布に近いか – WBICの平均と漸近的に同じ • ただし、近似精度はWAICほどよくはない – 周辺尤度が計算できればそっちのほうがよい 広島ベイズ塾春合宿資料 2018/03/2
  17. 17. モデルを評価する二つの基準 • 汎化誤差 – WAICで近似的に評価できる – 将来に発生するデータへの予測力の推定値 • 平均的には予測力の良さを表す • 自由エネルギー – 周辺尤度から計算できる – 手元のデータの当てはまりの良さ • 平均的には真の分布と確率モデルの近さを表す 広島ベイズ塾春合宿資料 2018/03/2
  18. 18. 諸概念の関係 • 知りたいこと ← 知れること • 汎化誤差 – 𝔼 𝐺 𝑛 ← 𝐺 𝑛 ← WAIC • 自由エネルギー – 𝔼 𝐹𝑛 ← 𝐹𝑛 ← WBIC or bridge-sampling • bridgesamplingのほうがおそらく精度はよい 広島ベイズ塾春合宿資料 2018/03/2
  19. 19. 自由エネルギーの特徴 • 想定したモデルと手元のデータの当てはまり – 尤度と似てるが、尤度は事前分布が考慮に入れ られていない点が違う • 複雑なモデルより単純なモデルを好む – 必要以上に複雑なモデルは評価されない – ベイズ的オッカムの剃刀ともいわれる 広島ベイズ塾春合宿資料 2018/03/2
  20. 20. 階層モデルとモデル評価 広島ベイズ塾春合宿資料 2018/03/2
  21. 21. 松浦さんのブログ記事をまず見て! • 階層ベイズとWAIC – http://statmodeling.hatenablog.com/entry/waic- with-hierarchical-models 広島ベイズ塾春合宿資料 2018/03/2
  22. 22. 階層モデルとモデル評価 • 階層モデル – パラメータの事前分布にさらにパラメータがある ようなモデル – 𝑝 𝑥 𝑤 𝑝 𝑤 𝑢 𝑝 𝑢 • いくらでも階層化は可能 • 階層化すると予測の解釈が変わる – 参加者と試行の例でいうと • 新しい参加者を一人追加する場合の予測誤差 • 同じ参加者にもう一回試行してもらう場合の予測誤差 広島ベイズ塾春合宿資料 2018/03/2
  23. 23. 階層モデルとWAIC • 1.階層化しないモデル – 𝑌𝑖 ~ 𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝑇, 𝜃 • 刺激別に正答率を推定する • 𝑇は試行数 • 2.階層化するモデル – 𝑌𝑖 ~ 𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝑇, 𝜃 – 𝜃𝑖 ~ Beta( 𝜇 𝜎 , 1−𝜇 𝜎 ) • 刺激の平均的な正答率𝜇に加え、個人間変動𝜎を仮定 広島ベイズ塾春合宿資料 2018/03/2
  24. 24. 個人間変動𝜎をいれるべきか • WAICやlooで検討されてきた – しかし、この二つのモデルは直接WAICで検討す る場合は注意が必要 • 階層モデルのまま2のモデルのWAICを計算 – 同じ参加者にもう𝑇回試行してもらう場合の予測 誤差の参加者分の合計 • パラメータ𝜃𝑖が尤度に入っている • 参加者ごとに予測誤差が違う点にも注意 広島ベイズ塾春合宿資料 2018/03/2
  25. 25. model1.stan 広島ベイズ塾春合宿資料 2018/03/2
  26. 26. model2.stan WAI𝐶を計算するときには対 数尤度をデータ点ごとに計 算するが、 その時に使ったパラメータで どの予測をするかが決まる 広島ベイズ塾春合宿資料 2018/03/2
  27. 27. Rで乱数を生成 • ベータ二項分布から乱数を生成 広島ベイズ塾春合宿資料 2018/03/2
  28. 28. WAICの計算 • モデル1 • モデル2 100人分の予測誤差の合計 広島ベイズ塾春合宿資料 2018/03/2
  29. 29. 二項回帰分析 • glm()で ほぼほぼ一致 広島ベイズ塾春合宿資料 2018/03/2
  30. 30. ベータ二項回帰の結果 • gamlssパッケージでベータ二項回帰 一致しない・・・ 広島ベイズ塾春合宿資料 2018/03/2
  31. 31. 周辺化する方法 • 尤度関数を周辺化 – 𝐿 = 𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝑌|𝑇, 𝜃 𝐵𝑒𝑡𝑎 𝜃 𝜇, 𝜎 𝑑𝜃 • これはベータ分布が共役事前分布なので・・・ – 𝐵𝑒𝑡𝑎𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝑌 𝑇, 𝜇, 𝜎 • と書ける – 𝜃が消えた! • 積分によってパラメータを消すことを積分消去と呼ぶ • 周辺化した尤度関数のWAIC – 新しい参加者を一人加えた場合の予測誤差 – 個人間変動𝜎をいれる前のモデルと比較可能 広島ベイズ塾春合宿資料 2018/03/2
  32. 32. model3.stan 広島ベイズ塾春合宿資料 2018/03/2
  33. 33. WAICの計算 • Stanからの計算 • 最尤法での計算 一致した! 広島ベイズ塾春合宿資料 2018/03/2
  34. 34. WAICまとめ • モデル1 • モデル2とモデル3 広島ベイズ塾春合宿資料 2018/03/2
  35. 35. WAICの困難 • 周辺化できない場合はどうするか? – 個人差を表すパラメータ𝜃を消せない場合は、階層化 するまえのモデルと比較ができない – 認知モデリングで階層化のメリットが主張できない • そもそも心理学ではあまり予測に興味ない – 新しい参加者がどれくらい記憶するかとか、どれくら いの速さでボタン押すかとかに興味にない – 知りたいのは、モデルがどれくらい現象を近似できて いるか 広島ベイズ塾春合宿資料 2018/03/2
  36. 36. 階層モデルと 自由エネルギー 広島ベイズ塾春合宿資料 2018/03/2
  37. 37. 自由エネルギーはどうか • 自由エネルギー – 𝐹𝑛 = − log 𝑝 𝑋 𝑛 = −𝑙𝑜𝑔 𝑝 𝑋 𝑛 𝑤 𝜙 𝑤 𝑑𝑤 – すべてのパラメータについて事前分布で周辺化さ れている • よって、階層モデルでも周辺化するかどうかで結果が 変わらないのでは・・・? • bridge-samplingによる対数周辺尤度の推定 – 𝐹𝑛の推定値になっているはず! 広島ベイズ塾春合宿資料 2018/03/2
  38. 38. bridge-sampling • サンプリングで周辺尤度を推定 – いろんな方法があるらしい – 今のところbridge-samplingがいいらしい • Rでパッケージがある – bridgesamplingパッケージ – target += 記法で計算した事後分布を与えるだけ 広島ベイズ塾春合宿資料 2018/03/2
  39. 39. bridge-samplingの使い方 • Stanコードを書く – ただし、target += 記法でモデルを書く – サンプリング回数もかなり多めに • 5万回以上が推奨 – 尤度も事前分布もすべて • 上のモデルでそのように書いていたのは、このため • Stanfitをbridge_sampler()に入れる – そのあと、logml()に入れれば、対数周辺尤度が得ら れる 広島ベイズ塾春合宿資料 2018/03/2
  40. 40. 試してみる • 試すStanコードはこちら – 二項分布のパラメータ𝜃の事前分布がベータ分布 広島ベイズ塾春合宿資料 2018/03/2
  41. 41. 試してみる • Rコード – まずは積分して対数周辺尤度を計算してみよう 広島ベイズ塾春合宿資料 2018/03/2
  42. 42. bridge-samplingを使う ほぼ一致! 広島ベイズ塾春合宿資料 2018/03/2
  43. 43. 事前分布を変えてみる • 𝛼 = 2, 𝛽 = 2の場合 • 𝛼 = 10, 𝛽 = 10の場合 事前分布によってかなり大きさが変わる それでも、brige-samplingと積分の結果は一致 広島ベイズ塾春合宿資料 2018/03/2
  44. 44. 3つのモデルの自由エネルギー • モデル1 • モデル2とモデル3 ※ここではBICとの比較のために、 自由エネルギーの2倍を計算して いる点に注意 広島ベイズ塾春合宿資料 2018/03/2
  45. 45. 完全に一致 広島ベイズ塾春合宿資料 2018/03/2
  46. 46. 最尤法の結果 • ベータ二項回帰のBIC • 2倍の自由エネルギー(‐2*対数周辺尤度) 広島ベイズ塾春合宿資料 2018/03/2
  47. 47. 自由エネルギーと階層モデル • 階層モデルでも自由エネルギーは一致 – 今手元にあるデータについての当てはまりを評 価しているので、本質的にモデルが同じであれば その値は変わらないようだ • 心理学者の知りたい値なのでは? – 今手元にあるデータから考えて、想定した確率モ デルが真の分布の近似になっているかどうか 広島ベイズ塾春合宿資料 2018/03/2
  48. 48. 自由エネルギーとベイズファクター • ベイズファクターと関係が深い – 𝐵𝐹 = 𝑝 𝑋 𝑛 𝑀1 𝑝 𝑋 𝑛 𝑀2 • 二つのモデルの周辺尤度の比 • 自由エネルギーの差はBFの対数 – 𝐹𝑛 𝑚1 − 𝐹𝑛 𝑚2 = 𝑙𝑜𝑔𝐵𝐹 – 逆に言えば、 • 𝐵𝐹 = exp(𝐹𝑛 𝑚1 − 𝐹𝑛 𝑚2) 広島ベイズ塾春合宿資料 2018/03/2
  49. 49. モデル1とモデル2のBF • アホみたいにでかい 広島ベイズ塾春合宿資料 2018/03/2
  50. 50. 自由エネルギーの困難 • 事前分布の影響を強く受ける – 比較の対象となる個人間変動𝜎の事前分布のパ ラメータを変えるだけでけっこう変わる • 最初のモデル2 – 𝜎 ~ 𝑠𝑡𝑢𝑑𝑒𝑛𝑡_𝑡(4,0,1) • 尺度パラメータを変えてみた – 𝜎 ~ 𝑠𝑡𝑢𝑑𝑒𝑛𝑡_𝑡(4,0,2.5) 広島ベイズ塾春合宿資料 2018/03/2
  51. 51. 事前分布を真面目に考える必要 • 心理学者も事前分布を真面目に考えよう – t検定では、差の効果量についての標準的な事 前分布が提案されている – Savage-Dickey法など • 事前分布についての共通了解が必要 – 標準化したデータについて適用した場合の標準 的な事前分布の設定 広島ベイズ塾春合宿資料 2018/03/2
  52. 52. Take Home Massage • 自由エネルギーを使ってみよう – しかし、事前分布からの影響を強く受ける – 階層モデルでも、差の検定でも同じ枠組みでモデ ル評価ができそう • WAICは解釈が多様だが役に立つ – 予測の観点でモデルを評価するのが重要な時も ある 広島ベイズ塾春合宿資料 2018/03/2

×