超要約 stan reference
DESCRIPTION
みどりぼん10回LTTRANSCRIPT
![Page 1: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/1.jpg)
自己紹介ステータス!
• @piroyoung
!
!
• 家具作りが好き
!
!
!
• 数学(ゲーム理論) → (物流 → 小売)→ データなんとか
装備!
• R → Python, SQL, VBA, Stan, Ruby,…F#
!
スキル・興味!
• アドテク系の商品企画・開発など
• NLP新参者
• ベイズスパイラル
1
![Page 2: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/2.jpg)
ノリと勢いがLTの決め手!
は表裏一体!
スベる♨ウケる
痩せる「行動経済学」
Piroyoung
![Page 3: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/3.jpg)
そんな知識持ってません!
![Page 4: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/4.jpg)
超要約 Stan Reference@piroyoung
数値計算をしないとモデリングは終わらないので.
![Page 5: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/5.jpg)
1.Stanを使おう
![Page 6: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/6.jpg)
Stan JagsNUTS-HMC Gibbs Sampling
if文あり 💀💀💀
行列演算あり 💀💀💀
vectorize 💥💀💀💀💥
商用並みのサポート(?) (笑)カッコいい 💀カッコ悪い💀
1.Stanを使おう
▲なかなかいいいい▲
▶︎初動はStanかなという感じ.
![Page 7: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/7.jpg)
2.みどりぼんでやったこと
![Page 8: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/8.jpg)
2.みどりぼんでやったこと
f(✓|Y ) =f(Y |✓)f(✓)Rf(Y |✓)f(✓)d✓
コレがあれば事後分布からサンプルとれるよ!
log f(✓|Y ) = log f(Y |✓) + log f(✓)� Z
![Page 9: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/9.jpg)
3.STANのモデル記法
![Page 10: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/10.jpg)
3.STANのモデル記法
log f(✓|Y ) = log f(Y |✓) + log f(✓)� Z
data{ !
} parameters{ !
} model{ !
}log f(Y |✓) + log f(✓)
✓
Y
![Page 11: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/11.jpg)
4.increment_log_prob
![Page 12: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/12.jpg)
4.increment_log_prob
対数事前密度・尤度を足し合わせて increment_log_prob()に渡す
![Page 13: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/13.jpg)
4.increment_log_prob
![Page 14: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/14.jpg)
4.increment_log_prob(データ追加)
観測値を増やしたければ どんどん各点対数尤度を足していく
![Page 15: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/15.jpg)
4.increment_log_prob(データ追加)
![Page 16: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/16.jpg)
4.increment_log_prob(データ追加)
繰り返し引数に渡すと,その和を以て 事後分布をサンプルしてくれる
![Page 17: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/17.jpg)
5.sampling statement
![Page 18: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/18.jpg)
5.sampling statement
increment_log_prob( xxx_log( p,param,…))!と
p~xxx(param,…)!は同値な表現だよ.xxxは分布の名前.
![Page 19: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/19.jpg)
5.sampling statement
![Page 20: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/20.jpg)
6.vectorize
![Page 21: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/21.jpg)
6.vectorize
increment_log_probにベクトル・配列を渡すと!
各成分を繰り返し渡すのと同じ挙動
このyはint型の配列.!
引数に高次元のベクトル・配列を渡すと!返り値も適切な次元で帰ってくれる.
![Page 22: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/22.jpg)
6.vectorize
![Page 23: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/23.jpg)
• increment_log_probを正しく理解しよう
• vectorizeを使おう
• Stan-Usersを活用しよう
• Tarzan 10月号買って健康になりましょう
7.まとめ・補足
![Page 24: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/24.jpg)
おまけ
![Page 25: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/25.jpg)
おまけ
何のモデルか,わかりますか?
![Page 26: 超要約 Stan Reference](https://reader034.vdocuments.mx/reader034/viewer/2022042518/558e2e691a28ab8e468b4656/html5/thumbnails/26.jpg)
おまけ
銀座の夜を定常分布で表現してみました.!銀座の夜をStanで彩る (完)