SlideShare ist ein Scribd-Unternehmen logo
1 von 67
Downloaden Sie, um offline zu lesen
StanとRでベイズ統計モデリング
読書会 (Chapter 5-2)
Osaka.Stan #3 2017/2/26
https://atnd.org/events/85291
@関西学院大学 梅田キャンパス
京都大学 高等教育研究開発推進センター
後藤 崇志
Web: http://g01beza.web.fc2.com/
スライドの概要
• 第5章 「基本的な回帰とモデルのチェック」 後半戦です
• 5.2 二項ロジスティック回帰
• 5.3 ロジスティック回帰
• 5.4 ポアソン回帰
• 練習問題(4) ~ (7)
前半戦(5.1 重回帰)についてはOsaka.Stan #2の平川先生のスライド参照
(https://www.slideshare.net/makotohirakawa3/osakastan2-chap51)
• 発表者はこんな感じです
• 専門は心理学(特に社会・教育・認知周辺)
• 縦断データ・反復測定データの分析機会が多い気がする
• データ分析によく使うのはRとMplus
• 普段は素R派(特にこだわりがあるわけではないですが)
• ggplot2は報告する時には使うけど、分析途中ではあまり使わない
 なので、今日の発表の作図では基本的にはggplot2は使っていない
• ベイズ統計は勉強中、まだ本格的には使っていない
2017/2/26 Osaka.Stan #3 Chapter 5-2 2
このスライドで実行しているコードについて
2017/2/26 Osaka.Stan #3 Chapter 5-2 3
自分のwebサイト( http://g01beza.web.fc2.com/ )の”materials”内に置いてあります
5.2 二項ロジスティック回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 4
5.2 二項ロジスティック回帰
• 著者提供の架空データ
• PersonID: 学生のID
• A: アルバイトを好きかどうか(0=好きでない、1=好き)
• Score: 学問への興味の強さ(0 - 200)
• M: 3か月間における履修登録した科目の総授業回数
• Y: Mのうち、実際に出席した回数
「AとScoreでどれほど授業の出席を予測できるか?
また、どれほど出席率に影響しているか?」を知りたい
2017/2/26 Osaka.Stan #3 Chapter 5-2 5
データイメージ
2017/2/26 Osaka.Stan #3 Chapter 5-2 6
学生 n (PersonID)
月 火 水 木 金
Week 1 3 2 2 1 4
Week 2 1 2 1 0 0
・
・
・
月 火 水 木 金
Week 1 3 2 2 2 4
Week 2 3 2 1 2 4
・
・
・
履修登録した科目の
総授業回数 M
Mのうち、実際に
出席した回数 Y
Q1. アルバイトは好きですか
(Yes / No)
Q2. 学問にどのくらい興味が
ありますか (0 – 200)
A
Score
統制
予測したい
影響を知りたい
学生N人のデータ
データの分布を確認する
2017/2/26 Osaka.Stan #3 Chapter 5-2 7
出席数Y/授業数Mの割合も求めた
Corr:
0.112
Corr:
0.275
Corr:
0.89
Corr:
0.376
Corr:
-0.298
Corr:
0.13
Af Score M Y ratio
AfScoreMYratio
0 1 2 3 40 1 2 3 4 50 100 150 25 50 75 20 40 60 0.6 0.8 1.0
0
10
20
30
80
120
160
25
50
75
20
40
60
0.6
0.8
1.0
1.0付近の人がそれなりにいる
とりあえず重回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 8
model5_4_normal.stan
𝜇 𝑛 = 𝑏1 + 𝑏2 ∗ 𝐴 𝑛 + 𝑏3 ∗ 𝑆𝑐𝑜𝑟𝑒 𝑛 𝑛 = 1, … , 𝑁
𝑅𝑎𝑡𝑖𝑜 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇 𝑛 , 𝜎 𝑛 = 1, … , 𝑁
モデル式(式5 – 3を参考に)
とりあえず重回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 9
• 収束してる様子
モデルはちゃんと当てはまってる?
とりあえず重回帰:実測値・予測値のプロット
2017/2/26 Osaka.Stan #3 Chapter 5-2 10
この辺は4章参照
実測値と予測値の中央値を散布図で描く
95%区間を描く
凡例を描く
とりあえず重回帰:実測値・予測値のプロット
2017/2/26 Osaka.Stan #3 Chapter 5-2 11
0.4 0.5 0.6 0.7 0.8 0.9 1.0
0.40.60.81.0
observed
predicted
A=0
A=1
割合なのになんか1超えてる
このへんが気になる
とりあえず重回帰の問題点
• 今回の例では、出席率の実測値が1に近いデータがいくつかある
• 説明変数の組み合わせによっては予測値が1を超えてしまう
• 独立変数の線型結合(𝑏1 + 𝑏2 ∗ 𝐴 + 𝑏3 ∗ 𝑆𝑐𝑜𝑟𝑒) が −∞, ∞ の
範囲をとりうるため
 0, 1 の範囲しかとりえないようにしたい
2017/2/26 Osaka.Stan #3 Chapter 5-2 12
ロジスティック変換
• ロジスティック関数
1
1+ 𝑒−𝑥 を使った変換
2017/2/26 Osaka.Stan #3 Chapter 5-2 13
 (0, 1)の範囲に収まった!
-10 -5 0 5 10
0.00.20.40.60.81.0
test
logistic(test)
係数値が変わるとどうなる?
2017/2/26 Osaka.Stan #3 Chapter 5-2 14
• 𝑏1, 𝑏2の値を変えながら𝑦 =
1
1+𝑒− 𝑏1+𝑏2∗𝑥 の曲線を描いてみた
-10 -5 0 5 10
0.00.20.40.60.81.0
b1 = 0, b2 = ?
x
y
b2 = -1
b2 = 1
b2 = 5
-10 -5 0 5 10
0.00.20.40.60.81.0
b1 = ?, b2 = 0
x
y
b1 = -3
b1 = 1
b1 = 3
とりあえず重回帰の問題点  モデルの改善
• ロジスティック変換を行っても、正規分布に従うノイズが加わると
考えると、範囲 0, 1 を外れてしまう
• 出席率の分母である授業回数が小さめなので、出席率を連続
変数とみなすのは難しい
出席回数(カウントデータ) 𝑌は確率𝑞、試行回数𝑀の二項分布に
従って生成されたと考える
モデル式5-4
𝑞 𝑛 =
1
1+ 𝑒− 𝑏1+ 𝑏2∗𝐴 𝑛 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑛
𝑌 𝑛 = 𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝑀 𝑛 , 𝑞 𝑛
2017/2/26 Osaka.Stan #3 Chapter 5-2 15
AとScoreの線形結合は出席率qを決める
実際の出席率Yは授業回数Mと出席率qを
パラメータとする二項分布に従って生成
データイメージ
2017/2/26 Osaka.Stan #3 Chapter 5-2 16
学生 n (PersonID)
月 火 水 木 金
Week 1 3 2 2 1 4
Week 2 1 2 1 0 0
・
・
・
月 火 水 木 金
Week 1 3 2 2 2 4
Week 2 3 2 1 2 4
・
・
・
履修登録した科目の
総授業回数 M
Mのうち、実際に
出席した回数 Y
Q1. アルバイトは好きですか
(Yes / No)
Q2. 学問にどのくらい興味が
ありますか (0 – 200)
A
Score
学生N人のデータ
出席率q
二項分布
出席回数を二項ロジスティック回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 17
𝑞 𝑛 =
1
1 + 𝑒− 𝑏1+ 𝑏2∗𝐴 𝑛 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑛
𝑛 = 1, 2, … , 𝑁
𝑌 𝑛 = 𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝑀 𝑛 , 𝑞 𝑛 𝑛 = 1, 2, … , 𝑁
モデル式(式5 – 4)
予測分布も二項分布から得る
応答変数(出席回数)は整数なのでint型に
model5_4_binomial.stan
出席回数を二項ロジスティック回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 18
• 今度も収束してる様子
今度はモデルもちゃんと当てはまってる?
出席回数を二項ロジスティック回帰
• 重回帰よりよく当てはまっているように見える
2017/2/26 Osaka.Stan #3 Chapter 5-2 19
0 20 40 60 80
020406080
observed
predicted
A=0
A=1
二項ロジスティック回帰の結果の解釈
事後平均値をモデル式に代入する
𝑞 𝑛 =
1
1+ 𝑒
− 0.09 + −0.62 ∗𝐴 𝑛 +1.90 ∗
𝑆𝑐𝑜𝑟𝑒 𝑛
200
𝑌 𝑛 = 𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝑀 𝑛 , 𝑞 𝑛
アルバイトが好きな学生の方がそうでない学生より出席しなさそう
学問への興味の高い学生の方が出席しそう
係数値はどう解釈すればよい?
2017/2/26 Osaka.Stan #3 Chapter 5-2 20
二項ロジスティック回帰の結果の解釈
2017/2/26 Osaka.Stan #3 Chapter 5-2 21
𝑞 𝑛 =
1
1+ 𝑒− 𝑏1+ 𝑏2∗𝐴 𝑛 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑛
• 変形すると
𝑞
1 − 𝑞
= 𝑒 𝑏1+ 𝑏2∗𝐴 𝑛 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑛
• 左辺は(起こる確率)/(起こらない確率)の比=オッズ
• オッズが1より大きい
 起こる確率の方が高い(起こらない確率の方が低い)
• オッズが1より小さい
 起こる確率の方が低い(起こらない確率の方が高い)
二項ロジスティック回帰の結果の解釈
アルバイトが好きな学生とそうでない学生の違いは?
アルバイトが好きな学生のオッズはそうでない学生のオッズより
平均して0.54倍くらい低い
2017/2/26 Osaka.Stan #3 Chapter 5-2 22
アルバイトが好きな学生のオッズ = 𝑒
0.09 + −0.62 ∗1+1.90 ∗
𝑆𝑐𝑜𝑟𝑒 𝑛
200
そうでない学生のオッズ = 𝑒
0.09 + −0.62 ∗0+1.90 ∗
𝑆𝑐𝑜𝑟𝑒 𝑛
200
アルバイトが好きな学生のオッズ
そうでない学生のオッズ
=
𝑒
0.09 + −0.62 ∗1+1.90 ∗
𝑆𝑐𝑜𝑟𝑒 𝑛
200
𝑒
0.09 + −0.62 ∗0+1.90 ∗
𝑆𝑐𝑜𝑟𝑒 𝑛
200
=
𝑒0.09
∗ 𝑒−0.62
∗ 𝑒
1.90∗
𝑆𝑐𝑜𝑟𝑒 𝑛
200
𝑒0.09 ∗ 𝑒0 ∗ 𝑒
1.90∗
𝑆𝑐𝑜𝑟𝑒 𝑛
200
= 1
= 𝑒−0.62
≒ 0.54
二項ロジスティック回帰の結果の解釈
学問の興味の高い学生とそうでない学生の違いは?
学問の興味が1SD高いと、オッズは平均して1.31倍くらい高い
2017/2/26 Osaka.Stan #3 Chapter 5-2 23
学問の興味が平均値な学生のオッズ = 𝑒
0.09 + −0.62 ∗𝐴[𝑛]+1.90 ∗
121.7
200
学問の興味が平均値+1SDな学生のオッズ = 𝑒
0.09 + −0.62 ∗𝐴[𝑛]+1.90 ∗
121.7+28.1
200
学問の興味が平均値+1SDな学生のオッズ
学問の興味が平均値な学生のオッズ
=
𝑒
0.09 + −0.62 ∗𝐴[𝑛]+1.90 ∗
121.7+28.1
200
𝑒
0.09 + −0.62 ∗𝐴[𝑛]+1.90 ∗
121.7
200
=
𝑒0.09
∗ 𝑒−0.62∗𝐴[𝑛]
∗ 𝑒
1.90∗
121.7
200 ∗ 𝑒
1.90∗
28.1
200
𝑒0.09 ∗ 𝑒−0.62∗𝐴[𝑛] ∗ 𝑒
1.90∗
121.7
200
= 𝑒
1.90∗
28.1
200 ≒ 1.31
5.3 ロジスティック回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 24
5.3 ロジスティック回帰
• 著者提供の架空データ
• PersonID: 学生のID
• A: アルバイトを好きかどうか(0=好きでない、1=好き)
• Score: 学問への興味の強さ(0 - 200)
• Weather: 授業日の天気(A=晴れ、B=曇り、C=雨)
• Y: 授業に出席したかどうか(0=欠席、1=出席)
「AとScoreに授業日の天気を加えた3つの説明変数で授業の
出席をどれほど予測できるか?また、どれほど出席率に
影響しているか?」を知りたい
2017/2/26 Osaka.Stan #3 Chapter 5-2 25
データイメージ
2017/2/26 Osaka.Stan #3 Chapter 5-2 26
学生 n (PersonID)
Class 1 Class 2 Class 3 Class 4
天気 晴れ 雨 曇り 晴れ
ある学生のある授業i の天気 Weather
Q1. アルバイトは好きですか
(Yes / No)
Q2. 学問にどのくらい興味が
ありますか (0 – 200)
A
Score
学生N人から得られたI件の出欠データ
出欠 出席 欠席 出席 出席
…
…
ある学生がある授業i に出席したかどうか Y
出席率q
なにかの分布
予測したい
影響を知りたい
反復測定である点や、人によって授業回数が
違う点などは今回はおいておく
 8章の階層モデルあたりで向き合うことに
モデル式
出席したかどうか(0/1の二値)𝑌は確率𝑞のベルヌーイ分布に
従って生成されたと考える
AとScore、Weatherの線形結合は確率𝑞を決めると考える
確率𝑞 の範囲は(0, 1)なのでロジスティック変換
モデル式5-5
𝑞 𝑖 =
1
1+ 𝑒− 𝑏1+ 𝑏2∗𝐴 𝑖 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑖 +𝑏4∗𝑊𝑒𝑎𝑡ℎ𝑒𝑟 𝑖
𝑌 𝑖 = 𝐵𝑒𝑟𝑛𝑜𝑢𝑙𝑙𝑖 𝑞 𝑖
2017/2/26 Osaka.Stan #3 Chapter 5-2 27
Weatherの値の変換
• Weatherは(A=晴れ、B=曇り、C=雨)の離散的な文字列データ
なのでこのままでは扱いにくい
• ここでは経験的に、「晴れと比較したときの曇りの出席率への
影響」と「晴れと比較したときの雨の出席率への影響」の比率が
1:5であると考えたと仮定して、値を変換する
2017/2/26 Osaka.Stan #3 Chapter 5-2 28
晴れ 曇り 雨
Weatherの値の変換
• Weatherは(A=晴れ、B=曇り、C=雨)の離散的な文字列データ
なのでこのままでは扱いにくい
• ここでは経験的に、「晴れと比較したときの曇りの出席率への
影響」と「晴れと比較したときの雨の出席率への影響」の比率が
1:5であると考えたと仮定して、値を変換する
2017/2/26 Osaka.Stan #3 Chapter 5-2 29
晴れ 曇り 雨
1
0.2
Weatherの値の変換
2017/2/26 Osaka.Stan #3 Chapter 5-2 30
出席率をロジスティック回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 31
𝑞 𝑖 =
1
1 + 𝑒− 𝑏1+ 𝑏2∗𝐴 𝑖 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑖 +𝑏4∗𝑊𝑒𝑎𝑡ℎ𝑒𝑟 𝑖
𝑖 = 1, 2, … , 𝐼
𝑌 𝑖 = 𝐵𝑒𝑟𝑛𝑜𝑢𝑙𝑙𝑖 𝑞 𝑖 𝑖 = 1, 2, … , 𝐼
モデル式(式5 – 5)
model5_5.stan
出席率をロジスティック回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 32
• 収束してる様子
モデルはちゃんと当てはまってる?
確率qの80%信頼区間を出席Yと重ねて描いてみる
2017/2/26 Osaka.Stan #3 Chapter 5-2 33
以下、残りの5パターンは省略
Scoreを30 ~ 200の範囲で変化させたときの
予測値の中央値と80%信頼区間を求める
(天気=晴れ(A)、アルバイトの好み=1の場合に限定)
予測値の中央値を実線で、80%信頼区間の
上限と下限を破線で描く
興味Scoreと出席Yの実測値も重ねてプロット
確率qの80%信頼区間を出席Yと重ねて描いてみる
2017/2/26 Osaka.Stan #3 Chapter 5-2 34
50 100 150 200
0.00.20.40.60.81.0
A = 0, Weather = A
Score
q
50 100 150 2000.00.20.40.60.81.0
A = 0, Weather = B
Score
q
50 100 150 200
0.00.20.40.60.81.0
A = 0, Weather = C
Score
q
50 100 150 200
0.00.20.40.60.81.0
A = 1, Weather = A
Score
q
50 100 150 200
0.00.20.40.60.81.0
A = 1, Weather = B
Score
q
50 100 150 200
0.00.20.40.60.81.0
A = 1, Weather = C
Score
q
確率と実測値のプロット
• 左の図であれば、Y=0
では横軸の小さい方に、
Y=1では横軸の大きい
方に集まっているとよく
予測できているといえる
グラフを見る限りは
十分には予測できて
いない様子
2017/2/26 Osaka.Stan #3 Chapter 5-2 35
※このスライドではvioplot関数を使用
ROC曲線
• ある値以上を出席、
未満を欠席とするように
分類すると、
1. 正しく出席を分類できた人
2. 誤って出席に分類した人
3. 正しく欠席に分類できた人
4. 誤って欠席に分類した人
の割合が求まる
様々な値で区切ったとき
のTrue positive(1)とFalse
positive(2)をプロットした
もの
2017/2/26 Osaka.Stan #3 Chapter 5-2 36
カーブの下の面積が大きい
(一般に0.8以上)ほど分類
性能がよい
 今回は80%信頼区間が
0.6155 ~ 0.6179であまり
よくない
練習問題(4)
• 晴れの影響を0とし、曇りの影響と雨の影響をともにパラメータと
するモデルをStanで実装して推定する
• 発表者の考え①:「曇り/晴れ・雨」、「雨/晴れ・曇り」を弁別
する二値変数を使ったモデルを考えてみた
2017/2/26 Osaka.Stan #3 Chapter 5-2 37
晴れ 曇り 雨
𝒃 𝒓𝒂𝒊𝒏
𝒃 𝒄𝒍𝒐𝒖𝒅
練習問題(4) ①こんな感じ?
2017/2/26 Osaka.Stan #3 Chapter 5-2 38
𝑞 𝑖 =
1
1 + 𝑒− 𝑏1+ 𝑏2∗𝐴 𝑖 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑖 +𝑏4∗𝐶𝑙𝑜𝑢𝑑 𝑖 +𝑏5∗𝑅𝑎𝑖𝑛 𝑖
𝑖 = 1, 2, … , 𝐼
𝑌 𝑖 = 𝐵𝑒𝑟𝑛𝑜𝑢𝑙𝑙𝑖 𝑞 𝑖 𝑖 = 1, 2, … , 𝐼
曇り、雨それぞれの二値変数をint型で宣言
model_5_5_ex1.stan
練習問題(4) ①こんな感じ?
2017/2/26 Osaka.Stan #3 Chapter 5-2 39
• 曇りの日は晴れの日と比べてexp(-0.380) ≒ 0.68倍
• 雨の日は晴れの日と比べてexp(-0.496) ≒ 0.61倍
晴れよりは確率が下がるけど、雨と曇りではそんなに変わらない?
二値変数はT/Fを
数値化して作成
練習問題(4) ②
• ヒント:天気のデータを1~3のインデックスにしてStanに渡す
• 「晴れ」「曇り」「雨」によって𝑏1の値に𝑏 𝑤[𝑊𝑒𝑎𝑡ℎ𝑒𝑟]が加わると
いうモデルを作成
2017/2/26 Osaka.Stan #3 Chapter 5-2 40
晴れ 曇り 雨
𝒃 𝟏 + 𝒃 𝒘[𝑺𝒖𝒏𝒏𝒚] 𝒃 𝟏 + 𝒃 𝒘[𝑪𝒍𝒐𝒖𝒅] 𝒃 𝟏 + 𝒃 𝒘[𝑹𝒂𝒊𝒏]
練習問題(4) ② こんな感じ
2017/2/26 Osaka.Stan #3 Chapter 5-2 41
曇りの効果をbw2、雨の効果をbw3としてreal型で宣言
天気の効果を入れるbwという配列を作成
「晴れ」は基準なので0、「曇り」「雨」はそれぞれbw2、bw3を入れる
𝑞 𝑖 =
1
1 + 𝑒− 𝑏1+ 𝑏2∗𝐴 𝑖 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑖 + 𝑏 𝑤[𝑊𝑒𝑎𝑡ℎ𝑒𝑟[𝑖]]
𝑖 = 1, 2, … , 𝐼
𝑌 𝑖 = 𝐵𝑒𝑟𝑛𝑜𝑢𝑙𝑙𝑖 𝑞 𝑖 𝑖 = 1, 2, … , 𝐼
天気の違いは1~3のインデックスで渡すのでint型
model_5_5_ex2.stan
練習問題(4) ② こんな感じ
2017/2/26 Osaka.Stan #3 Chapter 5-2 42
①で二値のダミー変数を使ったものと同じ結果が得られた
インデックス化するためにあらかじめ
tmpというベクトルを準備
5.4 ポアソン回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 43
5.4 ポアソン回帰
• 5.2 と同じ架空データ
• PersonID: 学生のID
• A: アルバイトを好きかどうか(0=好きでない、1=好き)
• Score: 学問への興味の強さ(0 - 200)
• M: 3か月間における履修登録した科目の総授業回数
• Y: Mのうち、実際に出席した回数
「AとScoreでどれほど総授業回数を予測できるか?
また、どれほど総授業回数に影響しているか?」を知りたい
2017/2/26 Osaka.Stan #3 Chapter 5-2 44
データイメージ
2017/2/26 Osaka.Stan #3 Chapter 5-2 45
学生 n (PersonID)
月 火 水 木 金
Week 1 3 2 2 1 4
Week 2 1 2 1 0 0
・
・
・
月 火 水 木 金
Week 1 3 2 2 2 4
Week 2 3 2 1 2 4
・
・
・
履修登録した科目の
総授業回数 M
Mのうち、実際に
出席した回数 Y
Q1. アルバイトは好きですか
(Yes / No)
Q2. 学問にどのくらい興味が
ありますか (0 – 200)
A
Score
予測したい
影響を知りたい
学生N人のデータ
とりあえず重回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 46
𝜇 𝑛 = 𝑏1 + 𝑏2 ∗ 𝐴 𝑛 + 𝑏3 ∗ 𝑆𝑐𝑜𝑟𝑒 𝑛 𝑛 = 1, … , 𝑁
𝑀 𝑛 ~ 𝑁𝑜𝑟𝑚𝑎𝑙 𝜇 𝑛 , 𝜎 𝑛 = 1, … , 𝑁
model_5_6_normal.stan
とりあえず重回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 47
• 収束してる様子
↓ しかし、予測値が小数値をとっている(場合によっては負の値も)
とりあえず重回帰  モデル式
0以上の整数値のみをとるようにするために、総授業回数
(カウントデータ)𝑌は平均𝜆のポアソン分布に従って生成されたと
考える
AとScoreの線形結合は平均𝜆を決めると考える
平均𝜆は0以上の値なので、線形結合は指数変換する
よって、モデル式は
λ 𝑛 = 𝑒 𝑏1+ 𝑏2∗𝐴 𝑛 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑛
𝑌 𝑛 = 𝑃𝑜𝑖𝑠𝑠𝑜𝑛 𝜆 𝑛
2017/2/26 Osaka.Stan #3 Chapter 5-2 48
総授業回数をポアソン回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 49
λ 𝑛 = 𝑒 𝑏1+ 𝑏2∗𝐴 𝑛 + 𝑏3∗𝑆𝑐𝑜𝑟𝑒 𝑛
𝑛 = 1, … , 𝑁
𝑌 𝑛 = 𝑃𝑜𝑖𝑠𝑠𝑜𝑛 𝜆 𝑛 𝑛 = 1, … , 𝑁
model_5_6_poisson.stan
総授業回数をポアソン回帰
2017/2/26 Osaka.Stan #3 Chapter 5-2 50
• 収束してる様子
↓ 予測値も整数値をとっている!
ポアソン回帰の結果の解釈
学問の興味の高い学生とそうでない学生の違いは?
学問の興味が1SD高いと、授業回数が平均して1.04倍くらい高い
2017/2/26 Osaka.Stan #3 Chapter 5-2 51
学問の興味が平均値な学生の授業回数の平均 = 𝑒
3.58 +0.26 ∗𝐴[𝑛]+0.29 ∗
121.7
200
学問の興味が平均値+1SDな学生の授業回数の平均 = 𝑒
3.58 + 0.26 ∗𝐴[𝑛]+0.29 ∗
121.7+28.1
200
学問の興味が平均値+1SDな学生の授業回数の平均
学問の興味が平均値な学生の授業回数の平均
=
𝑒
3.58 + 0.26 ∗𝐴[𝑛]+0.29 ∗
121.7+28.1
200
𝑒
3.58 +0.26 ∗𝐴[𝑛]+0.29 ∗
121.7
200
=
𝑒3.58
∗ 𝑒0.26∗𝐴[𝑛]
∗ 𝑒
0.29∗
121.7
200 ∗ 𝑒
0.29∗
28.1
200
𝑒3.58 ∗ 𝑒0.26∗𝐴[𝑛] ∗ 𝑒
0.29∗
121.7
200
= 𝑒
0.29∗
28.1
200 ≒ 1.04
練習問題(5)
2017/2/26 Osaka.Stan #3 Chapter 5-2 52
• 横軸に実測値、縦軸に
予測値の中央値と90%
予測区間を描画
• あまりあてはまりがよく
なさそうに見える
飛ばした話①
• パラメータは個別に宣言しても、配列で宣言しても大丈夫
2017/2/26 Osaka.Stan #3 Chapter 5-2 53
飛ばした話②
• binomial_logit, bernoulli_logit, poisson_logといった関数もある
2017/2/26 Osaka.Stan #3 Chapter 5-2 54
練習問題(6)、(7)
2017/2/26 Osaka.Stan #3 Chapter 5-2 55
練習問題(6)、(7)
• 別のデータを使ってStanで分析する
• data3a.csv  ポアソン回帰
• data4a.csv  二項ロジスティック回帰
• いずれも久保拓弥先生の『データ
解析のための統計モデリング入門
―一般化線形モデル・階層ベイズ
モデル・MCMC―』(2012年 岩波書店)
のサンプルデータ
2017/2/26 Osaka.Stan #3 Chapter 5-2 56
http://amzn.asia/c0kUD8B
• 久保(2012) 3章 p.40の例題データ
• 架空植物100個体を調査して得られた種子数のデータ
• y: 個体から得られた種子数
• x: 個体の体サイズ
• f: 肥料を加えたか否か(T=加えた、C=加えていない)
「xとfでどれほど種子数yを予測できるか?
また、どれほど種子数yに影響しているか?」を知りたい
練習問題(6)
2017/2/26 Osaka.Stan #3 Chapter 5-2 57
練習問題(6)
2017/2/26 Osaka.Stan #3 Chapter 5-2 58久保(2012) p. 41より
予測したい
影響を知りたい
練習問題(6) 久保(2012)に従ってglmで分析
2017/2/26 Osaka.Stan #3 Chapter 5-2 59
• 推定された結果は
𝜆 = 𝑒(1.26 + 0.08∗𝑥 + −0.03 ∗𝑓)
f=Cと比べたときのf=Tの影響
練習問題(6) Stanに実装
2017/2/26 Osaka.Stan #3 Chapter 5-2 60
λ 𝑛 = 𝑒 𝑏1+ 𝑏2∗𝑋 𝑛 + 𝑏3∗𝐹 𝑛
𝑛 = 1, … , 𝑁
𝑌 𝑛 = 𝑃𝑜𝑖𝑠𝑠𝑜𝑛 𝜆 𝑛 𝑛 = 1, … , 𝑁
fは後でT=1、C=0として変換する
model_ex6.stan
練習問題(6) Stanに実装
2017/2/26 Osaka.Stan #3 Chapter 5-2 61
• 推定された結果は
𝜆[𝑛] = 𝑒(1.25 + 0.08∗𝑥[𝑛] + −0.03 ∗𝑓[𝑛])
・・・ということでだいたいglmの結果と似た感じに
• 久保(2012) 6章 p.116の例題データ
• 架空植物100個体を調査して得られた種子数のデータ
• N: 個体から得られた種子数
• y: Nのうち、発芽した種子数
• x: 個体の体サイズ
• f: 肥料を加えたか否か(T=加えた、C=加えていない)
「xとfでどれほど発芽した種子数yを予測できるか?
また、どれほど種子の発芽率に影響しているか?」を知りたい
練習問題(7)
2017/2/26 Osaka.Stan #3 Chapter 5-2 62
練習問題(7)
2017/2/26 Osaka.Stan #3 Chapter 5-2 63
予測したい
影響を知りたい
発芽率q
二項分布
久保(2012) p. 116より
練習問題(7) 久保(2012)に従ってglmで分析
2017/2/26 Osaka.Stan #3 Chapter 5-2 64
• 推定された結果は
𝑞 =
1
1+𝑒−(−19.54 +1.95∗𝑥 +2.02∗𝑓)
練習問題(7) Stanに実装
2017/2/26 Osaka.Stan #3 Chapter 5-2 65
𝑞 𝑖 =
1
1 + 𝑒− 𝑏1+ 𝑏2∗𝑋 𝑖 + 𝑏3∗𝐹 𝑖
𝑖 = 1, 2, … , 𝐼
𝑌 𝑖 = 𝐵𝑖𝑛𝑜𝑚𝑖𝑎𝑙 𝑁 𝑖 , 𝑞 𝑖 𝑖 = 1, 2, … , 𝐼
model_ex7.stan
練習問題(7) Stanに実装
2017/2/26 Osaka.Stan #3 Chapter 5-2 66
• 推定された結果は
𝑞 𝑛 =
1
1+𝑒− −19.72 +1.97∗𝑥 𝑛 +2.05∗𝑓 𝑛
・・・ということでそこそこglmの結果と似た感じに
練習問題(7) 実測値と予測値のプロット
2017/2/26 Osaka.Stan #3 Chapter 5-2 67
0 2 4 6 8
02468
observed
predicted
F=C
F=T
• おおむね当てはまっている
と言えそう

Weitere ähnliche Inhalte

Was ist angesagt?

多重代入法の書き方 公開用
多重代入法の書き方 公開用 多重代入法の書き方 公開用
多重代入法の書き方 公開用
Koichiro Gibo
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
Yohei Sato
 

Was ist angesagt? (20)

多重代入法の書き方 公開用
多重代入法の書き方 公開用 多重代入法の書き方 公開用
多重代入法の書き方 公開用
 
Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)
 
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 
質的変数の相関・因子分析
質的変数の相関・因子分析質的変数の相関・因子分析
質的変数の相関・因子分析
 
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
 
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
 
重回帰分析で交互作用効果
重回帰分析で交互作用効果重回帰分析で交互作用効果
重回帰分析で交互作用効果
 
第2回DARM勉強会
第2回DARM勉強会第2回DARM勉強会
第2回DARM勉強会
 
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
 
社会心理学とGlmm
社会心理学とGlmm社会心理学とGlmm
社会心理学とGlmm
 
Stanの便利な事後処理関数
Stanの便利な事後処理関数Stanの便利な事後処理関数
Stanの便利な事後処理関数
 
WAICとWBICのご紹介
WAICとWBICのご紹介WAICとWBICのご紹介
WAICとWBICのご紹介
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布について
 
学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
 
マルコフ連鎖モンテカルロ法入門-1
マルコフ連鎖モンテカルロ法入門-1マルコフ連鎖モンテカルロ法入門-1
マルコフ連鎖モンテカルロ法入門-1
 
ベイズ推定の概要@広島ベイズ塾
ベイズ推定の概要@広島ベイズ塾ベイズ推定の概要@広島ベイズ塾
ベイズ推定の概要@広島ベイズ塾
 
MCMCで研究報告
MCMCで研究報告MCMCで研究報告
MCMCで研究報告
 

Andere mochten auch

Andere mochten auch (8)

Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】
Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】
Stanでpsychophysics──階層ベイズモデルで恒常法データを分析する──【※Docswellにも同じものを上げています】
 
NagoyaStat #5 データ解析のための
統計モデリング入門 第10章
NagoyaStat #5 データ解析のための
統計モデリング入門 第10章NagoyaStat #5 データ解析のための
統計モデリング入門 第10章
NagoyaStat #5 データ解析のための
統計モデリング入門 第10章
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
 
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
 
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
 
データ解析のための統計モデリング入門 1~2章
データ解析のための統計モデリング入門 1~2章 データ解析のための統計モデリング入門 1~2章
データ解析のための統計モデリング入門 1~2章
 
Osaka.stan#2 chap5-1
Osaka.stan#2 chap5-1Osaka.stan#2 chap5-1
Osaka.stan#2 chap5-1
 
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
 

Ähnlich wie Osaka.Stan #3 Chapter 5-2

一般化線形混合モデル isseing333
一般化線形混合モデル isseing333一般化線形混合モデル isseing333
一般化線形混合モデル isseing333
Issei Kurahashi
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
tmaehara
 

Ähnlich wie Osaka.Stan #3 Chapter 5-2 (20)

強化学習その3
強化学習その3強化学習その3
強化学習その3
 
SMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するSMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装する
 
スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元
 
Rで実験計画法 前編
Rで実験計画法 前編Rで実験計画法 前編
Rで実験計画法 前編
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」
 
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
読書会 「トピックモデルによる統計的潜在意味解析」 第2回 3.2節 サンプリング近似法
 
行列計算を利用したデータ解析技術
行列計算を利用したデータ解析技術行列計算を利用したデータ解析技術
行列計算を利用したデータ解析技術
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
 
第8回スキル養成講座講義資料.pdf
第8回スキル養成講座講義資料.pdf第8回スキル養成講座講義資料.pdf
第8回スキル養成講座講義資料.pdf
 
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
 
実践データ分析基礎
実践データ分析基礎実践データ分析基礎
実践データ分析基礎
 
DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)
DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)
DSB2019振り返り会:あのにっくき QWK を閾値調整なしで攻略した(かった)
 
2020年度秋学期 画像情報処理 第6回 「行列」に慣れていない人のために (2020. 10. 30)
2020年度秋学期 画像情報処理 第6回 「行列」に慣れていない人のために (2020. 10. 30)2020年度秋学期 画像情報処理 第6回 「行列」に慣れていない人のために (2020. 10. 30)
2020年度秋学期 画像情報処理 第6回 「行列」に慣れていない人のために (2020. 10. 30)
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
 
データ解析13 線形判別分析
データ解析13 線形判別分析データ解析13 線形判別分析
データ解析13 線形判別分析
 
一般化線形混合モデル isseing333
一般化線形混合モデル isseing333一般化線形混合モデル isseing333
一般化線形混合モデル isseing333
 
数理解析道場
数理解析道場数理解析道場
数理解析道場
 
実験計画法入門 Part 3
実験計画法入門 Part 3実験計画法入門 Part 3
実験計画法入門 Part 3
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
 
データ解析1 ベクトルの復習
データ解析1 ベクトルの復習データ解析1 ベクトルの復習
データ解析1 ベクトルの復習
 

Osaka.Stan #3 Chapter 5-2