pyMC API ベイズ・確率プログラミング

pyMC API shape-utils

関数
pymc.distributions.shape_utils.to_tuple(shape)tuple型に変換する
pymc.distributions.shape_utils.broadcast_dist_samples_shape(shape[,size])tupleの型に型をブロードキャストする。ランダム変数からの出力に一致した型を仮定する。tupleサイズを、可能であれば、先頭に追加する。
pymc.distributions.shape_utils.rv_size_is_none(size)rvサイズがNoneかどうかをチェックする
pymc.distributions.shape_utils.change_dist_size(dist,new_size[,expand])分布のサイズを変更する

 このサブモジュールは、いろいろな関数を含みます。それは、numpyのブロードキャスティングルールをtupleの型に適用します。そしてまた、確率分布からサンプルを出力します。

 生成モデルから出力サンプルをブロードキャストする時の主要な試みは、かくランダムな変化が核となる型を持つことです。与えられたRVから多くのiidサンプルを出力するとき、例えば、size_tuple に iid出力を求める場合、結果は通常 size_tuple + RV_core_shapeです。生成モデルの階層の中では、条件付き私たちの上のサンプル値に依存するダウンストリームRVは、型の配列を取得します。その型は、それらのパラメータのために見ることを予期する核となる型と一致しません。これは時に問題になります。なぜなら、複雑な階層モデルの通常のブロードキャスティングを準備するためです。そしてこのように事前分布と事後分布の予測サンプリングが困難になります。

 このモジュールは、iidサンプルの要求されたsize_tupleを認識し、そして、核となる型をブロードキャストし、透過的に無視するか、または周囲の軸の先頭に追加したiid size_tuple を移動させる関数を紹介します。

-pyMC API, ベイズ・確率プログラミング