PyMC:Pythonのベイズ統計ライブラリ

ベイズ統計を勉強するにあたって、本格的にPyMCを使ってみようと思い始めた。
PyMCを知ったきっかけは、前にも書いた通りこちらの資料↓
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない

ということで、PyMCについて調べ始めた。

PyMCとは?

PyMCは、マルコフ連鎖モンテカルロ法を含むベイズ統計モデルとフィッティングアルゴリズムを実装したPythonモジュールです。柔軟性、拡張性が高く、多くの課題に適用できるでしょう。PyMCには、コアとなるサンプリング機能に加えて、出力、プロット、適合度や収束診断を行うための機能が備わっています。



GitHub上の洋書(?)「Probabilistic Programming and Bayesian Methods for Hackers」(プログラマーのための確率プログラミングとベイズ推定)の冒頭を翻訳した記事を見つけた。この本の「計算機を使って理解する」というポリシーが今のオイラにあってる気がする。(数式から入るの苦手)

プログラマーのための確率プログラミングとベイズ推定

ベイズ推論の入門書である本書「プログラマーのための確率プログラミングとベイズ推定」は, 計算機を使って理解することを優先しており,数学的な理解はその次である. もちろん入門書によくあるように,数学は説明しない場合もある(入門書なのだから). 十分な数学の知識がある読者は,数学に重点をおいている他の書籍を読んで好奇心を満たして欲しい. 数学の知識には自信がないが興味のある読者や, 数学には興味はなくベイズ推論の実践的な知識を得たい読者には,本書は最適で楽しめるはずである.

有志による日本語訳もまだあんまり進んでないみたいで、今から読むなら日本語訳に協力するぐらいの気持ちの方が良いのかも。

GitHubのページはこちら↓
https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers

どうやら、この本はiPythonのNotebook形式というものを利用しているようで、Webページ上で実行結果まで見れるようになっている。

追記:日本語訳の書籍が出た。
Pythonで体験するベイズ推論 PyMCによるMCMC入門

iPythonって、名前だけは聞いたことがあったけど、これを機にちょっと調べてみた。

iPythonとは?

Pythonを対話的に実行するためのシェルである。オリジナルのPythonと比較して、型推定を強化し、対話的実行のための文法を追加してあり、コード・ハイライティングおよびタブによる補完が行える。IPythonはSciPyパッケージの一部として公開されている。

これって、計算機科学系の人達の間ではもう常識なのかな。Webブラウザ上で対話的にpythonのコードが実行可能で、コード、コメント、図を含む出力結果を計算ノートみたいに表示できるらしい。
参考:IPython Notebookとnbviewerを使ってみた

そして、これを公開する仕組みnbviewerというのがあるらしい。

また芋づる式に知らないことが増えたなぁ。

追記:現在は名称が変わり、iPythonでなはくJupyter

関連記事

OpenCV 3.3.0 contribのsfmモジュールの...

タマムシっぽい質感

Math Inspector:科学計算向けビジュアルプログラ...

OpenCVでiPhone6sのカメラをキャリブレーションす...

Seleniumを使ったFXや株の自動取引

BGSLibrary:OpenCVベースの背景差分ライブラリ

BlenderでPhotogrammetryできるアドオン

OpenCVの顔検出過程を可視化した動画

オープンソースの取引プラットフォーム

UnityでLight Shaftを表現する

Python拡張モジュールのWindows用インストーラー配...

3分の動画でプログラミングを学習できるサイト『ドットインスト...

Raspberry Pi 2を買いました

Iterator

C++の抽象クラス

3Dモデルを立体視で確認できるVRアプリを作っている

Open3D:3Dデータ処理ライブラリ

網元AMIで作ったWordpressサイトのインスタンスをt...

MythTV:Linuxでテレビの視聴・録画ができるオープン...

Google App EngineでWordPress

Accord.NET Framework:C#で使える機械学...

書籍『3次元コンピュータビジョン計算ハンドブック』を購入

ブログのデザイン変えました

スクラッチで既存のキャラクターを立体化したい

AmazonEC2のインスタンスをt1.microからt2....

UnrealCLR:Unreal Engineで.NET C...

hloc:SuperGlueで精度を向上させたSfM・Vis...

2D→3D復元技術で使われる用語まとめ

TensorSpace.js:ニューラルネットワークの構造を...

手を動かしながら学ぶデータマイニング

Google App Engineのデプロイ失敗

Human Generator:Blenderの人体生成アド...

AfterEffectsプラグイン開発

Google製オープンソース機械学習ライブラリ『Tensor...

頭蓋骨からの顔復元と進化過程の可視化

Math.NET Numerics:Unityで使える数値計...

UnityプロジェクトをGitHubで管理する

MPFB2:Blenderの人体モデリングアドオン

Raspberry Pi 2のGPIOピン配置

Verilog HDL

Raspberry PiのGPIOを操作するPythonライ...

BlenderのPython環境にPyTorchをインストー...

コメント