6. 統計モデル
関心のある観測値 y を生成する確率分布 f を
別の観測値 x や未知の値 θ を含む数式で近似したもの
現実によくフィットした統計モデルの発見は
→将来発生する y の値の予測、観測できない量の推定
→現実の背景にある構造?法則性への理解につながる
定数?説明変数 パラメター
目的変数 統計
モデル
p = f (y | x,θ)
y
p
面積1
7. 統計モデル
関心のある観測値 y を生成する確率分布 f を
別の観測値 x や未知の値 θ を含む数式で近似したもの
現実によくフィットした統計モデルの発見は
→将来発生する y の値の予測、観測できない量の推定
→現実の背景にある構造?法則性への理解につながる
定数?説明変数 パラメター
目的変数 統計
モデル
p = f (y | x,θ)
y
p
ご注意
この発表では、あらゆる確率(密度)分布の関数を
同じ記号 f で表記する
面積1
8. 統計モデル
関心のある観測値 y を生成する確率分布 f を
別の観測値 x や未知の値 θ を含む数式で近似したもの
現実によくフィットした統計モデルの発見は
→将来発生する y の値の予測、観測できない量の推定
→現実の背景にある構造?法則性への理解につながる
定数?説明変数 パラメター
目的変数 統計
モデル
p = f (y | x,θ)
y
p
ご注意
この発表では、あらゆる確率(密度)分布の関数を
同じ記号 f で表記する
y ~ f (x,θ)
面積1
9. 統計モデル
p = f (y |θ)
↓
θ がある値の時に観測値 y が得られる確率 p (注1)
尤度が計算できる
(注1)全ての観測値 y = {y1,...,yN} が同時に得られる確率
10. 統計モデル
p = f (y |θ)
↓
θ がある値の時に観測値 y が得られる確率 p (注1)
尤度が計算できる
(注1)全ての観測値 y = {y1,...,yN} が同時に得られる確率
尤度が大きくなるθの値からは
観測値と同じデータが得られやすいので
尤(もっと)もらしい値である
y を定数として尤度を θ の関数とみなしたもの
尤度関数 L(θ) =
27. VSfS m ,,IfS r
[ f9 ai d:.; F8 ,, Fu、 rv
d S kPF 8 ,, r k u F v
n
bSdS_ f de m ,, r
d S _g8 ,, u rv
d S 9 ai d:-; e[Y_S8 ,, “ u rp- v
n
_aV m ,,
_g o ad_S % -) .---&8 ,, _g u v
e[Y_S o ad_S % -) .---&8 ,,e[Y_S u v
k o ad_S %_g) e[Y_S&8 ,, k u v
n
正規分布の平均と標準偏差の推定
Stan
※Stanでは事前分布を指定しないと一様分布が指定される。
28. F 9* .---
k 9* d ad_% F) _ S : .4/) eV : 2+2&
efS r
ad_S RVSfS 9* [ef%F : F) k : k&
r x
X[fR ad_S 9* ,,efS X[f
efS % X[ :
ad_S +efS
,,efS
) VSfS : ad_S RVSfS ,, r
) [f d : /--- ,, r
) UZS[ e : 1 ,,
) fZ[ : . ,,fZ[ :/ . {~
) iSd_ : X aad%[f d,/&& ,,iSd_*gb
MCMCサンプル数
= (iter - warm)*chain*(1/thin) = 4000
正規分布の平均と標準偏差の推定
R
31. #パラメターの推定値の表示
print(fit_normal)
B X d U Xad IfS _aV 7 ad_S +
1 UZS[ e) SUZ i[fZ [f d:/---8 iSd_gb:.---8 fZ[ :.8
baef*iSd_gb VdSie b d UZS[ :.---) fafS baef*iSd_gb VdSie:1---+
_ S e R_ S eV /+2# /2# 2-# 42# 64+2# R XX ZSf
_g .4/+06 -+-- -+.4 .4/+-2 .4/+/5 .4/+06 .4/+2. .4/+40 /163 .
e[Y_S 2+11 -+-- -+./ 2+/. 2+02 2+11 2+2/ 2+34 /004 .
bRR */.6-+-0 -+-0 .+-2 */.6/+5/ */.6-+06 */.56+4- */.56+0- */.56+-2 ..6- .
IS_b e i d VdSi ge[ Y FK I%V[SYR & Sf Ea <gY 0. .27-27-. /-.2+
Aad SUZ bSdS_ f d) R XX [e S UdgV _ Segd aX XX Uf[h eS_b e[l )
S V ZSf [e fZ baf f[S eUS d VgUf[a XSUfad a eb [f UZS[ e %Sf
Ua h dY U ) ZSf:.&+
MCMCサンプルの
平均、平均の標準誤差、標準偏差、x%値、有効サンプル数、 ?R
正規分布の平均と標準偏差の推定
32. 正規分布の平均と標準偏差の推定
jfdSUf% aT Uf : FKDD efS X[f
) bSde : FKDD y r
) b d_gf V : A<DI r )
) [ URiSd_gb : A<DI & iSd_*gb
#サンプルされたパラメター値の抽出
bSdS_R ad_S 9* jfdSUf%X[fR ad_S &
_g
_ S % bSdS_R ad_S "_g &
.4/+0602
42. Stanコードの構成
Xg Uf[a e mn ,,
VSfS mn ,,IfS r
fdS eXad_ V VSfSmn ,, r
bSdS_ f de mn ,, r
fdS eXad_ V bSdS_ f demn ,, r
_aV mn ,,
Y dSf V cgS f[f[ e mn ,, r
,,
必須なのは _aV のみ、ブロックの順番を変えてはいけない
bSdS_ f de) fdS eXad_ V bSdS_ f de) Y dSf V cgS f[f[ e ?
で定義した値が出力される
fdS eXad_ V bSdS_ f de 以降がイテレーション毎に実行される
43. 基本的なデータ型
,, r
[ f <8 ,,、
d S =8 ,,
,, q u p ~ v
h UfadP.- L8 ,,
_Sfd[jP<)< E8 ,,
daiRh UfadP.- L/8 ,,
,, u v
[ f9 ai d:.; >8
d S 9 ai d:-) gbb d:.-; 8
h Ufad9 ai d:_[ %L&) gbb d:_Sj%L&; 8
,, u ~ v
[ f MPF 8 ,,. 、
d S NP/)/)/ 8 ,,0
_Sfd[jP/)/ P0)0 8 ,,/j/ p0j0
,,w
44. model ブロック
_aV m
_g o ad_S %-) .---&8 ,,
e[Y_S o g [Xad_%-) .---&8 ,,
k o ad_S %_g) e[Y_S&8 ,, u v
n
実際には対数確率をひたすら足し上げている
パラメタと観測値の分布を指定する
f(θ|y) = C×f(y|θ)f(θ)
log(f(θ|y)) = log(C)+log(f(y|θ))+log(f(θ))
HMCは対数事後確率関数をθで微分した傾きを利用するので
θに依存しない定数項は省略されてる場合もある
(log(C)やf(θ)内の正規化係数など)
45. model ブロック
k o ZaY %fZ fS&8 //Sampling Statement
[ Ud _ fR aYRbdaT% ZaY R aY% k) fZ fS& &8
bRR 9* bRR ( ZaY R aY% k) fZ fS &8w
Stanでは 確率分布関数 hoge に対して
対数確率を足し上げる3つの等価な書き方がある
aY% ZaY %& & ー
Sampling Statement が使えない時は
[ Ud _ fR aYRbdaT% &
※lp__ は将来的にはなくなるので推奨されない
47. 線形回帰
VSfS m
[ f9 ai d:-; F8 ,,
[ f9 ai d:.; C8 ,, ? ”
_Sfd[jPF)C j8 ,, ? ”
h UfadPF k8 ,, ”
n
bSdS_ f de m
d S S bZS8 ,, (
h UfadPC T fS8 ,, r
d S 9 ai d:-; e[Y_S8 ,, “
n
_aV m
,,
k o ad_S %S bZS ( j T fS) e[Y_S&8
,, ~
,,Xad%[ [ .7F&
,, kP[ o ad_S %S bZS ( jP[ T fS) e[Y_S&8
n
50. テストの点数の分布へのあてはめ、各生徒の解答力の推定
VSfS m
[ f9 ai d:-; F8 ,, F
[ f9 ai d:-; E8 ,, E
[ f9 ai d:-; kPF 8 ,, k
n
bSdS_ f de m
d S 9 ai d:-; S bZS8 ,, S bZS
d S T fSPF 8 ,, T fS
d S 9 ai d:-; e[Y_S8 ,,T fS “ e[Y_S
n
fdS eXad_ V bSdS_ f de m
d S lPF 8
d S bPF 8
Xad%[ [ .7F& m
lP[ 9* S bZS ( T fSP[ 8 ,, l
bP[ 9* [ hR aY[f% lP[ &8 ,, }x b
n
n
_aV m
T fS o ad_S %-) e[Y_S&8 ,, u v
Xad%[ [ .7F& kP[ o T[ a_[S %E) bP[ &8 ,, k u wv
n
※ある問に正答する確率が p のとき、M個の問題のうち、 y 個正解する確率の分布
57. 階層ベイズモデル
r r
aY[ef[U 9* Xg Uf[a %j&m.+-,%.( jb%*j&&n
F 9* .--
E 9* .-
S bZS 9* -+53
e[Y_S 9* 0+45 “
T fS 9* d ad_%F) _ S : -) eV : e[Y_S&
l 9* S bZS ( T fS
b 9* aY[ef[U%l&
k 9* eSbb k%b) Xg Uf[a % &mdT[ a_%.) E) &n&
efS r
VSfSRZ[ d 9* [ef%F: YfZ%k&) E:.-) k:k&
x
X[fRZ[ d 9* efS %X[ :
Z[ dSdUZ[US +efS
) VSfS : VSfSRZ[ d&
テストの点数の分布へのあてはめ、各生徒の解答力の推定
58. 階層ベイズモデル
r
bSdS_RZ[ d 9* jfdSUf%X[fRZ[ d&
k+aTe 9* Z[ef%k) Td S]e:e c%-).--)Tk:.-&&
k+bdV 9* Z[ef%Ua E S e%bSdS_RZ[ d"kRZSf&)
Td S]e:e c%-).--)Tk:.-&&
b af%k+aTe"_[Ve) k+aTe"Uag fe) Ua :
T SU]
) bUZ:.6
) j ST:
) k ST:
&
ba[ fe%k+bdV"_[Ve) k+bdV"Uag fe) Ua :
d V
) bUZ:.6&
l
l+aTe 9* Z[ef%l) Td S]e:e c%*.2).2)Tk:/&&
l+bdV 9* Z[ef%Ua E S e%bSdS_RZ[ d"l&) Td S]e:e c%*.2).2)Tk:/&&
b af% l+aTe"_[Ve) l+aTe"Uag fe) Ua :
T SU]
) bUZ:.6
) j ST:
l
) k ST:
&
ba[ fe%l+bdV"_[Ve) l+bdV"Uag fe) Ua :
d V
) bUZ:.6&
テストの点数の分布へのあてはめ、各生徒の解答力の推定
59. 配列データへのアクセス
,,/j0 1j2
_Sfd[jP/)0 P1)2 8
,,
j. 9* P1)2)/)0 8 ,,d S
j/ 9* P1)2)/ 8 ,,daiRh UfadP0
j0 9* P1)2 8 ,,_Sfd[jP/)0
j1 9* P1 8 ,,_Sfd[jP/)0
,, 2 .
,,j2 9* P1)2) )0 ,,h UfadP/ z ~
,, z
Xad%[ [ .7/&
j2P[ 9* P1)2)[)0 8
,, z y
,, P. P/ P.)/
60. ロジスティック回帰
VSfS m
[ f9 ai d:.; F8 ,, r
[ f9 ai d:-; C8 ,, ? ”
_Sfd[jPF)C j8 ,,
[ f9 ai d:-) gbb d:.; kPF 8 ,, ” - ad .uw v
n
bSdS_ f de m
d S S bZS8 ,, (
h UfadPC T fS8 ,,
n
_aV m
k o T d ag [R aY[f%S bZS ( j T fS&8
,, ~
,,Xad % [ .7F&
,,kP o T d ag [%[ hR aY[f%S bZS ( T fS jP &&8
n
(※注)ハマりポイント
bernoulli(ベルヌーイ)分布は0か1(つまり整数)しか
返さないのに y を vector(実数)で定義してしまうと
コンパイルエラーになる
線形回帰との違いを赤で示している
,,[ hR aY[f aY[ef[U
61. 予測値の算出①
,, $
VSfS m
[ f9 ai d:-; F8 ,,
[ f9 ai d:.; C8 ,, ? ”
_Sfd[jPF)C j8 ,, ? ” u r v
h UfadPF k8 ,, ” u r v
,, ? ”
[ f9 ai d:-; FR i8 ,,
_Sfd[jPFR i) C jR i8 ,,? ” u r v
n
bSdS_ f de m
d S S bZS8 ,, (
h UfadPC T fS8 ,, r
d S 9 ai d:-; e[Y_S8 ,,
n
_aV m
k o ad_S %S bZS ( j T fS) e[Y_S&8
n
Y dSf V cgS f[f[ e m
h UfadPFR i kR i8
Xad % [ .7FR i&
kR iP 9* ad_S Rd Y%jR iP T fS) e[Y_S&8
n
Y dSf V cgS f[f[ e で算出する方法
可能な場合はこちらのほうが良い、有効サンプル数が大きくなる
,, r r y
,, k
62. 予測値の算出②
,, $
VSfS m
[ f9 ai d:-; F8 ,,
[ f9 ai d:.; C8 ,, ? ”
_Sfd[jPF)C j8 ,, ? ” u r v
h UfadPF k8 ,, ” u r v
,, ? ”
[ f9 ai d:-; FR i8 ,,
_Sfd[jPFR i) C jR i8 ,,? ” u r v
n
bSdS_ f de m
d S S bZS8 ,, (
h UfadPC T fS8 ,, r
d S 9 ai d:-; e[Y_S8 ,,
,, k r
h UfadPFR i kR i8
n
_aV m
k o ad_S %S bZS ( j T fS) e[Y_S&8
,,
kR i o ad_S %S bZS ( j T fS) e[Y_S&8
n
_aV で算出する方法