stanとrでベイズ統計モデリング 読書会 導入編(...

131
StanRでベイズ統計モデリング 読書会 導入編(1章~3章) 清水裕士 関西学院大学社会学部

Upload: others

Post on 22-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

StanとRでベイズ統計モデリング 読書会

導入編(1章~3章)

清水裕士

関西学院大学社会学部

Page 2: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

自己紹介

• 清水裕士 – 関西学院大学社会学部 – 社会心理学研究センター研究員

• 専門 – 社会心理学

• 趣味 – Stan

• Web – Twitter:@simizu706 – ブログ: http://norimune.net

Page 3: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

統計分析ソフトHAD

Page 4: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

Stan初心者講習の資料

• http://www.slideshare.net/simizu706/stan-62042940

Page 5: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

中級編も

Page 6: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

この会の目的

• 『StanとRでベイズ統計モデリング』

–松浦健太郎著

Page 7: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

この本の特徴

• Stan神@berobero11さんの本 – おそらく日本で(世界でも)トップレベルでStanに詳しく、かつ、情報発信をしている人 • rstanのサイトやマニュアルの日本語翻訳チームをまとめている

– 統計モデリングや機械学習、伝統的な統計モデルなど幅広い知識がある

• 敷居がとても低い – 簡単なモデルを丁寧に解説 – 数式があまり出てこない

Page 8: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

ねらい

• ベイズ統計モデリングに興味がある人

– Stanを触ったことない人

–文系で数式もよく分からない人

– Stanによるモデリングに親しんでもらうことを目的

• Stanの布教

–みんなでMCMC(*´Д`)ハァハァしましょう

Page 9: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

読書会の方針

• 月に1回ペースぐらい

• 担当者が1章を熟読して発表 – Stanコードがあれば、それも実行しつつ難しそうなポイントを紹介

• 全員は当該の章を読んでくる – 発表のあと、質疑応答、議論など

• 清水がわかる範囲で解説する

Page 10: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

今日の発表

• 清水が担当

• 導入編(1章~3章)について解説 –本の内容+清水的解説

– とくに、数式の意味、読み方、そして統計モデリングのことなどについて話します

–今日はStanもRも使いません

Page 11: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

はじめに

Page 12: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

何について書かれた本?

• Stan、とくにrstanについての解説 – Stanは確率的プログラミング言語のソフト名

– rstanはStanをRで動かすためのパッケージ名 • StanはPythonとかStataなどほかのソフトでも動く

• Stanでできること – いろんな統計モデリング

– 回帰分析などはもちろん、階層モデル、状態空間モデルなど高度なモデルも可能

– ユーザーがそれらをカスタマイズすることも可能

Page 13: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

1章 統計モデリングとStanの概要

Page 14: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

1.1 統計モデリングとは

• モデル

– 必要なエッセンスだけを取り上げて,不必要な部分を大胆に切り落としたもの • プラモデルとか。

• 確率モデル – エッセンスに数式を用いて,確率分布を取り入れたもの

• 統計モデリング

– 確率モデルをデータに当てはめて現象の理解と予測を促すこと

Page 15: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率モデル

• 確率分布 – 確率変数が取りうる各々の値に対して,その発生のしやすさを確率で表したもの

– 二項分布,正規分布などなど

• パラメータ – 確率分布を特徴づける値

• 正規分布なら平均値と分散(あるいは標準偏差)

– 解析前には未知で,これを知ることが統計モデリングの1つの目的

Page 16: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

補足:統計モデリングとは

• データ発生のメカニズムを知る –データが何らかの分布から発生している

–その発生メカニズムを「確率分布」を使って表現

–データの予測に興味がある

• 確率分布のパラメータを推測する –確率分布の形を決める値のこと

• 正規分布なら,平均値と分散

–正規分布以外の確率分布も扱う

Page 17: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

真の分布=データ発生メカニズム

真の分布 データ

直接は知りえない 直接観測できる

データの発生

我々の知らない複雑な確率分布

Page 18: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率モデルを選ぶ

• データに合った,よく知っている確率分布

データ 確率モデル

我々の知っている簡単な確率分布 たとえば正規分布を当てはめる

パラメータは未知

Page 19: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

統計モデリング

• パラメータの推測

–正規分布には平均値と分散,二つのパラメータ

–パラメータが決まれば,確率分布の形が決まる

• パラメータの推定原理

–最小二乗法

–最尤法

–ベイズ法

Page 20: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

予測分布

• 確率モデルに推定したパラメータを投入

–平均が-0.05,標準偏差が1.15の正規分布

μ = -0.05 σ = 1.15

データ 予測分布

Page 21: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

予測分布≒データ発生メカニズム

真の分布 データ

直接は知りえない 直接観測できる データの発生

予測分布

統計モデリング

確率モデルを選び,パラメータを推測

この二つが似ていれば,将来のデータ生成を予測することができる

我々の知らない 複雑な確率分布

我々の知っている簡単な確率分布

Page 22: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

1.2 統計モデリングの目的

• 解釈 – 現象の仕組みを知りたい

• データの生成メカニズムを知りたい • 説明しやすい,納得しやすいモデルを作りたい

– パラメータの関係式から現象を解釈する • 回帰分析の回帰式なんかがそれにあたる

• 予測

– これまで得られたデータから,未来に得られるであろうデータの振る舞いを知りたい • 予測精度の高いモデルを作りたい

Page 23: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

解釈と予測

• 二つは密接に関連している

–背景知識とマッチした納得しやすいモデルは,頑健性を備えている

• ただし同じものではない

–予測精度だけを上げたいなら,機械学習のような方法を使えば良い

• 中身はブラックボックス(解釈不可能)だが,未来のデータは完璧に予測(分類)することができる,とか

Page 24: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

解釈と予測から見る手法の違い

• 古典的な統計学(分散分析とか) – 解釈重視

• 実験計画にあった解釈が可能

– しかし,強い制約がある • 等分散の仮定,球面性の仮定,正規性の仮定・・・

• 機械学習 – 予測重視

• 次に取るデータの振る舞いを正確に予測・制御可能

– しかし,解釈ができない • ノンパラメトリックな手法

• 将棋ソフトとかは,強くなればなるほど「なぜその手が選ばれたのか」が人間では理解できなくなる

Page 25: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

統計モデリング

• その二つのバランスをとることが可能

–予測を重視したい場合は,それに合わせたモデリングを行う • パラメータを予測力が上がるように少し複雑に

• 過学習が起こらない程度に程よい複雑さを目指す

–解釈を重視したい場合は,わかりやすいモデルを • 実質科学的知見に基づいたモデル構築と変数選択

いいとこどりができるのが統計モデリング!

Page 26: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

1.3 確率的プログラミング言語

• これまでの統計モデリング – モデル構築に,パラメータ推定のためのアルゴリズム開発がセット • 新しいモデルを作ったら,そのたびに,対数尤度関数の偏微分をしてそれをプログラミングする

– 高度な数学とプログラミング知識が必要

• 確率的プログラミング言語を使うと – 分析者はモデル構築だけをすればいい

– パラメータ推定はソフトウェアが勝手にやってくれる

Page 27: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率的プログラミング言語とは

• probabilistic programming language

– 「様々な分布の関数や尤度の計算に特化しかした関数が豊富に用意されており,確率モデルをデータに当てはめることを主な目的としたプログラミング言語」

• 確率モデルを書けば勝手に解いてくれる

–確率モデルを書いてデータを入れたら,ほぼ自動的にパラメータを推定してくれる

Page 28: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率的プログラミング言語の利点

• モデル開発に専念できる – モデル記述と難しい推定計算を分離

– 分析者は前者だけやって,後者はソフトに任せる

• 数学的な素養があまりいらない(清水補足) – 自分で微分とかして解く必要がない

• プログラミングの知識もあまりいらない(清水補足) – モデル構築だけをすればよい

– アルゴリズムをプログラミング化しなくていいので,バグも減り,可読性も高い

Page 29: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

Rの関数との違いは?

• Rにも多様な関数がある – lm(), glm(),などなど – パッケージも豊富

• それぞれの関数は1つのモデルのみ対応 – 新しいモデルをやるたびにパッケージを探す必要 – 探しても見つからない場合は,そこで行き詰まる

• 確率的プログラミング言語があれば! – ちょっとしたモデルの修正は手間がかからない

– 最初の「習得コスト」は大きくても,できることは非常に多いので,総合的には利益が大きい

Page 30: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

1.4 なぜStanなのか

• WinBUGS

– 一番最初に作られた確率的プログラミング言語

– エラーがわかりにくい

– 2007年から開発が停滞

• JAGS

– BUGSの思想を受け継いだ確率的プログラミング言語

– 一人が開発をしているのであまり更新されず,マニュアルも整備されていない

Page 31: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

Stan

• 最新の手法が実装 – ハミルトミアンモンテカルロ法

• あるいはそれを改良したNUTSと呼ばれる方法 • BUGSやJAGSのアルゴリズムより性能がいい

– 100分の1ぐらいの計算回数で収束する

– 変分ベイズを行う自動微分変分ベイズ法 • 近似法だが,MCMCよりもずっと早い

• 開発が活発

– マニュアルが充実 • モデルの用例も豊富

– エラーメッセージもわかりやすい – 新しい手法の実装や,バグの修正も早い

Page 32: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

なぜrstanなのか

• rstanとは – StanをR上で動かすためのパッケージ

– StanはR以外にもPythonやStataなど,いろんな統計ソフトで動かすことができる

• Rのメリット – 作図機能が優秀

– データハンドリング機能が充実

– 使える確率分布も豊富でシミュレーションしやすい

– 統計モデリングをするのにはいい環境

Page 33: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

Stanコードの例

• データから正規分布のパラメータを推定

–パラメータは平均μと標準偏差σ

Page 34: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

Stanでの分析例

• Rで乱数を作ってみる

– 100人のデータを正規分布から生成

• 真値はμ=5,σ=2

• 分析結果

Page 35: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

2章 ベイズ推定の復習

Page 36: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

2.1 基本用語と記法

• 2章は本書を読む上で重要な情報満載

–理系の人にとっては基礎的な内容

– しかし,文系にとっては難しい話が多い

• 可能な限り具体的に説明します

–ただ,本書を読む上で必要ない部分はざっくり削ってたりします

–参考文献も読みつつ理解していくとよい

Page 37: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率分布

• 変数の各々の値についての発生しやすさ –単に分布とも呼ぶ

–二項分布とか正規分布とか

–変数𝑎についての確率は𝑃(𝑎)と表記する

• 確率分布の性質 –総和あるいは積分すると1になる

• 例:サイコロで1~6が出る確率は1

• 1にならないものは確率分布とは呼ばない

Page 38: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率質量関数

• 離散的な確率分布の関数 – probability mass function: PMF – サイコロなど,値がとびとびのもの – 二項分布,ポアソン分布,負の二項分布など

• PMFの特徴 – 値と確率が一対一対応する

• 1の目がでる確率は1/6 • 成功率0.5,試行数10の二項分布で5回成功する確率は

0.246,など

– 総和が1になる

Page 39: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率質量関数(PMF)

Page 40: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率密度関数

• 連続的な確率分布の関数 – probability density function: PDF – 値が連続的で∞までの範囲がある(ない場合も) – 正規分布,ガンマ分布,ベータ分布

• PDFの特徴 – ある一点の値と確率が対応しない

• 確率ではなく,確率密度と呼ばれる

– 確率は,値の範囲に対応する • (定)積分した値が確率

– 積分したら1になる

Page 41: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率密度関数

• 平均=0,SD=0.1の正規分布 – 確率密度は1を超えることがある点に注意!

• 確率密度は確率とは別物

Page 42: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

同時分布

• 複数の変数についての確率分布 –の中で,値の組が同時の生じる確率を表す

–変数𝑎, 𝑏の二つの場合,𝑃 𝑎, 𝑏 と書く

• 周辺化

–同時分布のうち,特定の変数について総和あるいは積分した分布

– 𝑝(𝑎, 𝑏)で𝑎について総和・積分をすると,𝑎が変数でなくなるので消える → 𝑝(𝑏)になる

Page 43: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

• 性別と回答,二つの変数のクロス表

• 同時分布

–総和は1になる

男性 女性 合計

はい 8 4 12

いいえ 2 6 8

合計 10 10 20

男性 女性

はい 0.4 0.2

いいえ 0.1 0.3

Page 44: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

同時分布と周辺化

• 周辺化

–性別について総和をとると・・・

–はいの確率は0.4 + 0.2=0.6

–いいえの確率は0.1 + 0.3 = 0.4

男性 女性

はい 0.4 0.2

いいえ 0.1 0.3

はい 0.6

いいえ 0.4

周辺分布

Page 45: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

連続値の場合

• 同時分布の例:二変量正規分布

–二つの正規分布についての組についての分布

• 周辺化(周辺分布)

– 𝑦について積分すると,𝑥の正規分布が残る

𝑥

Page 46: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

総和と積分

• 同じようなもん

– 𝑝(𝑎)𝑎

– ∫ 𝑝 𝑎 𝑑𝑎

–それぞれ,変数𝑎について足し合わせる

• 積分のイメージ

–無数に細かく分けたものを足し合わせる

Page 47: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

条件付き確率

• ある変数が特定の値のときの別の変数が発生する確率を表したもの

– 𝑝(𝑎|𝑏)

–変数𝑏が与えられたときの変数𝑎の条件付き確率

• 同時確率においてbが特定の値を取る場合の確率

– 𝑝 𝑎 𝑏 = 0 =𝑝 𝑎,𝑏=0

𝑝 𝑏=0

Page 48: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

条件付き確率分布

• 性別=男性のときの条件付き確率分布 – 男性場合だけなので,8/10と2/10が条件付き確率になる

• 同時分布との関係 – 男性の確率𝑝(男性)は0.5なので,

– 𝑝(はい|男性) = 0.4/0.5=0.8と計算することもできる

男性

はい 0.8

いいえ 0.2

男性 女性 合計

はい 8 4 12

いいえ 2 6 8

合計 10 10 20

Page 49: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率モデルと条件付き確率分布

• データ𝑦が二項分布から生成する確率

– 𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙(𝑦)と書く

• パラメータを入れるときは条件付き確率

–データ𝑦が成功率𝜃,試行数Nの二項分布から生成される確率

– 𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙(𝑦 | 𝜃, 𝑁)

–統計モデリングではよく出てくる表現方法

Page 50: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

𝑦 ~ 𝑝(𝑦)

• 確率変数𝑦が確率分布𝑃(𝑦)に従う

– ~(チルダ)は確率的な関係性を表す

• データ𝑦が正規分布に従う場合

–平均𝜇,SD=𝜎の正規分布

– 𝑦 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝑦 𝜇, 𝜎)

–単に,𝑦 ~ 𝑁𝑜𝑟𝑚𝑎𝑙(𝜇, 𝜎)と書くこともある

Page 51: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

正規化

• 関数の総和や積分が1になるようにすること –確率分布の定義を満たすようにすること

• 正規化定数

–正規化するために,ある関数に定数をかけたり割ったりする

–その値を正規化定数という

– これを知っているとベイズの定理が理解しやすくなるが,わからなくても本書の大半は理解できる

Page 52: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

偏微分

• 特定の変数についてのみ微分すること

– 2変数𝑎, 𝑏の関数がある場合,𝑎を定数とみなしてbのみで微分するような場合,偏微分という

• 尤度関数を最適化するときに使う

–尤度については後述

–本書の大半の理解には必須ではない

Page 53: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

ベクトル

• 数値が1次元に並んだもの – データの変数などは基本ベクトル – 本書では𝑥 と表記される

• 列ベクトルと行ベクトル – 列ベクトルは縦に並んだもの

• 変数なんかも基本は列ベクトル

– 行ベクトルは横に並んだもの

• 転置 – 列ベクトルを行ベクトルにする(あるいはその逆)

𝑥 = 𝑥1𝑥2𝑥3

= 𝑥1 𝑥2 𝑥3 𝑇

Page 54: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

行列

• 数値が多次元に並んだもの

–ベクトルが集まったものも行列

–データセットなんかも行列

–本書では𝒙と太文字で表記される

𝒙 = 𝑥11, 𝑥12, 𝑥13𝑥21, 𝑥22, 𝑥23𝑥31, 𝑥32, 𝑥33

Page 55: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

本書の記法

• データを表す場合

– 最初を大文字にする

– 統計モデリングでは,観測されたものは大文字で表記されることが多い

• 添字には二種類の意味

– パラメータの場合と,ベクトルの場合

– 𝜎𝑌は変数Yの標準偏差であることを意味する

– 𝜃 𝑘はベクトル𝜃のk番目の要素であることを意味する

Page 56: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

ベクトルの要素の表記

• 添字のバージョン

– 𝑌𝑛

–データ𝑌の𝑛番目の値

–数学ではこっちを使う

• 大カッコバージョン

– 𝑌[𝑛]

–データ𝑌の𝑛番目の値

– Stanの場合はこっちのほうがわかりやすいかも

Page 57: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

2.2 伝統的な統計学の問題点

• ベイズ統計学と伝統的な統計学

–おそらく本書では頻度主義統計学のことを「伝統的な統計学」と呼んでいる・・・と思う

–その二つの違いは,結局はパラメータを定数と考えるか確率変数と考えるかの違い

• 本書に合わせて「ベイズ」と「伝統」と表記

–頻度と書くとたぶんいろいろややこしいことが・・・あるのかないのか

Page 58: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

パラメータの扱い

• パラメータ – 確率分布を特徴づける値

• 正規分布なら平均値と分散(あるいは標準偏差)

– 解析前には未知で,これを知ることが統計モデリングの1つの目的

• パラメータをどう考えるか – 伝統:真の値があって,それは定数であると考える

• 平均値は170だ!とか

– ベイズ:確率的に変動するものと考える • 平均値は170が最も確率が高そうだが,165である確率もそれなりにはあるな・・・

Page 59: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

伝統的な考え方の問題

• パラメータを定数と考える –確率的に変動するのはデータだけになる

–確率の解釈をデータの変動を中心にする必要

• 検定のロジック – 𝑝値は,帰無仮説が正しいという仮定のものとで,データ以上に極端な結果が得られる確率

–パラメータについては確率的なことは何も言えないのでこんな周りくどい言い方になる

Page 60: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

伝統的な考え方の問題

• 信頼区間の考え方

–パラメータは定数なので,95%信頼区間も「この範囲にパラメータが含まれる確率が95%」という言い方ができない

–仮にデータをたくさんとったとき,この方法で設定した範囲にパラメータが含まれることが95%あるという面倒な言い方になる

Page 61: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

伝統的な考え方の問題

• 予測区間 – 将来のデータが散らばると予想される範囲のこと

– 予測分布の95%の範囲だと考えればOK

• 「伝統」だと予測区間の定義が難しい – そもそも「伝統」では将来のデータを,現在のデータで推論したモデルで予測するという考え方に合っていない

– 結果が再現されるかどうかについても「伝統」からは主張が難しい

Page 62: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

「ベイズ」的な考え方

• パラメータを確率変数と考える – データが有限である以上,パラメータの推論は確率的な幅があって然り

– その幅も含めて推論できるのがベイズの長所

• 検定のロジック – 帰無仮説を設定せずとも,パラメータについての仮説が正しい確率が直接わかる

– たとえば差が0以上の確率は,差のパラメータの分布を0以上で積分すればOK

Page 63: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

2.3 尤度と最尤推定

• 最尤推定 – 「伝統」で使われる推定方法

–尤度を最大にするパラメータを求める方法

• 尤度って何

–データと(ある分布の)パラメータの当てはまり具合を表す量

–尤度が高いほうが,データに合ったパラメータになっている,ということ

Page 64: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率モデルと尤度関数

• 確率モデル – データ𝑦がSD=1の正規分布に従うとする

• ここでは説明しやすいようにSDは固定しておく

– 𝑦 ~ 𝑁𝑜𝑟𝑚𝑎𝑙(𝜇, 𝜎 = 1) • 𝜇は未知数 𝜇を知りたい

• 正規分布の式

– 𝑁𝑜𝑟𝑚𝑎𝑙 𝑦|𝜇, 𝜎 =1

2 𝜋 𝜎2exp

− 𝑦−𝜇 2

2𝜎2

– 𝜎 = 1の場合,1

2 𝜋 exp

− 𝑦−𝜇 2

2

Page 65: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

確率モデルと尤度関数

• 1人のデータ𝑌をとったとする

– 𝑁𝑜𝑟𝑚𝑎𝑙 𝑌 𝜇 = 1

2 𝜋 exp

− 𝑌−𝜇 2

2

• この場合,𝑌はすでにわかっている値なので定数 • わからないのはパラメータ𝜇

• 尤度関数 – 確率モデルについて,データを定数,パラメータを変数とした関数を尤度関数と呼ぶ

– 確率分布と違うのは,積分しても1にならない

– 特定のデータが得られたときのパラメータの尤もらしさ

Page 66: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

尤度関数のプロット

• Y[1]が3の場合

– 𝑁𝑜𝑟𝑚𝑎𝑙 𝑌 = 3 𝜇 = 1

2 𝜋 exp

− 3−𝜇 2

2

– 𝜇は3が一番尤もらしい

Page 67: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

尤度関数のプロット

• Yが(1,2,3,4,5)の場合 5人のデータ

– 𝑁𝑜𝑟𝑚𝑎𝑙 𝑌 𝜇 = 1

2 𝜋 exp

− 𝑌[𝑛]−𝜇 2

25𝑛=1

– 1人より5人のほうが尤度の分散は小さい

Πは繰り返し「かける」ことを意味する

Σは繰り返す「たす」のを思い出そう

Page 68: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

尤度は小さい値になりやすい

• データが100人だと100人分かけあわせる – 確率密度はたいていは1より小さいので,100人分かけあわせると,とても小さい値になる

– そこで,対数尤度を使うことが多い

• 対数

– log2 8 = 3 • 8が2の何乗かを計算するもの

– 対数をとると,積が和になり,また0~1の値は負でそれなりに絶対値が大きくなるので計算もしやすい • 8 × 8 = 64 • log2 (2

3 × 23) = log2(23+3) = 3 + 3 = 6 = log2 (64)

– 統計モデリングでは自然対数を使う

Page 69: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

最尤推定のイメージ

• データを平均5の正規分布から100個生成

– ここから逆に,𝜇を推定したい

Page 70: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

𝜇の値を変えてみる

• μ=7

• μ=6

対数尤度 -315.4664

対数尤度 -174.5069

Page 71: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

𝜇の値を変えてみる

• μ=5

• μ=4

対数尤度 -133.5475

対数尤度 -192.5881

Page 72: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

対数尤度関数のプロット

• 5付近で最大になっているのがわかる

Page 73: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

最尤推定の方法

• 対数尤度関数の最大値を求める –関数を微分して,接線の方程式が0になる𝜇

–パラメータが複数ある場合は,パラメータごとに偏微分をして,連立方程式を解く • 普通は解析的に解けないので数値的に解く

• 伝統的な方法と統計モデリング –モデルが変わると対数尤度関数が変わる

–モデルごとに微分して,数値的に解くためのアルゴリズムを用意しないといけない

Page 74: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

最尤推定の問題

• 過学習しやすい – 最尤推定は,手元のデータのみでパラメータを推論する

– つまり,手元のデータに「だけ」当てはまったモデルを作ってしまいがち • これを過学習(オーバーフィッティング)と呼ぶ

• 解を求めるのが困難な場合がある – 尤度関数が複雑になると,大局的に尤度を最大にする値に到達するのが困難

– 初期値を変えていろいろ試す必要がある • それでも最適解である保証はなかなか得られない

Page 75: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

2.4 ベイズ推定とMCMC

• 「伝統」の問題点を解決する – その1つがベイズの定理を用いたベイズ推定と,マルコフ連鎖モンテカルロ法(MCMC)

• 「ベイズ」の特徴 – パラメータを確率変数と考える

– ベイズでは,パラメータを定数ではなく確率分布として推定する • パラメータが複数あったら,その同時分布

• でも実際,パラメータを評価するときは周辺分布を見る

Page 76: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

ベイズの定理

• ベイズ推定はベイズの定理で解く

–ベイズでは𝑝(𝜃|𝑌)が知りたい

• データ𝑌を条件とした,パラメータ𝜃の確率分布

• 事後分布と呼ぶ

– 𝑝(𝜃)はデータを得る前のパラメータの分布 • 事前分布と呼ぶ

𝑝 𝜃 𝑌 =𝑝 𝑌 𝜃 𝑝 𝜃

𝑝 𝑌

Page 77: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

ベイズの定理

• 事後分布は尤度関数と事前分布の積に比例

– ∝は比例することを意味する

– 尤度関数に事前分布をかけても確率分布にならない • 𝑝(𝑌)で割れば確率分布になる

• その意味で, 𝑝(𝑌)は正規化定数であるといえる

• 𝑝(𝑌) – データYのみに依存する定数値

– 𝑝 𝑌 は積分計算が大変で直接は求まらない • え?

𝑝 𝜃 𝑌 ∝ 𝑝 𝑌 𝜃 𝑝(𝜃)

Page 78: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

じゃあどうしましょう

• マルコフ連鎖モンテカルロ法

–通称MCMC(*´Д`)ハァハァ

• 後半はいらない

• 事後分布からパラメータをサンプリング

–事後分布がわからないのにサンプリング?

–その辺の理屈は本書のレベルを超えるので,他書で勉強してください

Page 79: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

MCMCの利点

• 𝑝(𝑌)を求めずに事後分布が得られる

–ベイズの定理を無理なく解くことができる

–過去のは無理なやり方で解いていたことも

• 事後分布の周辺分布が簡単に得られる

–パラメータを個別に評価するためには,事後分布を周辺化する必要がある

– MCMCでは直接周辺分布が得られる

Page 80: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

マルコフ連鎖って何よ

• ある状態から,別の状態に推移する確率だけが決まっている

• 推移確率行列 – AからBに移行する確率は0.25 – BからAは0.4 – CからCは0.3

A B C

A 0.5 0.25 0.25

B 0.4 0.3 0.3

C 0.4 0.3 0.3

Page 81: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

マルコフ連鎖

A

B C

0.25

0.3

0.4

0.5

0.3 0.3

0.25

0.4

Page 82: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

マルコフ連鎖

A A

B

C

0.5

0.25

Aからスタート Bに推移

A

B

C

0.4

0.3

0.3

Cに推移

A

B

C

Bに推移

0.3

0.3

0.4

Page 83: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

マルコフ連鎖

• 初期分布 –最初にA,B,Cのどの状態にあるかを決めるもの

–たとえば1/3,1/3,1/3

• 推移確率に従って状態を変えていく – 2時点目においてAである確率は,

–初期分布×推移確率行列

– というように,推移確率行列をかけていくことで計算ができる

Page 84: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

定常分布

• マルコフ連鎖を続けていると・・・

–各状態にたどり着く確率は変化しなくなってくる

–それを定常分布という

• 定常分布は推移確率行列のみから決まる

–つまり,初期分布には依存しない

–ついでに先ほどの推移確率行列の場合,

– A=8/18,B=5/18,C=5/18という定常分布となる

Page 85: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

定常分布に収束

• 初期状態が1/3の場合

• 必ずBから始まる場合でも・・

– このように,初期状態にかかわらずステップ6ぐらいで定常分布に収束する

状態 初期分布 ステップ1 ステップ2 ステップ3 ステップ4 ステップ5 ステップ6 ステップ7 ステップ8

A 0.333333 0.433333 0.443333 0.444333 0.444433 0.444443 0.444444 0.444444 0.444444

B 0.333333 0.283333 0.278333 0.277833 0.277783 0.277778 0.277778 0.277778 0.277778

C 0.333333 0.283333 0.278333 0.277833 0.277783 0.277778 0.277778 0.277778 0.277778

状態 初期分布 ステップ1 ステップ2 ステップ3 ステップ4 ステップ5 ステップ6 ステップ7 ステップ8

A 0 0.4 0.44 0.444 0.4444 0.44444 0.444444 0.444444 0.444444

B 1 0.3 0.28 0.278 0.2778 0.27778 0.277778 0.277778 0.277778

C 0 0.3 0.28 0.278 0.2778 0.27778 0.277778 0.277778 0.277778

Page 86: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

連続分布でも同様に

• 連続分布でも定常分布が存在する – いくつかの条件がいるが・・・

– MCMCを使う場合は,この条件を満たす

• 連続分布の推移確率行列 – 状態=パラメータの値

• 先程の例の状態(A,B,C)の推移は,ベイズ統計では連続的なパラメータの値の推移と同じ

– あるステップでパラメータの値が決まれば,次のステップでどのような値になるかが確率的に決まる

Page 87: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

MCMCは何をやっているか

• 定常分布をシミュレーションで求める – 事後分布が定常分布となるようなマルコフ連鎖を発生させる

– 各パラメータが推移する確率はいずれ収束し,それが定常分布=事後分布となる

• MCMCにもいろんな方法が – ギブスサンプラー

– メトロポリス・ヘイスティング

– ハミルトニアンモンテカルロ

Page 88: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

MCMC法は何をやっているのか

• パラメータの推定値をたくさん計算する

– 1000とか2000とか

–推定値をどんどんマルコフ連鎖で生成する

• 推定値の集合体が事後分布になる

MCMCによる事後分布 解析的に求めた事後分布

Page 89: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

MCMCのイメージ

0.38

初期値

0.87 0.76 0.75

マルコフ連鎖に従って乱数が生成

0.45

最初のほうのパラメータは初期値に依存してしまうので,切り捨てることが多い→ウォームアップ,あるいはバーンイン期間という

初期値から順番に,推定された値に対応したマルコフ連鎖の推移確率行列に従ってどんどん値が決まっていく

Page 90: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

2000回走らせた場合

• ウォームアップ期間として100個を捨てた

–定常分布=事後分布に収束する

Page 91: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

サンプルの集合体が推定結果

• サンプル列

–マルコフ連鎖によってサンプリングされたパラメータの値の集合

–初期値と乱数の種を決めて得られたサンプル列をchainと呼ぶ

–普通は,複数のchainを得て評価する

• トレースプロット(trace plot) –サンプル列をステップ数で並べた折れ線グラフ

Page 92: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

トレースプロット

Page 93: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

トレースプロット

Page 94: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

事後分布の確率密度

Page 95: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

収束していない事後分布

Page 96: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

収束していな事後分布

Page 97: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

事後分布の収束評価

• トレースプロットを見る – チェインがあっちゃこっちゃしてないか見る

• 自己相関を確認 – 収束していないと、ひとつ前の値の影響を強く受ける

• 収束すると、ランダムになる

– 事後分布をサンプル列から適当な間隔でまびいて評価することで、自己相関が小さくなることがある • thinningと呼び、Stanで間引き間隔を指定できる

• 複数のチェインの一致の程度を見る – Rhatという指標を見る 4章に詳しい

Page 98: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

事後分布の評価の仕方

• MCMCサンプル列を要約する

–平均値 → パラメータの期待値(EAPとも呼ぶ)

• 確率が最大になる値はMAP推定値と呼ぶ

• Maximum a posterioriの略

– SD → パラメータの推定精度

• 「伝統」でいうところの標準誤差のようなもの

– 95%区間 → パラメータの信頼区間

• ベイズ信頼区間

Page 99: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

2.5 ベイズ信頼区間とベイズ予測区間

• ベイズ信頼区間 – 得られた事後分布の特定の信頼度の区間

• 信頼度が95%の場合、95%信頼区間

– MCMCなら分位点から簡単に計算可能 • 95%の場合は、0.025と0.975の分位点をみればよい

• 信頼区間の重要性 – 事後分布は常に単峰で左右対称とは限らない

• SDだけでは、パラメータの精度は評価できない

– 相関係数などもゆがんだ分布になるので信頼区間を使って評価する方がよい

Page 100: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

予測区間

• 将来得られるデータが散らばりうる範囲 – 予測分布の95%区間

• 流れ星の例 – しし座流星群の夜に流れ星の数を数える

• 10分10回観測

• 𝑌 = 0,1,1,3,0,3,3,2,1,0だった

– ポアソン分布に従うと仮定すると、次の10分に観測できる流れ星の数はいくらぐらいだろうか? • 𝑌 ~ 𝑃𝑜𝑖𝑠𝑠𝑜𝑛(𝜃)

Page 101: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

最尤推定における予測

• 𝜃の最尤推定値は1.4

–ポアソン分布の平均パラメータ𝜃に1.4を代入したものが予測分布

– 𝜃の標準誤差を加味して予測分布を作る場合もある

• ただしその場合は積分しないといけない

Page 102: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

ポアソン分布

• 𝜃=1.4のポアソン分布

–離散分布

Page 103: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

ベイズ予測区間

• 積分によって求めることができる –予測分布 = ∫ 𝑝 𝑦 𝜃 𝑝 𝜃 𝑌 𝑑𝜃

• 𝑝(𝑦|𝑌)

• 事後分布で重みづけた確率モデル

• MCMCで計算された𝜃を全部使う –例えば1000個の𝜃がサンプリングされたら、

– 1000個のポアソン分布を作成し、乱数を生成

–乱数によって形作られたものが予測分布

Page 104: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

予測分布

Page 105: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

最尤推定とベイズ推定の関係

• ベイズの定理

• 最尤推定は事前分布が一様分布のMAP –最尤推定は尤度のみを使って推定

– もし事前分布𝑝 𝜃 が一様分布なら、尤度関数にすべて同じ値をかけたものが事後分布に比例

–その最大事後確率推定値(MAP)は尤度を最大にする点と同じ

𝑝 𝜃 𝑌 ∝ 𝑝 𝑌 𝜃 𝑝(𝜃)

Page 106: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

2.7 本書の事前分布の選び方

• 事前分布の選び方 – 恣意的に選ぶのはよくない

• 背景知識が不十分な場合は、特定の値がでやすいような事前分布を選ぶのは適切ではない

• 再現性の低下の元になる

– 無情報事前分布 • 範囲の広い一様分布 • 分散がすごい大きい分布

– 弱情報事前分布 • ある程度の知識がある場合は、それを反映させた事前分布を用いることも有効

Page 107: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

推定された𝜃

Page 108: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

3章 統計モデリングをはじめる前に

Page 109: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

3.1 データ解析の前準備

• データをとる前に –背景知識の収集

• 該当分野においてよく使われる手法や仮定を調べる

–問題設定 • データから何を知りたいかをまとめる

• 何を主張したいかをまとめる

• どういうストーリー、図で主張するとよいかを考える

–解析計画 • どの手法を使うか

• 解析のベストシナリオを描く

• マイルストーンを考えておく

Page 110: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

データ解析の前準備

• データをとった後で – データの分布の確認

• ヒストグラム・箱ひげ図を見る • 散布図・クロス表を見る • 時系列データの場合は折れ線グラフなど

• データ分布の確認の重要性

– 分布の確認は、データの生成メカニズムを推測するうえでとても重要 • どの確率分布を仮定するかを類推するのに役立つ

– 図の描写はRなどが便利

Page 111: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

3.2 統計モデリングの手順

• 1.解析の目的

– さきほどの問題設定と同じ

• 2.データの分布の確認

– さきほどと同じ

– これらは基本中の基本!

Page 112: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

統計モデリングの手順

• 3.メカニズムの想像 – データ生成のメカニズムやデータとデータをつなぐメカニズムを考える

• 4.モデル式の記述 – メカニズムを式に落とし込む – Y ~ normal(mu, sigma) など

• 5.シミュレーション – Rなどをつかって、モデル式の性質を調べる – 仮定した確率モデルからデータをRで生成してみる

Page 113: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

統計モデリングの手順

• 6.Stanで実装 – Stanのコードを書いて実装し、パラメータ推定を実行する

– Rで想定した確率モデルから生成した乱数データを分析して、真値が得られるかの確認も重要

• 7.推定結果の解釈

– 推定結果やベイズ信頼区間などをもとに解釈をしたり、図を描いたりする

• 8.図によるモデルのチェック – モデルがうまく当てはまっていそうかを図でチェックする

Page 114: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

モデリングの段取り

• メカニズムの想像の仕方

– イラストで表現

• パス図、グラフィカルモデル、概念図など

• 数式で表現する前段階でやっておくと便利

–まずはシンプルなモデルから

• つい最初から複雑なメカニズムを考えがちだが、うまくモデルが書けなかったり、推定できなかったりする

• 確実にうまくいくモデルから徐々に複雑に

Page 115: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

モデリングの段取り

• シンプルなモデルの例 – 当該分野の教科書に載ってるようなモデル – 説明変数を絞る

– 確率変数はなるべく独立と考えて、多変量正規分布をいきなり使わない

– グループ差や個人差は最初は考慮しない

• データも最初は小さくする – データが大きいと計算時間がかかり、モデルの試行錯誤にも時間がかかる

– ランダムに抽出して1/10ぐらいにする – カテゴリの水準を限定する

Page 116: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

再現性のチェック

• 再現性 – 同じ手順に従えば、毎回同じ結果が得られること

– 推定結果の再現性をチェックして、モデルの安定性、頑健性を確認する

• チェックポイント – 異なるデータセットでも同じような結果になるか

• データを数個除いて分析しても同じになるか

– ソフトやアルゴリズムを変えても同じ結果になるか • Stan以外のソフトを使っても同じになるか

– アルゴリズムが乱数に依存する場合、それらを変えても同じ推定結果になるか

Page 117: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

データ解析のサイクル

–データ分析は、ベストモデルを一つ作成できればそれで終わる営みではない

–予測性能が低い場合は原因を考える

–データの増加に伴い、複雑なモデルを作る

–新しい解釈が可能になり、予測精度も上がる

Page 118: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

3.3 背景知識の役割

• メカニズムを想像と背景知識

–統計モデリングでは、データだけからデータ生成のメカニズムが完全にわかるわけではない

–そのため、背景知識が利用される

• 背景知識が統計モデリングでは必須 • その当該分野における実質科学的知見(背景知識)を抜きにしてはメカニズムを想定することはできない

Page 119: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

統計モデリングは不良設定問題

• 不良設定問題とは – 答えが与えられた情報だけでは一意に定まらないような問題

– 背景知識などを利用して、可能なデータ生成メカニズムの選択肢を限定していく必要がある

• モデルの「正しさ」を議論することはできない – 真のモデルがなにかはわからない

– あるモデルが、別のモデルよりも正しいかどうかもよくわからない • どちらがありえそうか、解釈しやすいか、納得できるか

Page 120: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

すべての要素を考慮する必要はない

• 知りたいことに関わらない問題は削る

–知りたいことと関係ない場合は、できるだけシンプルに表現

–無駄に複雑にすることは、解釈可能性が落ちる

• 問題設定によってモデルが変わる

–知りたいことによって、複雑にする部分、シンプルにする部分が変わる

Page 121: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

3.4 モデルの記述方法

• モデル式 – データとパラメータの関係性

– パラメータとパラメータの関係性

• 確率的な関係性 – Y ~ Normal(μ, 1)

• チルダを使う Yは正規分布に確率的に従う

• 確定的な関係性 – μ = α + βX

• イコールを使う μはα + βXによって規定される

Page 122: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

グラフィカルモデル

• 確率モデルのパラメータ関係を図示

–◯に黒文字のノードは推定される確率変数

• パラメータ

–●に白文字のノードは観測された確率変数

• データ

–矢印(有向リンク)は条件付き確率

–線分(無向リンク)は同時確率

–四角い枠は繰り返し

• データ数分だけ繰り返す

μ Y[n]

n = 1,… 20

Page 123: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

3.5 情報量規準を使ったモデル選択

• 情報量規準 – AIC、BIC、あるいはWAIC、WBICなどなど

• 前者よりも後者(WAIC、WBIC)のほうがよい • MCMCを使えばこれらは簡単に計算可能

– モデル選択に使える • 予測精度の高いモデルや、データにあったモデルをこれらの指標で選ぶことができる

• 情報量規準に頼りすぎるのはよくない – しかし、情報量規準は万能ではない – WAICが小さいモデルが常に良いモデルとは限らない – 本書では、情報量規準によるモデル選択は扱わない

Page 124: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

補足 Stanによるモデリング例

Page 125: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

t検定の場合

• 条件によって平均パラメータが変わる

X=0 X=1

Page 126: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

t検定の場合

• 確率モデル

– 𝑌1 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇1, 𝜎

– 𝑌2 𝑚 ~ 𝑁𝑜𝑟𝑚𝑎𝑙(𝜇2, 𝜎)

– 𝜇2 = 𝜇1 + 𝛿

• 推定するパラメータは

– Y1の平均パラメータ𝜇1と,差のパラメータ𝛿

–二つの群の共通した標準偏差𝜎

Page 127: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

Stanコードの例

• 確率モデル

– 𝑌1 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇1, 𝜎

– 𝑌2 𝑚 ~ 𝑁𝑜𝑟𝑚𝑎𝑙(𝜇2, 𝜎)

– 𝜇2 = 𝜇1 + 𝛿

Page 128: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

回帰分析

• 回帰分析の仮定

–確率モデルは正規分布

–データはすべて独立に同一分散の分布から生成

• 心理統計的な回帰分析の書き方

– 𝑌𝑖 = 𝛼 + 𝛽 𝑋𝑖 + 𝑒𝑖

– 𝑒𝑖~ 𝑁(0, 𝜎)

Page 129: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

回帰分析の統計モデル

• データの生成メカニズムを正規分布と仮定

– 𝑌[𝑛]~ 𝑁 𝜇[𝑛], 𝜎

• 平均パラメータ𝜇に線形モデルを仮定

– 𝜇 𝑛 = 𝛼 + 𝛽 𝑋[𝑛]

• つまり,こういう確率分布となる

– 𝑌[𝑛]~𝑁 𝛼 + 𝛽𝑋[𝑛] , 𝜎

Page 130: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

平均が𝛼 + 𝛽𝑋[𝑛]の正規分布

平均値がXの値によって変わる,条件付き正規分布 すべてのXの値において,分散が等しい正規分布を仮定 →均一分散の仮定

青い破線は95%予測区間

Page 131: StanとRでベイズ統計モデリング 読書会 導入編( 3221.114.158.246/~statistics/stan_2016_11_23.pdf · •導入編(1章~3章)について解説 –本の内容+清水的解説

回帰分析の場合

• パラメータは3つ

– 𝛼, 𝛽, 𝜎

• 切片,回帰係数,残差SD

• 確率モデル

– 𝑌[𝑛]~ 𝑁 𝜇[𝑛], 𝜎

– 𝜇 𝑛 = 𝛼 + 𝛽 𝑋[𝑛]