下校時刻

メモ、読んだ本のまとめメモ、考えたことのメモ、その他のメモなどが書いてあるブログです(twitter: @hoture6)

『Bayesian Methods For Hackers』Ch. 6 まとめ

Ch. 6です。


事前分布

ベイズ統計において事前分布をどう選ぶかは非常に重要である。事前分布は以下の2種類に分類できる

  • objective priors: 一様分布など。事後分布がデータから受ける影響を最大化することが目的
  • subjective priors: 分析者の意見・主観やドメイン知識、過去の分析の結果などを反映させることが目的

事前分布の選び方

事前分布の選択もモデリングのプロセスの一部である。もし事後分布を見ておかしいと感じるようであれば、あなたはなにかしら「事後分布はこうあるべき」という情報を持っていることになる(そうでない限りおかしいと感じないはず)。その場合は、その主観を事前分布に反映させてモデルをアップデートすることができる。

objective priorを使う場合は広い一様分布を使うのが安全だけど、その場合絶対にありえないと感じるはずの値にも一定の確率を割り当てていることに注意すべき。それを避けたい場合は分散の大きい正規分布を使った方がいいかも。

経験ベイズ

経験ベイズでは、データから得られる知見を事前分布に反映させる(例えば事前分布の平均値をデータの平均値にとるなど)。著者曰く、これはデータをdouble-countしてることになって気持ち悪いらしい。すなわち、通常のベイズ推定では

$$prior \to observed data \to posterior$$

という流れだが、経験ベイズでは

$$observed data \to prior \to observed data \to posterior$$

になっている。

いろいろな事前分布

  • ガンマ関数: 正の連続分布。指数関数の一般化。分析者の主観を柔軟に反映できる。
  • Wishart分布: すべてのpositive semidefiniteな行列上の分布。共分散行列の事前分布としてよく用いられる。
  • ベータ関数: [0, 1]の連続分布。一様分布の一般化。確率や割合の事前分布としてよく用いられる。

ベータ分布の重要な性質として、ベータ関数の事前分布に対して二項分布のデータを入れた時、事後確率も二項分布になる上にそのパラメータも直接計算できる(神)。

Multi-Armed Banditsの例

あなたの目の前に10個のスロットマシーンがあるとする。それぞれのマシーンはそれぞれ別の当たり確率をもつが、その値はわからないものとする。この場合、どういう戦略を取れば一番儲けられるかという問題がMulti-Armed Banditsであり、インターネット広告やファイナンス臨床試験などいろいろな応用がある。この問題の難しいところは、一つのマシーンにこだわって本当に効率の良いマシーンに当たらないのもだめだし、逆にいろいろ適当に試そうとすると効率の悪いマシーンも結構やらなければいけない点である。しかも、少し試しただけだと効率の悪いマシーンが当たったり、効率の良いマシーンが当たらないことも容易に起こる。

Bayesian Bandits

ベイズ推定で解決する。マシーンを表す添え字を$b$として、それぞれの$b$に対して当選確率$p$の事前分布(最初は一様分布)を設定する。事前分布をアップデートしていくアルゴリズムは以下。

  1. すべての$b$の事前分布からサンプル$X_b$を取得
  2. もっとも高いサンプル値を出したマシーン$B = argmax X_b$を選択
  3. $B$を引いて、結果を$B$の事前分布に反映させる
  4. 1に戻る

なるほど感が高すぎる。