StatModeling Memorandum

StatModeling Memorandum

StanとRとPythonでベイズ統計モデリングします. たまに書評.

Michael Betancourt's Stan Lectureを開催しました

ドワンゴさんに会場提供していただき、2016/6/4にMichael Betancourt's Stan Lectureを開催しました。実はStanの勉強会というのはこれがはじめてではなく、約2年ほど前に催されていたBUGS/Stan勉強会がもととなっています。

また今回はニコ生で放送したのですが、400人以上の視聴者がいたのは驚きました。この内容で、しかも英語なのに。欲を言うともっと会場にも来てほしかったです。当日の進行は少し前倒しになり、そのために閲覧できなかった方には申し訳ありませんでした。動画を公開しますのでお許しください。

以下では内容を簡単に紹介します。

Hiroki ITO "Dealing with latent discrete parameters in Stan"

一人目は頼み込んで北海道から(自腹で)来てくれました伊東宏樹さんです。動画は次の僕の分と合わせて以下になります。

スライドは以下です。

講演のもととなっているのは、伊東さんが一部翻訳された以下の本です。 講演の内容は前半が「data augmentation」、後半が「隠れマルコフモデル」です。ここでは「data augmentation」の説明を簡単にします。

ある調査地で生物の個体をカウントすることを考えます。1回目は30匹いたとしましょう。その30匹に印をつけてまた放します。別の日に同じ調査地でまた生物の個体をカウントします。前に印をつけた個体も含まれていることでしょう。このようにカウントを複数回行なったデータがあるとします。その調査地に存在しないかつ複数回の観測で一回も発見されなかった仮想的な個体のデータを十分に加え(data augmentation)、「その調査地にそもそも個体が存在する確率」と「観測時に(カウント時に)発見する確率」を切り分けてモデリングします。すると、それらの確率を推定できるだけでなく、その調査地における総個体数も見事に推定できます。この考え方はとても柔軟で応用範囲が広く、上記の本の見どころの一つとなっています。個人的には上記の本で一番感動した部分です。

上記の本はBUGSの本ですが、伊東さんがすべてStanコードに翻訳し、Stanの公式リポジトリにpushされています。 github.com 上記リンク先のCh.06のフォルダが「data augmentation」の初出の章になっています。

Kentaro Matsuura "Replica exchange MCMC with Stan and R"

スライドは以下です。

詳細のブログ記事は以下です。 statmodeling.hatenablog.com 質問の答えをここで補足します。simulated annealingでは最適値を求めますが、Replica exchange MCMCでは分布を求めることができます。それが大きな違いです。

Michael Betancourt "Scalable Bayesian Inference with Hamiltonian Monte Carlo"

動画は以下になります。

前半のTall data, Wide dataの概論から多数のパラメータをもつモデルでも効率的にサンプリングできるHMCについて話をすすめていきます。HMCでは仮想的に運動量を導入するのですが、この部分は参加者のxiangzeさんの記事が詳しいです。 xiangze.hatenablog.com NUTSはHMCの説明で出てきた各パラメータを自動で調節するアルゴリズムです。その詳細はHMCで脱落するぐらい人達にはムズすぎるのでカットされた模様です。また、最後の方にReplica exchange MCMCにあわせてかAdiabatic Monte Carlo (arXiv)を紹介していただきました。

Michael Betancourt "Some Bayesian Modeling Techniques in Stan"

動画は以下になります。

線形モデル・GLMから階層モデルまで丁寧な説明でした。後半では「centered vs. non-centered parameterization」の話が面白かったです。centeredは普通の階層モデルで、non-centeredはスケールを分離するような再パラメータ化をしたモデルです。詳しくは動画やStanのJSS論文を見てください。

StanのJSS論文から一部引用します。

Betancourt and Girolami (2013) provide a detailed analysis of the benefits of centered vs. non-centered parameterizations of hierarchical models in Euclidean and Riemannian HMC, with the conclusion that non-centered are best when data are sparse and centered when the data strongly identifies coefficients.

しかしながらデータのスパースネスを判定する方法は一般には難しいので、推奨は以下のようになるでしょう(JSS論文からの引用)。

We recommend starting with the more natural centered parameterization and moving to the non-centered parameterization if sampling of the coefficients does not mix well.

また、とりあえず全部centeredにしておいて、ある階層だけ・あるグループだけ部分的にnon-centeredにするとよい場合も考えられるそうです。とても勉強になりました。

最後に、会場&ニコ生を手配していただいたSAMさんとドワンゴさん、司会や受付をしてくれた若者たち、伊東さん、Michael Betancourtさん、本当にありがとうございました!

f:id:StatModeling:20201106191426j:plain