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.

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

2,798 views

Published on

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

Published in: Data & Analytics
  • Be the first to comment

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

  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

×