読者です 読者をやめる 読者になる 読者になる

INPUTしたらOUTPUT!

忘れっぽいんでメモっとく

第8回 「データ解析のための統計モデリング入門」 読書会に参加してきた

統計

ニコ生見直して復習していたので遅くなったけど以下メモ


第8章 「マルコフ連鎖モンテカルロ(MCMC)法とベイズ統計モデル」

ニコ生対応版 → http://www.slideshare.net/piroyoung/8-38333857

前半

  • P.7 手計算でベイズをやってみる
    • f(p) ・・・ 事前分布(一様分布を仮定)
    • f(x|θ) ・・・ ベルヌーイ分布の尤度
    • f(θ|x) ・・・ 事後分布
    • x = 1 ・・・ コイン投げを想定
  • ふらふら試行錯誤 = ランダムウォーク
    • 尤度が増加しなければ転移しないのでいつかは収束する
  • メトロポリス
    • 尤度が増加しない場合も確率rで転移する
      • rは尤度比
  • メトロポリス法とふらふら試行錯誤の違いは?
    • 最尤推定値にたどり着いたあとにそこからもう一度離れる
      • どれくらい離れるのかという情報が得られる
        • すごく遠くまで離れて戻ってくるのかその付近だけでしか動かないのか
    • 幅の情報が得られる
  • rが直感的に理解できないがどのように理解すれば良いか?
    • L(q)は最初の20個のサンプルが観測される確率
      • qが変わると観測されやすさが変化する
    • 尤度が増加しない場合にr=L(q_new)/L(q)を計算する
      • L(q_new) < L(q)なのでrは1以下
    • L(q_new)がものすごく小さければ転移しにくい

後半

  • P.24 マルコフ連鎖の定常分布とMCMC(雰囲気編)
    • 詳細釣り合いが間違っている
      • 定常分布・・・平衡状態に至ることを確率モデルで表現
    • 変化前から変化後に移る確率(転移確率)が変化後から変化前に移る変化確率が等しい
      • 状態が変わるときに変わり方に偏りがない状態 → 詳細釣り合い
    • 詳細釣り合いを満たせば定常分布(十分条件)
      • 詳細釣り合いを満たさなくても定常分布になることはある(必要条件ではない)
  • P.31 メトロポリス法のマルコフ連鎖は詳細釣り合いを満たす
    • 証明は背理法で簡単にできる
      • 中央の点と右隣の点が詳細釣り合いを満たしていない かつ 定常分布とする
      • 流量が等しくない(= 右側の確率の合計が増えるか減るかのどちらか)だと定常分布と矛盾する
  • 事後分布が分かったら代表値を選ぶ必要がある
    • MCMCだとまれにすごい外れ値がでるので平均値ではなく中央値をよく使う
      • 一般的には事後分布の最大値(最頻値?)がよく使われる
  • 初期点は事後分布から選んでいない
    • 初期点の影響が排除されてからサンプルをとる(Burn-in、焼き捨て)
  • Iteration = Burn-in + Sample
  • 実務上だとチェーン?1本だと不安
    • 第9章でいうサンプル列
  • Thinning
    • 毎回サンプルをとらない
    • 10回に1回だけサンプルをとるなどにして計算負荷を減らす
    • 自己相関も排除できる
  • 最近はLaplacesDemonというMCMCサンプラーも流行っているらしい
    • WICなども組み込み関数で定義されている
  • なぜMCMC積分計算の代わりになるのか?
    • 代わりにはならない
      • ベイズを使う場合は尤度関数を最大化する問題が難しくて解けない
      • 観測できない変数(隠れ変数)が入ってくるような難しいモデルでもMCMCを使うと力技で解ける
  • P.29 ここでは何をしている?
    • 事後分布をプロットするときに何を計算したかを書いている
  • Burn-inはどれくらいとる?
    • 変数の数による
    • Stanではラット?アールハット?という指標がある
      • ラットが1.2とか1.3だと使いたくない肌感
      • 複数のチェーン?サンプル列?が同じようなチェーンに収束しているかどうかの指標?
  • パラメータが増えるとBurn-inの数も増える?
  • (ニコ生)尤度の減り方を見たいからメトロポリス法を使う
    • 違う気がする


LT 「 ノンパラベイズ入門の入門」

  • 最尤推定 vs ベイジアンどちらが良いの?
    • ケースバイケース
    • 問題次第ではベイジアンだと性能が上がる
      • 情報が増えてきめ細かくなるので予測の精度が上がる
      • 非常に複雑なモデルを簡単に構築できる
        • 7章の「個体差」のような隠れ変数を入れたモデルでもMCMCに食わせれば大体OK
  • 最尤推定ベイズの性能比較したことはあるか?
  • ベイズの欠点
    • データサイズが大きい場合はベイズだとキツい
    • 事前分布を仮定することが嫌われる

  • だいぶ難しくなってきた・・・
  • 第9章からはWinBugs使うみたいだけどMacの場合どうしよう・・・