超要約 Stan Reference

26
自己紹介 ステータス @piroyoung 家具作りが好き 数学(ゲーム理論) (物流 小売)→ データなんとか 装備 R Python, SQL, VBA, Stan, Ruby,…F# スキル・興味 アドテク系の商品企画・開発など NLP新参者 ベイズスパイラル 1

description

みどりぼん10回LT

Transcript of 超要約 Stan Reference

Page 1: 超要約 Stan Reference

自己紹介ステータス!

• @piroyoung

!

!

• 家具作りが好き

!

!

!

• 数学(ゲーム理論) → (物流 → 小売)→ データなんとか

装備!

• R → Python, SQL, VBA, Stan, Ruby,…F#

!

スキル・興味!

• アドテク系の商品企画・開発など

• NLP新参者

• ベイズスパイラル

1

Page 2: 超要約 Stan Reference

ノリと勢いがLTの決め手!

は表裏一体!

スベる♨ウケる

痩せる「行動経済学」

Piroyoung

Page 3: 超要約 Stan Reference

そんな知識持ってません!

Page 4: 超要約 Stan Reference

超要約 Stan Reference@piroyoung

数値計算をしないとモデリングは終わらないので.

Page 5: 超要約 Stan Reference

1.Stanを使おう

Page 6: 超要約 Stan Reference

Stan JagsNUTS-HMC Gibbs Sampling

if文あり 💀💀💀

行列演算あり 💀💀💀

vectorize 💥💀💀💀💥

商用並みのサポート(?) (笑)カッコいい 💀カッコ悪い💀

1.Stanを使おう

▲なかなかいいいい▲

▶︎初動はStanかなという感じ.

Page 7: 超要約 Stan Reference

2.みどりぼんでやったこと

Page 8: 超要約 Stan Reference

2.みどりぼんでやったこと

f(✓|Y ) =f(Y |✓)f(✓)Rf(Y |✓)f(✓)d✓

コレがあれば事後分布からサンプルとれるよ!

log f(✓|Y ) = log f(Y |✓) + log f(✓)� Z

Page 9: 超要約 Stan Reference

3.STANのモデル記法

Page 10: 超要約 Stan Reference

3.STANのモデル記法

log f(✓|Y ) = log f(Y |✓) + log f(✓)� Z

data{ !

} parameters{ !

} model{ !

}log f(Y |✓) + log f(✓)

Y

Page 11: 超要約 Stan Reference

4.increment_log_prob

Page 12: 超要約 Stan Reference

4.increment_log_prob

対数事前密度・尤度を足し合わせて increment_log_prob()に渡す

Page 13: 超要約 Stan Reference

4.increment_log_prob

Page 14: 超要約 Stan Reference

4.increment_log_prob(データ追加)

観測値を増やしたければ どんどん各点対数尤度を足していく

Page 15: 超要約 Stan Reference

4.increment_log_prob(データ追加)

Page 16: 超要約 Stan Reference

4.increment_log_prob(データ追加)

繰り返し引数に渡すと,その和を以て 事後分布をサンプルしてくれる

Page 17: 超要約 Stan Reference

5.sampling statement

Page 18: 超要約 Stan Reference

5.sampling statement

increment_log_prob( xxx_log( p,param,…))!と

p~xxx(param,…)!は同値な表現だよ.xxxは分布の名前.

Page 19: 超要約 Stan Reference

5.sampling statement

Page 20: 超要約 Stan Reference

6.vectorize

Page 21: 超要約 Stan Reference

6.vectorize

increment_log_probにベクトル・配列を渡すと!

各成分を繰り返し渡すのと同じ挙動

このyはint型の配列.!

引数に高次元のベクトル・配列を渡すと!返り値も適切な次元で帰ってくれる.

Page 22: 超要約 Stan Reference

6.vectorize

Page 23: 超要約 Stan Reference

• increment_log_probを正しく理解しよう

• vectorizeを使おう

• Stan-Usersを活用しよう

• Tarzan 10月号買って健康になりましょう

7.まとめ・補足

Page 24: 超要約 Stan Reference

おまけ

Page 25: 超要約 Stan Reference

おまけ

何のモデルか,わかりますか?

Page 26: 超要約 Stan Reference

おまけ

銀座の夜を定常分布で表現してみました.!銀座の夜をStanで彩る (完)