python
TL;DR 最近出版された「Bayesian Analysis with Python - Second Edition」への序文をPyMC3のコア開発者であるThomas Wieckiがブログ記事で書いていたので翻訳してみました. 「Pythonによるベイズ統計モデリング: PyMCでのデータ分析実践ガイド」という訳書…
UberのAIラボがPyroという深層学習+ベイズのPythonライブラリを発表したブログ記事をサマリ翻訳してみた. 2017年11月の記事で若干古いが, 他にPyMC4やTFP(Tensorflow Probability)などのライブラリがある現状, Pyroがどのようなポジショニングをしているか…
目標ややりたいことは書き留めたり人に宣言した方がいいらしいので、改めてまとめてみた。 TL;DR 一言でいうと ベイズ x python x 金融 の3つに関連することだけやっていくつもり(`・ω・´) 基本方針として Focus(選択と集中) にこだわって、 やること も…
3.3 背景知識の役割 背景知識を活用することで内部構造がブラックボックスな問題(逆問題: inverse problem)を解く手がかりとなる. 逆問題の回答は何通りもあり得, 答えが一意に定まらない問題は不良設定問題(ill-posed problem)と呼ぶ. データを活用して…
3.1 データ解析の前準備 このあたりのデータ前処理(Data Preparation)のプロセスは一般的なものなので特に深入りしない. データの分布を可視化して確認する点は機械学習のEDA(Exploratory Data Analysis)のプロセスでも重要とされているが, 多くの統計モ…
2.4 ベイズ推定とMCMC 伝統的な統計学の手法や最尤推定の問題を解決する一つの手法がベイズ推定(Bayesian inference)とマルコフ連鎖モンテカルロ法(MCMC). ベイズ統計 パラメータを確率変数とみなして確率分布を推定する(伝統的な統計学の点推定と異な…
はじめに この本はStan(スタン)というソフトウェアとそのR用のパッケージであるRStan(アールスタン)を使って, 統計モデリングを習得する本である イントロで書籍の目的や内容や流れ, 前提知識や対象読者が記載されていたいりするので意外と大事です. ま…
はじめに この本はStan(スタン)というソフトウェアとそのR用のパッケージであるRStan(アールスタン)を使って, 統計モデリングを習得する本である イントロで書籍の目的や内容や流れ, 前提知識や対象読者が記載されていたいりするので意外と大事です. ま…
TL;DR 今後は以下の書籍を読んで勉強した内容をブログに書いていこうと思います(`・ω・´) StanとRでベイズ統計モデリング (Wonderful R) StanとRでベイズ統計モデリング (Wonderful R)作者: 松浦健太郎,石田基広出版社/メーカー: 共立出版発売日: 2016/10/2…
ちょっとブログ更新の間があいてたのですが、そろそろ再開したいと思います. pymc4のソースコードリーディングがだいたい完了したので、現状のライブラリの現状を整理します. 現状整理 主な処理はtensorflow probabilityを内部的に使用 可視化はarvizを使用 …
TL;DR 主にサンプリングのテスト追加 コミット 2018/07/06のコミットです. fix pylint error · pymc-devs/pymc4@6717b3e · GitHub add test for sampling · pymc-devs/pymc4@007cd06 · GitHub solve pycodestyle errors · pymc-devs/pymc4@d896372 · GitHub …
TL;DR 対数確率計算用インターセプタの実装を読んだが, なんだか実装が怪しい気がする. コミット 2018/07/01のコミットです. make target_log_prob_fn to use class based interceptor · pymc-devs/pymc4@f223e4e · GitHub 以下が変更対象ファイルです. pymc…
TL;DR 変数に対する処理は基本的にインターセプターで対応する方針のため, 対数確率も同様に対応. コミット 2018/07/01のコミットです. make target_log_prob_fn to use class based interceptor · pymc-devs/pymc4@f223e4e · GitHub 以下が変更対象ファイル…
TL;DR pycodestyle でコードチェックの追加 不要なテストの削除 コミット 2018/07/01のコミットです. remove some tests · pymc-devs/pymc4@a7cef9b · GitHub fix pycodestyle errors · pymc-devs/pymc4@bd381b1 · GitHub remove test_interceptors · pymc-d…
TL;DR 細かい修正が多いのであまり重要ではないです. コミット 2018/06/26から2018/06/30の間のコミットです. minor fixes · pymc-devs/pymc4@c27e97f · GitHub add some tests · pymc-devs/pymc4@a8e3dae · GitHub add tests and fix model.configure() · p…
TL;DR 前回の log_prob_fn と同様に複数の未観測変数の対数確率の合計を計算している様子なので細かい点は省略 コミット 2018/06/21から2018/06/23の間のコミットです. add target_log_prob_fn which works with the tff mcmc sampler · pymc-devs/pymc4@66f…
TL;DR 複数の未観測変数の対数確率の合計を計算しています. これがMCMCサンプリングのコアの部分です. コミット 2018/06/21から2018/06/23の間のコミットです. add target_log_prob_fn which works with the tff mcmc sampler · pymc-devs/pymc4@66f95ca · G…
TL;DR ターゲットとなる unobserved(未観測なRandomVariableインスタンス) の対数確率の合計を返すメソッドを実装しています. コミット 2018/06/18のコミットです. Add model.target_log_prob_fn() · pymc-devs/pymc4@a703c21 · GitHub 以下ファイルが修正…
TL;DR python3.5は対応せず、3.6以上対応の方針 pep8のコードスタイルの修正なので、特に重要な点はなさそうです。今後はlint系のコミットは冗長なので省略するかもしれません。 コミット 2018/06/11のコミットです。 pep8 · pymc-devs/pymc4@bb4de21 · GitH…
概要 Model クラスのサンプル生成のメソッドを読んでみます。 test_point コミット 2018/06/09から2018/06/11の間のコミットです。 tmp · pymc-devs/pymc4@e334115 · GitHub restructure + test point implementation · pymc-devs/pymc4@d07338e · GitHub fi…
概要 まずは Model クラスの初期化処理系のメソッドを読んでみます。 _init_variables: 今回はここの self.graph.as_default() の処理を読みます コミット 2018/06/09から2018/06/11の間のコミットです。 tmp · pymc-devs/pymc4@e334115 · GitHub restructur…
概要 まずは Model クラスの初期化処理系のメソッドを読んでみます。 _init_variables: 今回はここの ed.interception() の処理を読みます コミット 2018/06/09から2018/06/11の間のコミットです。 tmp · pymc-devs/pymc4@e334115 · GitHub restructure + te…
概要 まずは Model クラスの初期化処理系のメソッドを読んでみます。 _init_variables: 今回はここを読みます コミット 2018/06/09から2018/06/11の間のコミットです。 tmp · pymc-devs/pymc4@e334115 · GitHub restructure + test point implementation · p…
TL;DR まずは Model クラスの初期化処理系のメソッドを読んでみます。 __init__: 初期化処理いろいろ define: self._f を設定して変数初期化しているようですが、今のところテスト用のヘルパー関数に見えます configure: 設定を上書きして変数初期化 _init_v…
TL;DR 以下記事をもとに、PyMC4のバックエンドにtensorflowが採用された経緯をまとめました。 see: Theano, TensorFlow and the Future of PyMC – PyMC Developers – Medium ポイント tensorflowには既に多くのユーザがいること(デファクトスタンダードであ…
TL;DR biwrap モジュールを使ってアノテーションを使った Model インスタンス生成用のヘルパー関数を作成しています。 コミット 2018/06/09から2018/06/11の間のコミットです。 tmp · pymc-devs/pymc4@e334115 · GitHub restructure + test point implementa…
TL;DR 今までのコミットの Model や RandomVariable は削除され、アーキテクチャも変更されています。削除されたコードはpymc3とほぼ同等だったので、試しに書いたコードだったようです汗。ほとんど0から読み進める感じになるので、焦らず読みやすそうな箇所…
TL;DR 依存ライブラリである tensorflow_probability が原因で requirements.txt の現状の書き方では最新バージョンを上手く取得できない問題があったみたいです。新しいライブラリなので仕方ないですね。 コミット 2018/06/03のコミットです。 Update requi…
TL;DR treedict クラスの依存性を以前のコミットで削除した代わりに、 RandomVariable クラス内で Model の contexts.stack 全てに値を設定することで、ほぼ同等の動きをしている。 コミット 2018/06/03のコミットです。 Add model tests, fix travis pytest…
コミット 2018/06/03のコミットです。 Add model tests, fix travis pytest problem · pymc-devs/pymc4@4357d39 · GitHub 以下ファイルが変更されています。 .gitignore .pytest_cache/ を追記 .pylintrc naming convention のlintチェックをdisable: C0103 …