Submit Search
Upload
StanとRでベイズ統計モデリング読書会Ch.9
•
Download as PPTX, PDF
•
10 likes
•
6,140 views
考司 小杉
Follow
Osaka.stan#5 2017.07.01 at KG Univ.
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 73
Download now
Recommended
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
Shushi Namba
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
Stanコードの書き方 中級編
Stanコードの書き方 中級編
Hiroshi Shimizu
Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)
itoyan110
Stanの便利な事後処理関数
Stanの便利な事後処理関数
daiki hojo
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
Stan勉強会資料(前編)
Stan勉強会資料(前編)
daiki hojo
Recommended
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
Shushi Namba
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
Stanコードの書き方 中級編
Stanコードの書き方 中級編
Hiroshi Shimizu
Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)
itoyan110
Stanの便利な事後処理関数
Stanの便利な事後処理関数
daiki hojo
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
Stan勉強会資料(前編)
Stan勉強会資料(前編)
daiki hojo
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
. .
あなたの心にBridgeSampling
あなたの心にBridgeSampling
daiki hojo
R stan導入公開版
R stan導入公開版
考司 小杉
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Masashi Komori
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
nocchi_airport
2 5 3.一般化線形モデル色々_Gamma回帰と対数線形モデル
2 5 3.一般化線形モデル色々_Gamma回帰と対数線形モデル
logics-of-blue
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー
Hiroshi Shimizu
MCMCでマルチレベルモデル
MCMCでマルチレベルモデル
Hiroshi Shimizu
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
順序データでもベイズモデリング
順序データでもベイズモデリング
. .
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
Shushi Namba
2 3.GLMの基礎
2 3.GLMの基礎
logics-of-blue
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
logics-of-blue
社会心理学とGlmm
社会心理学とGlmm
Hiroshi Shimizu
2 6.ゼロ切断・過剰モデル
2 6.ゼロ切断・過剰モデル
logics-of-blue
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
nocchi_airport
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Shushi Namba
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
sleepy_yoshi
続わかりやすいパターン認識7章
続わかりやすいパターン認識7章
Akiyoshi Hara
More Related Content
What's hot
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
. .
あなたの心にBridgeSampling
あなたの心にBridgeSampling
daiki hojo
R stan導入公開版
R stan導入公開版
考司 小杉
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Masashi Komori
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
nocchi_airport
2 5 3.一般化線形モデル色々_Gamma回帰と対数線形モデル
2 5 3.一般化線形モデル色々_Gamma回帰と対数線形モデル
logics-of-blue
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー
Hiroshi Shimizu
MCMCでマルチレベルモデル
MCMCでマルチレベルモデル
Hiroshi Shimizu
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
順序データでもベイズモデリング
順序データでもベイズモデリング
. .
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
Shushi Namba
2 3.GLMの基礎
2 3.GLMの基礎
logics-of-blue
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
logics-of-blue
社会心理学とGlmm
社会心理学とGlmm
Hiroshi Shimizu
2 6.ゼロ切断・過剰モデル
2 6.ゼロ切断・過剰モデル
logics-of-blue
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
nocchi_airport
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Shushi Namba
What's hot
(20)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
階層ベイズとWAIC
階層ベイズとWAIC
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
あなたの心にBridgeSampling
あなたの心にBridgeSampling
R stan導入公開版
R stan導入公開版
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
2 5 3.一般化線形モデル色々_Gamma回帰と対数線形モデル
2 5 3.一般化線形モデル色々_Gamma回帰と対数線形モデル
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー
MCMCでマルチレベルモデル
MCMCでマルチレベルモデル
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
順序データでもベイズモデリング
順序データでもベイズモデリング
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
2 3.GLMの基礎
2 3.GLMの基礎
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
社会心理学とGlmm
社会心理学とGlmm
2 6.ゼロ切断・過剰モデル
2 6.ゼロ切断・過剰モデル
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
StanとRでベイズ統計モデリング読書会 Chapter 7(7.6-7.9) 回帰分析の悩みどころ ~統計の力で歌うまになりたい~
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Similar to StanとRでベイズ統計モデリング読書会Ch.9
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
sleepy_yoshi
続わかりやすいパターン認識7章
続わかりやすいパターン認識7章
Akiyoshi Hara
[DL輪読会]Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Te...
[DL輪読会]Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Te...
Deep Learning JP
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
Deep Learning JP
第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場
Daisuke Yoneoka
文献紹介:EfficientDet: Scalable and Efficient Object Detection
文献紹介:EfficientDet: Scalable and Efficient Object Detection
Toru Tamaki
Similar to StanとRでベイズ統計モデリング読書会Ch.9
(6)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
続わかりやすいパターン認識7章
続わかりやすいパターン認識7章
[DL輪読会]Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Te...
[DL輪読会]Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Te...
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
第七回統計学勉強会@東大駒場
第七回統計学勉強会@東大駒場
文献紹介:EfficientDet: Scalable and Efficient Object Detection
文献紹介:EfficientDet: Scalable and Efficient Object Detection
More from 考司 小杉
Mds20190303
Mds20190303
考司 小杉
HCGシンポジウム2018;心理学における新しい統計学との付き合い方
HCGシンポジウム2018;心理学における新しい統計学との付き合い方
考司 小杉
HCG20181212
HCG20181212
考司 小杉
20180602kosugi
20180602kosugi
考司 小杉
Jap2017 ss65 優しいベイズ統計への導入法
Jap2017 ss65 優しいベイズ統計への導入法
考司 小杉
心理統計の課題をRmdで作る
心理統計の課題をRmdで作る
考司 小杉
日本教育心理学会2016WSスライド
日本教育心理学会2016WSスライド
考司 小杉
Kandai R 入門者講習
Kandai R 入門者講習
考司 小杉
学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)
考司 小杉
距離と分類の話
距離と分類の話
考司 小杉
続・心理学のためのpsychパッケージ
続・心理学のためのpsychパッケージ
考司 小杉
Hijiyama.R Entry session
Hijiyama.R Entry session
考司 小杉
MCMCによるベイズ因子分析法について
MCMCによるベイズ因子分析法について
考司 小杉
Mplus tutorial
Mplus tutorial
考司 小杉
家族データに対する非対称MDSの応用(2)
家族データに対する非対称MDSの応用(2)
考司 小杉
SappoRo.R #2 初心者向けWS資料
SappoRo.R #2 初心者向けWS資料
考司 小杉
Yamadai.R#3 Function
Yamadai.R#3 Function
考司 小杉
Yamadai.R #1 Introduction to R
Yamadai.R #1 Introduction to R
考司 小杉
Kenshu
Kenshu
考司 小杉
Yamadai.Rデモンストレーションセッション
Yamadai.Rデモンストレーションセッション
考司 小杉
More from 考司 小杉
(20)
Mds20190303
Mds20190303
HCGシンポジウム2018;心理学における新しい統計学との付き合い方
HCGシンポジウム2018;心理学における新しい統計学との付き合い方
HCG20181212
HCG20181212
20180602kosugi
20180602kosugi
Jap2017 ss65 優しいベイズ統計への導入法
Jap2017 ss65 優しいベイズ統計への導入法
心理統計の課題をRmdで作る
心理統計の課題をRmdで作る
日本教育心理学会2016WSスライド
日本教育心理学会2016WSスライド
Kandai R 入門者講習
Kandai R 入門者講習
学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)
距離と分類の話
距離と分類の話
続・心理学のためのpsychパッケージ
続・心理学のためのpsychパッケージ
Hijiyama.R Entry session
Hijiyama.R Entry session
MCMCによるベイズ因子分析法について
MCMCによるベイズ因子分析法について
Mplus tutorial
Mplus tutorial
家族データに対する非対称MDSの応用(2)
家族データに対する非対称MDSの応用(2)
SappoRo.R #2 初心者向けWS資料
SappoRo.R #2 初心者向けWS資料
Yamadai.R#3 Function
Yamadai.R#3 Function
Yamadai.R #1 Introduction to R
Yamadai.R #1 Introduction to R
Kenshu
Kenshu
Yamadai.Rデモンストレーションセッション
Yamadai.Rデモンストレーションセッション
StanとRでベイズ統計モデリング読書会Ch.9
1.
Chapter 9 一歩進んだ文法 StanとRでベイズ統計モデリング 解説するのは;小杉考司
2.
/71 自己紹介 • 小杉考司(こすぎこうじ)@kosugitti • 山口大学教育学部小学校コース心理学選修所属 •
専門;社会心理学,心理統計 2
3.
/71 お品書き • 9.1 Stanで利用できる変数の型とインデックス •
9.5 エラーとその対処法 • 9.2 ベクトル型の活用による高速化 • 9.3 ベクトル型・マトリックス型を使ったモデル • 9.4 型でパラメタに制約を入れる方法 3
4.
9.1 Stanで利用できる変 数の型とインデックス
5.
/71 9.1 型とインデックス • 大前提;「今からどういう変数を使いますよ」「パラメ ータはこんなですよ」をブロックの冒頭で宣言してから でないと使えない 5 BasicやRなどでは「事前通知」なしでいける親切?設計 CやC++など宣言が必要な言語の方が多い メモリの節約など機械にとってはこちらの方が安心
6.
/71 9.1 型とインデックス • 型;データやパラメータを扱う形式のこと •
スカラー,ベクトル,マトリックス・・・ • 多次元だと「配列」;X[n,m,l,k,...] 6 サイズ感が大事 (後述)
7.
/71 9.1 型とインデックス • 一次元の配列とベクトルはどう違うのか? •
二次元の配列とベクトルは何が違うのか? 7 どちらも与える データは同じ…
8.
/71 9.1 型とインデックス • 行の対応関係が保持される/セットとして受け付ける 8ざっくりあたえる
セットを与える
9.
/71 9.1 型とインデックス • ベクトル型/マトリックス型の利点 •
行列関数などが用意されているので高速化できる • 配列型の利点 • vectorが1次元,matrixが2次元に限定されているのに対し, 配列は自由 • int型ベクトルというのはない 9 intを書くところがそもそもない
10.
/71 変数の宣言例と解説 10 型の例 宣言例 説明 整数
int N 整数 実数 real Y 実数 整数の配列 int Y[N] N個ある整数 実数の配列 real Y[N,M,L] N×M×L個の実数からなる 配列 表9.1 上の部分
11.
/71 変数の宣言例と解説 11 型の例 宣言例 説明 ベクトル
vector[K] Y 1個の長さKベクトル ベクトルの配列 vector[K] Y[N] N個の長さKベクトル ベクトルの配列 vector[K] Y[N,M] N×M個の長さKベクトル 行列 matrix[J,K] X 1個のJ×K行列 行列の配列 matrix[J,K] X[N] N個のJ×K行列 表9.2 下の部分 1 2 3 4 5
12.
/71 変数の宣言例と解説 12 表9.2 下の部分 ・・・ ex)K個の質問に 答えるN人の回答者 ※個人の中でネスト されているのでベクトル として対応させた方が良い 1 2
13.
/71 変数の宣言例と解説 13 表9.2 下の部分 ・・・ M個の対象についてN人の人が K個の質問に答える ・・・ ・・・ ex)6項目(からい,スッキリ,コク…)で 3個の銘柄(キリン,アサヒ,サッポロ) を200人に評定してもらいます 3
14.
/71 変数の宣言例と解説 14 表9.2 下の部分 ex)誰が誰のことが 好きだと思うか,と いう調査をみんなに する 4 5
15.
/71 変数へのアクセス 15 表9.4 StanにおけるIndexの利用例 宣言例 宣言例
得られる型 real Y[3] Y[2] real Y[2:3] real[2] real Y[N,M,L] Y[n] real[M,L] vector[K] V V[k] real V[1:(K-1)] vector[K-1] vector[K] V[N] V[n] vector[K] V[n,k] real K K-1 注意
16.
/71 変数へのアクセス 16 表9.4 StanにおけるIndexの利用例 宣言例 宣言例
得られる型 matrix[J,K] X X[j] row_vector[K]X[j,] X[j,:] X[j,k] real X[,k] vector[J] X[1:2,1:2] matrix[2,2] matrix[J,K] X[N] X[n] matrix[J,K] J×K J J×K j,k ,k J×K 2×2
17.
/71 J×K アクセスの特徴(p.150) • vector[K] Vとint
Index[J] → V[Index] から vector[J] • Stanのmatrix型は列優先 • 並びに注意(K→L) • row_vectorへのアクセスはrow_vector型で 17 V … 個 V 注 J×K k ↓ J→ J→ J→ 行列演算をしなければ 扱うデータの形は同じ
18.
/71 9.1.3. RからStanに渡す時 • 基本的にlist型で渡した方がエラーには出くわしにくい •
あるいはRの配列array型 • data.frame型を渡してエラーになることも • サイズは合っているんだけど,型が合ってない(一次元配列 にdata.frameを渡しちゃった場合など) 18
19.
9.5 エラーとその対処法
20.
/71 9.5.1 int型のパラメータ • Stanの最大の弱点,それはint型のパラメータを宣言でき ないことである。 •
Stanのアルゴリズムに依る • 連続分布の勾配を使って効率の良いサンプリングを するアルゴリズムを採用しているから • JAGSはできる 20
21.
22.
今月中に出ます! Amazonで 予約受付中 ch14がStanの章
23.
/71 9.5.2 NAを渡せない • Stanの二番目の弱点,それは欠損値を渡せないこと •
コードを工夫してやれば問題ない • 縦長コードにしてna.omitし,完全なデータだけ渡す ようにする • NA部分にindexをつけてパラメータとして推定する • JAGSは自動的にパラメータと思って推定してくれる・・・ 23
24.
今月中に出ます! Amazonで 予約受付中 ch8がJAGSの章 ch7のMCMCも 読み応えありますよ
25.
/71 9.5 エラーとその対処 • 教えていて出てくるエラー/警告トップ3 25 バージョンあってません問題 このあと rstudioapiパッケージ ないよと言われるまでが ワンセット
26.
/71 9.5 エラーとその対処 • 教えていて出てくるエラー/警告トップ3 26空の14行目が要る=13行目の後ろで改行
27.
/71 9.5 エラーとその対処 • 教えていて出てくるエラー/警告トップ3 27 この中に三種類の間違いがあります どこでしょう?! C言語的にあり得へんエラー出てます問題
28.
/71 9.5 エラーとその対処 28 大文字と小文字 まさかの「1(いち)」 スペルミス!
29.
/71 9.5 エラーとその対処 29 正解一応ハイライトされてます
30.
/71 こんなエラーも • 文法的には間違えていない=コンパイルは通るが,サン プリングができない。 30
31.
/71 そのほかのエラー① 31 Macだと少し不親切・・・ セミコロン忘れちゃってますよ問題 忘れている次の行が検出される
32.
/71 そのほかのエラー② 32 Macだと少し不親切・・・ ない変数使いましたよ問題
33.
/71 そのほかのエラー③ 33 Macだと少し不親切・・・ 宣言していない変数使いましたよ問題
34.
/71 そのほかのエラー④と⑤ 34 整数型=離散型パラメータは Stanでは使えない Macだと少し不親切・・・ ベクトルのサイズを指定する 場所を間違えている
35.
/71 そのほかのエラー⑥ 35 Macだと少し不親切・・・ modelブロックで代入「=」を使った
36.
/71 そのほかのエラー⑦ 36 Macだと少し不親切・・・ intをintで割ってるよ問題 丸められますけど?と警告してくれている
37.
/71 警告など① 37 transformされたパラメータに対して サンプリングをさせると警告が出る (non-fatal)
38.
警告など② 初期値が却下されました (-2,2)の範囲で初期化 しようとしたけどさ ? stan坊や迷子問題
39.
/71 余談;MCMCのイメージ • MCMCサンプリングはパラメータが同時に成立する可能 性のある組み合わせをたくさんとってくること • 確率空間をstan坊やが走り回って値を持ってくるイメージ 39 同時確率空間 鎖1 鎖2 鎖3
40.
SAS小僧 vs Stan坊や
41.
/71 余談;MCMCのイメージ • 適当な広さでないと,坊やたちはど こまでも行ってしまって帰ってこな い • 適切に条件を定めてやらないと坊や たちはなんでも拾って来てしまう •
複雑な地形になると,坊やたちの探 す時間がかかってしまう 41 そのための宣言(上限・下限など) そのための事前分布
42.
警告など③ ・スケールパラメータが無限大になっちゃったよ 368回 ・位置パラメータが無限大になっちゃったよ 26回 ・スケールパラメータが0になっちゃったよ
1回
43.
9.2 ベクトル型の活用 による高速化
44.
/71 9.1 型とインデックス • ベクトル型/マトリックス型の利点 •
行列関数などが用意されているので高速化できる • 配列型の利点 • vectorが1次元,matrixが2次元に限定されているのに対し, 配列は自由 • int型ベクトルというのはない 44 intを書くところがそもそもない 再掲
45.
/71 ベクトル化の基本 • それはもう高速化はありがたいですよ。 • まずはベクトル化を考えず,読みやすくて動くコードを 書こう。それができてから,ベクトル化できるところは やっていく,という順番。 •
ベクトル化バージョンを作る際は「動く」バージョン も残しておこう! 45 model9-1.stan model9-2.stan
46.
/7146 model9-1.stan model9-2.stan Nの位置に注意
47.
/71 速さのひみつ 47 = = = = for文を書き下すと = N回の計算 1回の計算
48.
/71 速さのひみつ 48 realsはreal型,vector型,row_vector型,real型一次元配列を許す real型として受け取っている vector型として受け取っている !
49.
/71 normal_lpdfの引数の 型による挙動 49 yの型 muの型 sigmaの型
等価の表現 実数 実数 実数 y~normal(mu,sigma) ベクトル 実数 実数 for(n in 1:N) y[n]~normal(mu,sigma); 実数 ベクトル 実数 for(n in 1:N) y~normal(mu[n],sigma); ベクトル ベクトル 実数 for(n in 1:N) y[n]~normal(mu[n],sigma); ベクトル ベクトル ベクトル for(n in 1:N) y[n]~normal(mu[n],sigma[n]); 表9.6
50.
/71 ベクトル化していこう • ベクトル化はmodelブロックから考えていく 1. for文の中でサンプリングしているところを見つける 2.
マニュアルでベクトル化しているかチェック 3. dataやparametersブロックをベクトル化 50 9.2.2 ベクトル化の応用例-その1
51.
/7151 まずはここから for文が怪しい
52.
/7152 ベクトル化してみた .* は要素ごとの掛け算を行う演算子
53.
これでベクトル化できた⭐︎ それに合わせて 他のブロックも 変更する
54.
matrix型の宣言 Y mu to_vector関数 Y mu↓
↓ ↓ ↓ ↓ ↓ ↓ ↓ ベクトルとしてアクセスする model8-7b.stan exp/logなどベクトル化対応関数を使う技!
55.
9.3 ベクトル型の活用 による高速化
56.
/71 9.3 vector型・matrix型を使っ たモデル 56 多変量正規分布 共分散行列型 10.2.4弱情報事前分布 も参照のこと
57.
/71 応用的な変数の型 • cov_matrix, corr_matrix型 •
分散共分散型,相関行列型 • 正定値行列(全ての固有値が正)を仮定している • cholesky_factor_cov, cholesky_factor_corr型 • 共分散/相関行列をコレスキー分解したもの。 57 Cov/R 正方・対称行列 正方なのでサイズ 指定は一つでOK Cov/R = L L’
58.
/71 • 行列はサイズ感が大事 58 = 同じであること 出来上がりは外側 • 行列の積のルールとサイズ感 行方向
列方向 =
59.
/71 行列を使って考えましょう • 重回帰分析を行列表現する 59 Y = b0 X1
X2 X3 b1 b2 b3+ + + = b0 b1 b2 b3 X1 X2 X3 1 1 1 1 1 行列計算の基礎 = 同じであること 出来上がりは外側
60.
/71 行列を使って考えましょう 60 の行列 のベクトル のベクトル ベクトル化された表現 行列のサイズ感
61.
9.4 型でパラメタに 制約を入れる方法
62.
/71 9.4 型でパラメータに制約を • MCMCサンプリングはパラメータが同時に成立する可能 性のある組み合わせをたくさんとってくること •
確率空間をstan坊やが走り回って値を持ってくるイメージ 62 同時確率空間 鎖1 鎖2 鎖3
63.
/71 9.4 型でパラメータに制約を 63 鎖1 鎖2 鎖3 upper lower <lower=0,upper=1> などで上限・下限を制約 ordered/simplexなどで 持ってくるものを制約
64.
/71 9.4 型でパラメータに制約を • simplex型は「0から1の範囲」で「合計が1」なので確率 とみなせる •
categorical分布のパラメータなどで使う • unit_vector型は各要素の二乗の合計が1の単位ベクトル • ordered型は要素が小さい順に並ぶベクトル • positive_ordered型は各要素が正のordered型 64
65.
/71 9.4 型で制約出来ない場合 • 「0から1の範囲」で大きい順に並べたい •
ordered型で「順に並べる」を考える • transformed parametersでinv_logitし「0から1の範囲」を達 成しつつ,順を逆転する 65
66.
/71 9.4 型で制約出来ない場合 • 切断されたような分布の場合 •
upperやlowerで切るだけ • 分散の事前分布には半コーシーや半t分布を使いますよね 66
67.
/71 9.4 型で制約出来ない場合 • 等式を満たすパラメータ •
長さNのベクトルで合計が特定の値になってほしい • ex)分散分析をモデリングする場合,効果の大きさは水準を全て足 し合わせると0になる(水準の効果は平均からの偏差として表す) 67 N-1まではコピー N番目で帳尻を合わせる
68.
今月中に出ます! Amazonで 予約受付中 分散分析的モデリングは ch20を見てね!
69.
/71 9.4 型で制約出来ない場合 • 不等式を満たすパラメータ •
長さNのベクトルで合計が特定の値以上になってほしい 69 N-1まではコピー N番目で帳尻を合わせる 下限を設定
70.
/71 9.4 型で制約出来ない場合 • 不等式を満たすパラメータ2 •
にしてほしい 70 • transformed parametersで宣言・定義した変数に制約をか けるとサンプリング効率が著しく低下する • 適切な変換を見つける • ex)Box-Mueller変換
71.
/71 9.4 型で制約出来ない場合 • 不等式を満たすパラメータ2 •
にしてほしい 71 • 条件に合わなければrejectしたり,負の無限大を加えるな どして必要なところだけ取り出すこともできる
72.
/71 • 9.1 Stanで利用できる変数の型とインデックス •
9.5 エラーとその対処法 • 9.2 ベクトル型の活用による高速化 • 9.3 ベクトル型・マトリックス型を使ったモデル • 9.4 型でパラメタに制約を入れる方法 72
73.
今月中に出ます! Amazonで 予約受付中 Enjoy Modeling and Stan!
Download now