【初心者向け】「Pythonでベイズ統計」を学ぶ教材【1冊+1動画+α】


本記事では「Pythonでベイズ統計を実行したいけど、難しくてよくわからない。オススメの学習教材はありますか?」という疑問にお答えします
- 書籍で学ぶなら「Pythonによるベイズ統計モデリング〜PyMCでのデータ分析実践ガイド」がオススメです
- 動画で学ぶなら「【PythonとStanで学ぶ】仕組みが分かるベイズ統計学入門」がオススメです
この記事の信頼性
この記事を書いているボクは、普段はRとStanまたはJAGSでベイズ統計を活用しています。
またこの前、某国際誌にベイズ統計(RとStan)を使った研究論文が採択されました。
他にもいくつか国内外の学術誌にベイズ統計を活かした研究論文を投稿中です。
話題のPythonにも興味があって、ちょっと前から少しずつですけども勉強しています。
そこで今回は、ボクと同じように「Pythonでベイズ統計を使ってみたい」という初心者向けにオススメの教材を紹介します。
Pythonとベイズ統計をサクッと解説!
本題に入る前に「Pythonってなに?」「ベイズ統計ってなに?」という読者のために、ちょー簡単に解説しておきます。
ベイズ統計は活用できると何かと便利なので、よくわからない人でもはさくっと理解しておくだけでもとりあえず有益です。
Pythonやベイズ統計以前に「統計ってなに?」という人は以下の記事で紹介した書籍を一通り読むとよいです。

Pythonは人気のプログラミング言語
Pythonは世界的にとてもよく活用されているプログラミング言語の一種で、統計解析、機械学習、人工知能などの分野で実運用されています。
ぼくがPythonに興味をもった理由の1つに「将来性が高そう」というのがあります。
例えば、Dropbox、Instagramなどの身近なツールがPythonで開発されていまして、今後もぼくたちの生活を変える可能性をもったプログラミング言語じゃないかと思ったわけです。
とはいえ、ぼくはまだ学習の途中なので、エラそーなことは何もいえないですけども。
Pythonそのものはudemyで勉強しており、そのうちボクの研究でも実運用できたらなぁと考えています。
以下は初心者でも理解しやすかったので、これからPythonを学びたい人にはオススメです。

なお、Rについては以下の記事で紹介しています。
「難しいそうだなぁ」と感じる人は、こういう領域に挑戦する価値を共有していただければ、難しくてもやってみる価値があるとご理解いただけるかと思います。
ベイズ統計はとても柔軟なアプローチ
ベイズ統計は結果から原因を予測するものであり、ベイズ推定法でさまざまな統計モデルを使って現象の予測と解釈を行います。
ちょー簡単に言うと、推定法はデータに対して統計モデルを当てはめる方法です。
これにはベイズ推定法の他に、最小二乗法、最尤推定法などがあって、「最初二乗法→最尤法→ベイズ」の順に柔軟さがアップします。
推定法にはそれぞれ一長一短あるので、目的と状況に応じて使い分ければよいのです。
ベイズ推定は、柔軟に統計解析したいとき、階層モデルを使いたいときなどで活用します。
例えば、個体差や場所差を考慮したい、(統計モデルを前提にする限りにおいて)研究仮説が正しい確率を知りたい、先行研究で明らかになっている推定値を活用したい、などのときにとても役立ちます。
こういうことは、他の推定法ではできない、あるいは部分的にしかできない、です。
ある程度自由にやりたければ、ベイズ統計を活用するしかないです(もちろん、いろいろ限界もあります)。
ベイズ統計については、以下の記事でオススメの書籍を紹介しました。

Pythonでベイズ統計を学ぶ教材
ここから本記事の主題です。
Pythonでベイズ統計を学べる教材でオススメは以下の2つです。
買って損しない本:Pythonによるベイズ統計モデリング〜PyMCでのデータ分析実践ガイド
Pythonでベイズ統計を使うツールの1つにPyMC3があります。
本書はPyMC3を活用しながらベイズ統計モデリングの概念、統計モデルの構築、モデル比較などについて一通り学ぶことができます。
本書で示されたコードを実際に打って試行しながら読み進めるとできることが増えると思います。
また、数式はほとんどなく、図表が豊富なので理解しやすいです。
ただし、Pythonの説明はほとんどないので、前もってPythonの基本的なところは予習しておくとよいかと。
そう言うと人によっては「たいへんそうだ」と思うかもしれません。
でもきちんと習得しておくと、いろんな分野に応用がきくスキルなので、実際のところ学習コストは低いです。
買って損しない動画:【PythonとStanで学ぶ】仕組みが分かるベイズ統計学入門
Pythonでベイズ統計を使うもう一つのツールはStanです。
Stanは統計モデリングに特化した確率的プログラミング言語の一種で、Rで使うときはRstan、Pythonで使うときはPystanと呼びます。
PystanはPythonからStanを使うものであり、文法はStanにしたがっています。
この動画は、Pystanを使ったベイズ統計を学ぶことができます。
けっこう至れり尽くせりで、Pythonの経験がない人には無料の補講がありますし、ベイズ統計を基礎から応用までしっかり学ぶことができます。
本動画のPyStanで扱う内容はグラフィカルモデル、単/重回帰、ロジスティック回帰、階層ベイズ、状態空間モデルなどでかなり豊かです。
知識の理解とPythonで実装というループを回すので、実際にコードを書き写しながら学んでいくと理解が深まります。
動画は11時間があるので、ぼくは1.75倍速で視聴し、興味をもったところを1倍速から1.5倍速でじっくり聞くようにしました。
そうすると効率的に学ぶことができます。
普段はRユーザーのボクが聞いてもそこそこ理解できたので、これからPythonでベイズ統計やりたい人にはオススメです。
以下の記事でこの動画をがっつり本気でレビューしているので、ぜひお読みください。

ぼく自身の経験でも数十時間の勉強でできることが以前よりも増えたので、コスパよいです。
「自分には難しすぎるかも」と躊躇する人も、30日間返金保証がありましてその間は実質無料ですから、まずはお試ししていただけたらと思います。
まとめ:【初心者向け】「Pythonでベイズ統計」を学ぶ教材【1冊+1動画+α】
これから何かに挑戦するには、データサイエンスはたいへん魅力的です。
- 書籍で学ぶなら「Pythonによるベイズ統計モデリング〜PyMCでのデータ分析実践ガイド」がオススメです
- 動画で学ぶなら「【PythonとStanで学ぶ】仕組みが分かるベイズ統計学入門」がオススメです
その際、ベイズ統計はスキルとしてみにつけるべしです。
さらに将来性を考えると、これからやりはじめるならPythonがオススメです。
本記事で紹介した教材を使って、皆さん自身も学んでいってください。