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

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