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

pyMC API 分布8 ユーティリティ

ユーティリティ

ユーティリティ
pymc.Continuous
pymc.CustomDist
pymcDiscrete
pymc.Distribution
pymc.SymbolicRandomVariable

pymc.Continuous

class pymc.Continuous(name, *args, rng=None, dims=None, initval=None, observed=None, total_size=None, transform=UNSET, **kwargs)
メソッド
Continuous.__init__(*args,**kwargs)
Continuous.dist(dist_param,*[,shape])c/s分布に一致したテンソル変数を生成する。

pymc.CustomDist

class pymc.CustomDist(name, *dist_params, dist=None, random=None, logp=None, logcdf=None, moment=None, ndim_supp=0, ndims_params=None, dtype='floatX', **kwargs)
変数
namestr文字列
dist_params連続したディストリビュータのパラメータ
distPyTensor graphを返す
random分布からランダム値を生成する関数
logp所与の条件の分布パラメータから対数確率を計算する
logcdf所与の条件の分布パラメータから対数蓄積対数確率を計算する
momentint分布のモーメントを計算する
ndim_suppint分布がサポートする次元数
ndims_param各分布パラメータがサポートする次元数のリスト
dtype分布のdtype
class_nameCustomDistメソッドをラップするクラス名
kwargs親クラスのnewメソッドから渡される 付加キー引数

(使用例)

import numpy as np
import pymc as pm
from pytensor.tensor import TensorVariable

def logp(value: TensorVariable, mu: TensorVariable) -> TensorVariable:
    return -(value - mu)**2

with pm.Model():
    mu = pm.Normal('mu',0,1)
    pm.CustomDist(
        'custom_dist',
        mu,
        logp=logp,
        observed=np.random.randn(100),
    )
    idata = pm.sample(100)

メソッド
CustomDist.__init__(*args,**kwargs)
CustomDist.check_valid_dist_random(dist,...)
CustomDist.dist(dist_param,*[,shape])c/s分布に一致したテンソル変数を生成する。
CustomDist.is_symbolic_random(random,...)
CustomDist.parse_dist_params(dist_params)

pymc.Discrete

離散分布の基底クラス

class pymc.Discrete(name, *args, **kwargs)
メソッド
Discrete.__init__(*args,**kwargs)
Discrete.dist(dist_param,*[,shape])c/s分布に一致したテンソル変数を生成する。

pymc.Distribution

統計分布

class pymc.Distribution(name, *args, rng=None, dims=None, initval=None, observed=None, total_size=None, transform=UNSET, **kwargs)
メソッド
Distribution.__init__(*args,**kwargs)
Distribution.dist(dist_param,*[,shape])c/s分布に一致したテンソル変数を生成する。

pymc.SymboicRandomVariable

シンボリックランダム変数

class pymc.SymbolicRandomVariable(*args, ndim_supp, **kwargs)

複雑な分布のシンボリックランダムグラフをカプセル化するOpFromGrapghのサブクラス。

メソッド
SymbolicRandomVariable.L_op(inputs,outputs)L-オペレータのグラフを作る
SymbolicRandomVariable.R_op(inputs,outputs)R-オペレータのグラフを作る
SymbolicRandomVariable.__init__(*args,...)
SymbolicRandomVariable.add_tag_trace(thing)タグトレースを追加する
SymbolicRandomVariable.clone()Opと内部グラフを複製する
SymbolicRandomVariable.connection_patter(node)入出力で決めるサブグラフの接続パターンを返す。
SymbolicRandomVariable.do_constant_folding()与えられたノードを定倍で動作させるかどうか決定する。
SymbolicRandomVariable.get_lop_op()OPのパラメータを取得する
SymbolicRandomVariable.grad(input,output_grads)グラジェントのグラフを作る
SymbolicRandomVariable.infer_shape(fgraph,...)
SymbolicRandomVariable.make_node(*inputs)適用するノードを作る
SymbolicRandomVariable.make_py_thunk(node,...)python thunk を作る
SymbolicRandomVariable.make_thunk(node,...)thunk を作る
SymbolicRandomVariable.perform(node,inputs,...)入力時に関数を計算し、出力ストレージに変数を保存する
SymbolicRandomVariable.prepare_node(node,...)Opが実行前に必要な 任意の特別な変更を実施する
SymbolicRandomVariable.set_grad_overrides(...)グラジェントの解除を設定する
SymbolicRandomVariable.set_lop_overrides(...)L_opの解除を設定する
SymbolicRandomVariable.set_rop_overrides(...)R_opの解除を設定する
SymbolicRandomVariable.update(node)入力ランダム状態変数のシンボリック更新命令
属性
LOP_TYPE_ERR_MSG
OV_INP_LEN_ERR_MSG
STYPE _ERR _MSG
TYPE_ERR_MSG
default_outputint型の出力
destroy_map
fn内部関数グラフをゆっくりコンパイルする。
inline_logproblogprob関数を自動で派生させるかどうか
inner_inputs内部関数入力
inner_outputs内部関数出力
itypes
ndim_suppランダム変数のサポート次元数
otypes
params_type
view_map 出力インデックスから入力インデックスへのマップ(dict形式)

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