StatModeling Memorandum

StatModeling Memorandum

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

『ベイズ統計モデリング ―R,JAGS, Stanによるチュートリアル 原著第2版―』 John Kruschke著、前田和寛・小杉考司監訳

タイトルの本を頂きました。ありがとうございます。僕は原著を少し読んだことがあり、こちらで非常に評判が高い本です。翻訳にもかかわらず原著とほぼ同じ値段で購入できます。

先にJAGSになじみのない方へ説明しておきますと、JAGSはRコアメンバーの一人でもあるMartyn Plummer氏によってC++で開発されたMCMCソフトウェアです。Rから使うのが多数派ですが、PythonからもPyJAGSによって使うことができます。

複雑なモデルでなければStanより収束が早く、離散値をとるパラメータも使えるため、プログラミングがそんなに得意でない人がベイズ統計モデリングをはじめるには一番向いていると思います。最近、再び活発に開発され始めたようで、先日JAGS 4.3.0がリリースされました。

RからのJAGSの使い方としては、hikaru1122さんの記事がよくまとまっていてオススメです。 hikaru1122.hatenadiary.jp

特長

一言で言えば「ベイズ統計モデリングチュートリアル」としてオールインワンとなっている本です。

方向性が類似している和書は、豊田秀樹(2016)『はじめての統計データ分析』です。すなわち、伝統的な統計分析(t検定・分散分析、ロジスティック回帰などの一般化線形モデル)をすべてベイズ統計で焼きなおしていきましょうという方向性です。理論だけでなく、きちんとソースコード(R,JAGS,Stan)の解説もついています。さらに階層ベイズモデルやモデル比較についても章を割いて丁寧に説明しています。

しかし、そういう発展的な話題だけでもないのです。本の前半では、確率とは何か、条件付き確率・同時確率・独立、ベイズ統計の初歩についても説明しているほか、Rの基本、MCMCの基本(数式が多く割と難しめ章ですが竹林先生の訳がいい感じです)、BUGS/JAGSの基本(これまでの和書にはほとんどない情報!)、Stanの基本と、「チュートリアルとしてはこの本さえ読めば他は読まなくていい」というぐらいのオールインワンとなっています。そりゃそこまでやれば770ページになるし、鈍器にもなります。『はじめての統計データ分析』は比較的コンパクトにまとまっているために、初学者にとって本当に「はじめて」と言えるのか疑問な箇所がいくつかありましたが、この本はそのページ数を見ても分かる通り、手取り足取り非常に丁寧で「チュートリアル」のサブタイトルに偽りありません。

一点、類書と異なり注意を要する点は、この本ではベイズ信頼区間(信用区間, 確信区間)の定義として、両端からα/2%ずつ切って定義する方法ではなく、ほぼすべてで最高密度区間(Highest Density Interval; HDI*1)を使っている点です。こだわりと思います。HDIの方が都合の良い場合もあって、本には例として、峰が離れた二峰の事後分布になった場合に、区間が2つになって直感的に解釈できるとあって、なるほどと思いました。

また、この本は図もとても豊富で充実しています。特に以下のようなモデルの図が頻繁にあって分かりやすいです(この図は原著者の以下のブログ記事からの引用です http://doingbayesiandataanalysis.blogspot.jp/2015/12/lessons-from-bayesian-disease-diagnosis_27.html)。

f:id:StatModeling:20201106165942p:plain

書籍にはこのような可視化のコードも解説があります。しかし、ソースコードGitHubで管理されているわけではなく、以下のサイトからダウンロードするようです。

Doing Bayesian Data Analysis - Software, with programs for book

読者の方が非公式に更新しているリポジトリはあるようです。

GitHub - boboppie/kruschke-doing_bayesian_data_analysis: John K. Kruschke's Doing Bayesian Data Analysis: A Tutorial with R and BUGS

このあたり、訳書の方にも演習の答え(日本語)や図を含めたリポジトリがあるいいなぁと思いますが、どうでしょうか。期待しましょう。

数少ない不満点は、教養のある原著者で洋書にありがちな、流れを妨げる(理解に時間を要する)オヤジギャグ部分がたびたびあること。僕が訳者なら、原著者に「この部分、通じない可能性が高いのでカットしていいですか?」とか問い合わせてカットを試みたいです。まぁ、オヤジギャグが好きな読者もいるので、好みの問題かもしれません。

翻訳について

最近この手の技術関連の翻訳本を読む際に真っ先に調べることがあります。それは訳者の背景・経歴・アウトプットです。いわゆるプロ訳者の方でも、技術の鍛錬を怠っていると、日本語としては読みやすくとも不思議なことに中身がピンとこない翻訳になるのです。普段からその技術を追っていない(or使っていない)ために、「パッケージの方向性」、「著者の熱意がある部分」、「現実の問題への使われ方」などをよく理解できていないからだと思います。結果的にシャープでない曖昧な訳になります。その点、この本の訳者は数多くいますが、実際に自分たちの研究論文を書くために「ベイズ統計モデリング」を理解し使っている人々なので、曖昧な訳で逃げているような箇所はいまのところほとんど見当たらなかったです(オヤジギャグ部分はちょっとつらそうですが…)。また、訳語やトーンもほぼ一貫しており、監訳者二人の厳しい努力が垣間見えます。

*1:Highest Posterior Density Interval; HPDIという用語もあります