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

pyMC API 分布7 変換

変換

以下の変換インスタンスは、ランダム変数コンストラクタで使用する変換変数です。

変換インスタンス
pymc.distributions.transforms.circular
pymc.distributions.transsforms.log
pymc.distributions.transforms.log_exp_m1
pymc.distributions.transforms.logodds
pymc.distributions.transsforms.simplex
pymc.distributions.transforms.sum_to_1
特別な変換クラス
pymc.distributions.transforms.CholeskyCovPackedLKJCholeskyCov分布の要素を対数尺度に変換する
pymc.distributions.transforms.interval
pymc.distributions.transforms.LogExpM1
pymc.distributions.transforms.Ordered
pymc.distributions.transforms.SumTo1K-1次元の単方向の空間を[0,1]の値のK-1ベクトルに変換する
pymc.distributions.transforms.ZeroSumTransformどのようなランダムサンプル値も合計値を0にするよう制限する
pymc.distributions.transforms.Chain
変換構成クラス
pymc.distributions.transforms.Chain

pymc.distributions.transforms.circular

変数
fn浮動小数点pythonランダムシミュレータ関数
unnamed_paramstensor_variableのlistシミュレータのランダム関数で使用されるパラメータ、各パラメータは関数fn,の後につづけてコンストラクタにわたされる。
paramstensor_variableのlistUnnamed_paramsのキーワード形式
distancepyTensor Op距離関数(gaussian,laplace,kullback_leibler)
sum_statpyTensor Op統計関数 identity,sort,mean,median
epsilon浮動小数点のTensor_like距離関数のスケーリングパラメータ
ndim_suppSimulaterRVの次元数 (0 for scaler, 1 for vector
ndims_paramsRVの各パラメータの最小次元数
class_nameランダム変数クラスのサフィックス名

pymc.distributions.transforms.log

pymc.distributions.transforms.log_exp_m1

pymc.distributions.transforms.logodds

pymc.distributions.transforms.simplex

pymc.distributions.transforms.sum_to_1

pymc.distributions.transforms.CholeskyCovPacked

LKJCholeskyCov分布の要素を対数尺度に変換する

class pymc.distributions.transforms.CholeskyCovPacked(n)
メソッド
CholeskyCovPacked.__init__
CholeskyCovPacked.backward(value,*inputs)逆変換
CholeskyCovPacked.forward(value,*inputs)変換を適用する
CholeskyCovPacked.log_jac_det(value,*inputs)ヤコビアンdeterminantの絶対値の対数を変換する

pymc.distributions.transforms.Interval

インターバル変換のラッパー

class pymc.distributions.transforms.Interval(lower=None, upper=None, *, bounds_fn=None)
変数
lowerintインターバル変換の下位面。定数
upperint または浮動小数点インターバル変換の上位面。定数
bounds_fnlower 、upperの代替
ヤコビアンdeterminantの絶対値の対数を変換する

(使用例)

with pm.Model():
    interval = pm.distributions.transforms.Interval(lower=-1, upper=1)
    x = pm.Normal("x", transform=interval)
def get_bounds(rng, size, dtype, mu, sigma):
    return 0, None

with pm.Model():
    interval = pm.distributions.transforms.Interval(bounds_fn=get_bounds)
    x = pm.Normal("x", transform=interval)
メソッド
Interval.__init__
Interval.backward(value,*inputs)逆変換
Interval.forward(value,*inputs)変換を適用する
Interval.log_jac_det(value,*inputs)ヤコビアンdeterminantの絶対値の対数を変換する

pymc.distributions.transforms.LogExpM1

class pymc.distributions.transforms.LogExpM1

メソッド
LogExpM1.__init__
LogExpM1.backward(value,*inputs)逆変換
LogExpM1.forward(value,*inputs)変換を適用する
LogExpM1.log_jac_det(value,*inputs)ヤコビアンdeterminantの絶対値の対数を変換する

pymc.distributions.transforms.Ordered

class pymc.distributions.transforms.Ordered(ndim_supp=0)
メソッド
Ordered.__init__
Ordered.backward(value,*inputs)逆変換
Ordered.forward(value,*inputs)変換を適用する
Ordered.log_jac_det(value,*inputs)ヤコビアンdeterminantの絶対値の対数を変換する

pymc.distributions.transforms.SumTo1

K-1次元の単方向の空間を[0,1]の値のK-1ベクトルに変換する

メソッド
SumTo1.__init__
SumTo1.backward(value,*inputs)逆変換
SumTo1.forward(value,*inputs)変換を適用する
SumTo1.log_jac_det(value,*inputs)ヤコビアンdeterminantの絶対値の対数を変換する

pymc.distributions.transforms.ZeroSumTransform

任意のランダムサンプルの合計値をゼロにする

class pymc.distributions.transforms.ZeroSumTransform(zerosum_axes)
メソッド
ZeroSumTransform.__init__
ZeroSumTransform.backward(value,*inputs)逆変換
ZeroSumTransform.forward(value,*inputs)変換を適用する
ZeroSumTransform.log_jac_det(value,*inputs)ヤコビアンdeterminantの絶対値の対数を変換する

pymc.distributions.transforms.Chain

class pymc.distributions.transforms.Chain(transform_list)
メソッド
Chain.__init__
Chain.backward(value,*inputs)逆変換
Chain.forward(value,*inputs)変換を適用する
Chain.log_jac_det(value,*inputs)ヤコビアンdeterminantの絶対値の対数を変換する

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