おすすめ書籍

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

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

こんにちは!

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

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

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

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

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

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

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

Stanとは?

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

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

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

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

https://toukei-lab.com/%e7%b5%b1%e8%a8%88%e3%83%a2%e3%83%87%e3%83%ab

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

RやPythonで十分です。

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

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

ロボたん
ロボたん
少しでも実装が楽になるなら使った方がいいな!
ウマたん
ウマたん
そうだね!それじゃあ、勉強方法を見ていこう!

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
(2024/03/28 09:41:28時点 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独学勉強法
【Python独学勉強法】Python入門を3ヶ月で習得できる学習ロードマップ当サイト【スタビジ】の本記事では、過去僕自身がPythonを独学を駆使しながら習得した経験をもとにPythonを効率よく勉強する方法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...

ちなみにPythonや統計学・機械学習について網羅的に学ぶのであれば当メディア運営のスタアカが本当にオススメです!

ぜひチェックしてみてください!

スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら