ベイジアンデータ解析入門

第81回 日本心理学会TWS

比治山大学短期大学部
前田和寛

はじめに

本TWSの構成

  • ベイズ推論とベイジアンアプローチ
    前田和寛(比治山大学短期大学部)
  • ベイジアンになると何がどう変わるのか
    小杉考司(山口大学教育学部)
  • 回帰分析を例にベイジアンデータ解析を体験してみる
    平川真(広島大学教育学研究科)

推論と確信度

推論してみよう

K氏が昨晩最初に飲んだビールは?

  • A: アサヒスーパードライ
  • B: キリン一番搾り
  • C: サントリープレミアムモルツ
  • D: サッポロ黒ラベル

どのくらい確信できる?

  • 情報がないのでどれかわからん
  • どれも同じくらいにしか確信できない
  • 四等分される

情報が追加

  • 「Kはアサヒが苦手」という情報が追加
  • Aである、という確信は下がる
  • 減った分が他に再配分

さらに情報が追加

  • 「Kは金欠で高いのは買わない」
  • Cである、という確信は下がる
  • 減った分が他に再分配

さらにさらに情報が追加

  • 「Kは黒ラベル推し」
  • Dである、という確信が急上昇
  • 残りを再分配

「きっとDだろう」という確信を持つ

推論は確信度の再分配

情報(データ)が追加されることで、確信度が再分配される

つまり推論は…

  • 可能性のある候補があって、
  • 各候補に、事前にある程度持ってる確信度があって、
  • 情報(データ)が追加され、
  • 情報(データ)を鑑みた上で、後の確信度を変えていく

私達は、得られたデータを元に確信が持てる答えがほしい!

ベイズ推論

シンプルな例で考えてみる

K氏はどのくらいの確率でビールを飲むのか?

  • 可能性のある候補は以下の2つ
    • A: ビールを飲む
    • B: ビールを飲まない
  • どっちかわからない
    • 「まあ50:50ということで」
    • 0.5が一番確信が持てる値と思える

データを集める

  • 10日分のデータを取得したら,右のような結果に
    • これはいわゆるエビデンス
    • もうこれでいいんじゃない?
  • でもこれはたまたま10回分取り出した時の結果
    • あるいは「K氏が10回試行した結果」とも

得られたデータとは?

  • 測定したデータは何なのか?
    • 想定している母集団からサンプリング
    • 「一定の条件の下でデータを生成」ともみなせる
  • この場合…
    • 「K氏は,ある確率\(\theta\)でビールを飲むという選択をする」かつ
      「K氏は,ある確率\(1-\theta\)でビールを飲まないという選択をする」
    • つまりK氏は次々をデータを生成するデータ生成器
  • この\(\theta\)はいろんな値を取る
    • でもこの\(\theta\)をセットすると、ガチャガチャデータを生成
    • パラメータとして考えよう

データから尤もらしいところを

  • 「10回で、7回飲んだ」
  • ある\(\theta\)の時、今回のデータとなる確率は?
    • 0.1刻みでやると右の通り
    • ベルヌーイ試行なので、普通に計算可能
  • \(\theta = 0.7\)あたりで最大っぽい
    • 数値が小さくてよくわからない

θ 確率
0.0 0.0000000
0.1 0.0000001
0.2 0.0000066
0.3 0.0000750
0.4 0.0003539
0.5 0.0009766
0.6 0.0017916
0.7 0.0022236
0.8 0.0016777
0.9 0.0004783
1.0 0.0000000

尤もらしさを図にしてみる

  • 右図の通り
    • 縦線は\(\theta = 0.7\)の場所
    • やはりそこが一番高い
  • つまり、この分布が「データから言えるパラメータの分布」
    • これが尤度関数
    • そしてこの場合\(\theta = 0.7\)が最尤推定量

もう一度整理しよう

推論したいパラメータ(K氏がビールを飲む確率)がある

  • 漠然とした感覚がある
    • 「多分0.5くらいじゃね?」
    • 事前の確信度
  • それについてデータを取った
    • 「データからみたらこの辺っぽい」
    • 尤度関数
  • データから、今までの感覚を更新したい
    • データを得たの確信度

材料は揃った

事前の確信度

データが示すもの

事前の予想 x 尤もらしさ

  • 「K氏がビールを飲む確率はこんな感じであろう」

これがベイズ推論

  • 各項は以下の通り
    • \(\theta\): パラメータ
    • \(D\): データ
    • \(P(\theta)\): データを考慮しない\(\theta\)の確率
    • \(P(D)\): 可能性のある候補すべての確率
    • \(P(D|\theta)\): \(\theta\)が与えられた場合の\(D\)の確率
    • \(P(\theta|D)\): \(D\)が与えられた場合の\(\theta\)の確率

ベイズの定理:

\[ P(\theta|D) = \frac{P(D|\theta)P(\theta)}{P(D)} \]

もうちょっとわかりやすく

  • 各項は以下の通り
    • \(P(\theta)\): 事前の確信度
      (事前分布)
    • \(P(D)\): 各候補の確率
      (データ)
    • \(P(D|\theta)\): データに基づいた尤もらしさ
      (尤度関数)
    • \(P(\theta|D)\): データが与えられた後の確信度
      (事後分布)

ベイズの定理:

\[ P(\theta|D) = \frac{P(D|\theta)P(\theta)}{P(D)} \]

まとめると…?

すごく大雑把にいうと、こんな感じです:

\[ P(\theta|D) = P(D|\theta) \times P(\theta) \:/\: {P(D)} \] \[ 事後分布 = 尤度 \times 事前分布 \:/\: エビデンス \]

  • 私達がほしいのは事後分布
    • 尤度と事前分布から生成されている!
  • 事後分布は尤度と事前分布の折衷となる
  • エビデンスは、得たデータから算出される候補の確率総和
    • 現実のところ、あまり気にしなくていい(後述)

ベイジアンアプローチとモデリング

なぜ今まで使わなかったの?

  • 今回の例では実際に数式で計算
    • 最小レベルでシンプルなものだったから
    • というか連続変量を区切って離散的にやりました
      • \(\theta\)は本来連続的
  • 実際の分析では計算が厳しい
    • 連続変量が入ると積分がらみでまず無理
    • 推定したいパラメータは結構多い
      • 同時確率を求めることになる(たいへん)

直接計算がむりなら、シミュレーションで近似しよう!

モデリングとシミュレーション

\[ P(\theta|D) = P(D|\theta) \times P(\theta) \:/\: {P(D)} \]

\[ 事後分布 = 尤度 \times 事前分布 \:/\: エビデンス \]

  • エビデンスは所与のもの
    • 要するに定まった値(定数)
  • 尤度関数と事前分布で確率モデルを作る
    • 推定したいパラメータの事前分布をこちらで設定
    • 尤度関数を構築
  • あとは,このモデルの枠内で取りうる値をシミュレーション!
    • そうここでMCMC!
    • シミュレーションで生成した値の分布を事後分布として近似しよう

じゃあどうしたらいいの?

いい本がありますよ、みなさん

  • ベイズ統計モデリング―R,JAGS,Stanによるチュートリアル― 原著第2版
    • 原著はDoing Bayesian Data Analysis: A Tutorial with R, JAGS, and Stan 2nd Edition
  • 共立出版より2017年07月26日に発売
  • この1冊で理論的な部分,実践部分きっちりカバー
    • 先程までの話は,この本の2章と5章がベース

  • 3部構成の25章まで
    • ほぼ全ての章にエクササイズ付属
  • 全てR上で分析します
    • 書籍にある分析のRコードはダウンロード可能
  • サポートサイトもあります

  • こんな方におすすめ
    • ベイズ? なにそれ? な方
    • 従来の分析では厳しいモデルを検討したい方
    • Rでベイジアンモデリングをしたい方
    • デスクワークで最近運動不足気味な方

第I部の構成

  • ベイズ推論の基礎を説明
  • どうしても必要な確率,分布もみっちり
  • そしてR入門も

  1. 導入:確信度,モデル,パラメータ
  2. R言語
  3. 確率と呼ばれるものはいかなるものか?
  4. ベイズの公式

第II部の構成

  • コイントスというシンプルな事象に対して,詳細にベイズモデリングを説明
  • ベイズモデリングを実践するにおいて重要なポイントを解説
  • MCMCをするためのソフトウェアであるJAGSとStanについても

  1. 正確な数学的分析による二項確率の推論
  2. マルコフ連鎖モンテカルロ法
  3. JAGS
  4. 階層モデル
  5. モデル比較と階層モデリング
  6. 帰無仮説有意性検定
  7. 点の(「帰無」)仮説検定に対するベイジアン・アプローチ
  8. 目標,検定力,そしてサンプルサイズ
  9. Stan

第III部の構成

一般化線形モデル(GLM)について,実践的な方法を解説:

本書15章, p. 455より

他のおすすめ書籍

  • ベイズ統計で実践モデリング 認知モデルのトレーニング
    • Bayesian Cognitive Modeling: A Practical Courseの翻訳
  • 認知モデルを主な題材とし,具体的な例でひたすらエクササイズ!

ここからのお話

ベイジアンになると何がどう変わるのか

ベイズ統計を使うと今までの「仮説検定」「実験計画」の考え方がどのように変わるのか,を解説

  • 頻度主義の考え方とベイジアンの考え方
  • ベイズ流の帰無仮説検定はどのように行うか
  • 従来の仮説検定の大問題とベイズ流のやり方による克服

ベイジアンデータ解析を体験

回帰分析を例に,ベイジアンデータ解析を体験してみる

  • データの特定
  • モデルの定義
  • パラメタの事前分布の設定
  • ベイズ推論を用いて,パラメタの値に確信度を再分配
  • 事後予測がデータを模倣できているかを確認

Enjoy!