趣味でpyroを書きました。


もともとstanという言語を使ってて、pythonに移行したくなったためです…(pystanも使ってた)


動かすまで結構ハマってしまいました。


 ハマった点

SVIの挙動。自分は勾配ベースではなく、MCMCを主に使ってたので、全然収束せず戸惑いました。


plateの挙動。ベイズの学習モデルが条件的確率であることを鑑み、学習途中で条件付き独立性を保証する方法。(普段あまり意識していなかった)


事前分布やガイドのコードがstanに比べて長い。(stanでは数文字で書けることが、何行にも…)


しっかりとstanの結果を再現できたので、これから頑張りたいと思います!