ユーティリティ
ユーティリティ |
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)
変数 | | |
name | str | 文字列 |
dist_params | | 連続したディストリビュータのパラメータ |
dist | | PyTensor graphを返す |
random | | 分布からランダム値を生成する関数 |
logp | | 所与の条件の分布パラメータから対数確率を計算する |
logcdf | | 所与の条件の分布パラメータから対数蓄積対数確率を計算する |
moment | int | 分布のモーメントを計算する |
ndim_supp | int | 分布がサポートする次元数 |
ndims_param | | 各分布パラメータがサポートする次元数のリスト |
dtype | | 分布のdtype |
class_name | | CustomDistメソッドをラップするクラス名 |
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_output | int型の出力 |
destroy_map | |
fn | 内部関数グラフをゆっくりコンパイルする。 |
inline_logprob | logprob関数を自動で派生させるかどうか |
inner_inputs | 内部関数入力 |
inner_outputs | 内部関数出力 |
itypes | |
ndim_supp | ランダム変数のサポート次元数 |
otypes | |
params_type | |
view_map | 出力インデックスから入力インデックスへのマップ(dict形式) |