おすすめ書籍

複雑な統計モデリングに便利!Stanの勉強法とオススメ本!

PC
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、統計モデリングに重要なプログラミング言語「Stan」の勉強法について見ていきます!PythonとRと同時に勉強することでStanによる複雑なモデリングをカンタンに実装することができますよー!

こんにちは!

データサイエンティストのウマたん(@statistics1012)です!

大学院時代は統計学を専攻しており、ベイズ統計学などの研究をおこなっていました。

ベイズ統計学を実装する時に非常に便利なのが、Stan。

普段解析を行う時はRやPythonで良いのですが、ベイズで複雑なモデリングを行うとなるとStanの出番になるんです。

この記事では、どんな時にStanが必要なのか、Stanの勉強方法とオススメ本についてまとめていきたいと思います。

ウマたん
ウマたん
Stanはなかなかリファレンスが少なくて勉強しづらいんだよねー!

どんな時にStanが必要なの?

Stanは、統計モデリングを得意とします。

統計モデリングとは、データの構造を数式で明示的に表すこと。

よく使われる重回帰分析も一般線形モデルの1つなんですよー!

統計モデリングについてもっと詳しく知りたい方は以下の記事をご覧ください!

統計モデリングとは何か?線形モデルから階層ベイズまでを徹底解説当サイト【スタビジ】の本記事では、データを分析する上で非常に重要な統計モデリングという考え方についてまとめていきます。機械学習手法を使えばノンパラメトリックに解析できますが、もし背後に存在する分布を統計モデリングにより正しく推定できたなら爆発的な威力があるんです。...

単純なデータ構造で単純な統計モデリングで済むのであれば特にStanを使う必要はありません。

RやPythonで十分です。

ただ、分布のパラメータのさらに分布を考えるような複雑な統計モデリングになるとRやPythonだと面倒です。

そこで必要になるのがStanなのです。

Stanの勉強方法とオススメ本

StanはRやPythonなどの言語に比べるとリファレンスが少なく勉強しづらいんです。

大学院当時は、なかなか分かりやすい文献等がなく勉強するのに苦労しました。

しかーし、めっちゃ分かりやすい本が2016年に登場したおかげで学習効率が上がりました。

Stanをどのような手順で勉強していけばよいか見ていきます。

まず統計モデリングについて基礎を固める

正直Stanは手段であり、目的は複雑な統計モデリングを行うことです。

さらに言うと複雑な統計モデリングを行うことすら手段であり、本来の目的はデータ構造を明らかにすることですね。

Stanを学習する前に、統計モデリングについて勉強しておく必要があります。

色んなところで紹介されている超有名本ですが、以下の本さえ読んで理解しておけば概ね大丈夫です。

ちなみに本書では、StanではなくWinbugsという言語が用いられていますが、Stanの方が汎用性が高く分かりやすいのでStanを使うことをオススメします。

RかPythonを使えるようにする

基本的にStanを実行する上ではRやPythonを使います。

RやPythonに組み込まれたパッケージを使ってあげればオーケーです。

Rの場合はRstan、Pythonの場合はPystanというパッケージが用意されています。

RやPythonは以下の記事にオススメ本をまとめているので合わせてご覧ください!

R Pythonの本
厳選10冊!データ解析(R・Python)の勉強におすすめな本当サイト【スタビジ】の本記事では、PythonとRを勉強するのにおすすめな書籍を徹底的にまとめていきます!書籍だと続かない・・・という人のために書籍以外の勉強法についても紹介していきますのでぜひチェックしてみてください!...

Stanの勉強を行う

統計モデリングとRもしくはPythonの勉強が終了するとやっとStanの勉強に入れます。

先ほどもStanはあまりリファレンスがないので勉強しづらいとお伝えしましたが、以下の書籍は非常にStanについて分かりやすくまとめられているのでこちらさえ読んでおけばある程度理解できると思います。

本で書かれているモデリングを実際に手を動かしながら学んでいきましょう!

created by Rinker
¥3,300
(2020/11/25 00:55:01時点 Amazon調べ-詳細)

この本を一読すればある程度Stanを使いこなせるようになると思います。

ちなみに以下の書籍もStanを勉強するのにオススメです。

こちらは、MCMCに関して詳しく記述されている他、Stanに関する実装例も載っていて先ほどのStanとRでベイズ統計モデリングを深めるのにもってこいです。

ただ、少し後半が難解です。

PythonとStanを学びたいなら書籍はあまり良いものがないんです。

PythonとStanを学びたいなら以下のUdemy講座がめっちゃオススメです!

【PythonとStanで学ぶ】仕組みが分かるベイズ統計学入門

Udemy コース PythonとStan
【オススメ度】
【講師】企業の研究者・開発者
【時間】11.5時間
【レベル】中級~上級

もし複雑な統計モデリングベイズ統計学に興味があるなら必須のコースです。

僕自身、大学院時代ベイジアンだったのですがベイズ統計学って奥が深くて難しいくせに教材が少ないんですよー!!

基本的なベイズの知識から階層ベイズさらに状態空間モデルまで広範に学ぶことができます。

ベイズの領域で理解に苦しむMCMCの分野も概念とPythonでの実装を同時に行ってくれるので非常に分かりやすい!

\30日間返金無料/

Stan まとめ

Stanは統計モデリングに非常に便利な言語です。

ただあまりリファレンスがないので習得するのに少し苦労する言語でした。

ここで紹介したStanとRでベイズ統計モデリングの登場はStanの学習効率を大きく変えました!分かりやすい!

もしStanに関して少しでも気になる方がいれば是非読んでみてください!

Stanは単独で実装するのではなくPythonやRと一緒実装すべきです。

圧倒的おすすめのPythonを勉強するなら以下の記事をチェックしてみてください!

Python 勉強
【入門】初心者が3か月でPythonを習得できるようになる勉強法!当ブログ【スタビジ】の本記事では、Pythonを効率よく独学で習得する勉強法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...
Pythonを初学者が最短で習得する勉強法

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!