class pymc.KroneckerNormal(name, *args, rng=None, dims=None, initval=None, observed=None, total_size=None, transform=UNSET, **kwargs)
変数
mu
整数のtensor_like
平均ベクトル
covs
配列のリスト
共分散マトリックスのセット
evds
tupleのリスト
固有値、固有ベクトルのセット、固有ベクトルーマトリックスペア
sigma
スカラー
ガウスホワイトノイズの標準偏差
(使用例)
多変量正規変数 共分散 K = K1 x K2
K1 = np.array([[1., 0.5], [0.5, 2]])
K2 = np.array([[1., 0.4, 0.2], [0.4, 2, 0.3], [0.2, 0.3, 1]])
covs = [K1, K2]
N = 6
mu = np.zeros(N)
with pm.Model() as model:
vals = pm.KroneckerNormal('vals', mu=mu, covs=covs, shape=N)
メソッド
KroneckerNormal.__init__(*args,**kwargs)
KroneckerNormal.dist(mu[,cov,chols,...)
c/s分布に一致したテンソル変数を生成する。
KroneckerNormal.logp(mu,sigma,*covs)
多変量正規分布の対数確率の計算
KroneckerNormal.moment(size,mu,covs,...)
pymc.LKJCholeskyCov
LKJ分布相関 共分散行列のラッパークラス
class pymc.LKJCholeskyCov(name, eta, n, sd_dist, *, compute_corr=True, store_in_trace=True, **kwargs)
変数
name
str
モデルの変数名
eta
浮動小数点のtensor_like
LKJ分布のシェイプパラメータ (eta > 0 )
n
整数のtensor_like
共分散行列の次元( n > 1)
sd_dist
分布
標準偏差への正の数値またはベクター分布
compute_corr
真偽値
真ならば三つの値を返す(コ-レスキー分解、相関、共分散行列の標準偏差)
store_in_trace
真偽値
事後トレースの共分散行列の標準偏差と相関をストアするかどうか
リターン
変数
chol
TensorVariable
分解されたコレスキー共分散分解
corr
TensorVariable
共分散行列の相関
stds
TensorVariable
共分散行列の標準偏差
packed_chol
TensorVariable
パックされたコレスキー共分散分解
(使用例)
with pm.Model() as model:
# Note that we access the distribution for the standard
# deviations, and do not create a new random variable.
sd_dist = pm.Exponential.dist(1.0, size=10)
chol, corr, sigmas = pm.LKJCholeskyCov(
'chol_cov', eta=4, n=10, sd_dist=sd_dist
)
# if you only want the packed Cholesky:
# packed_chol = pm.LKJCholeskyCov(
'chol_cov', eta=4, n=10, sd_dist=sd_dist, compute_corr=False
)
# chol = pm.expand_packed_triangular(10, packed_chol, lower=True)
# Define a new MvNormal with the given covariance
vals = pm.MvNormal('vals', mu=np.zeros(10), chol=chol, shape=10)
# Or transform an uncorrelated normal:
vals_raw = pm.Normal('vals_raw', mu=0, sigma=1, shape=10)
vals = pt.dot(chol, vals_raw)
# Or compute the covariance matrix
cov = pt.dot(chol, chol.T)
メソッド
LKJCholeskyCov.__init__(*args,**kwargs)
LKJCholeskyCov.dist(eta,n,sd_dist,*[,...])
LKJCholeskyCov.logp(n,...)
多変量正規分布の対数確率の計算
pymc.LKJCorr
LKJ対数尤度
class pymc.LKJCorr(name, *args, rng=None, dims=None, initval=None, observed=None, total_size=None, transform=UNSET, **kwargs)
変数
n
整数のtensor_like
共分散行列の次元
eta
浮動小数点のtensor_like
LKJ分布のシェイプパラメータ (eta > 0 )
メソッド
LKJCorr.__init__(*args,**kwargs)
LKJCorr.dist(n,eta,**kwargs)
c/s分布に一致したテンソル変数を生成する。
LKJCorr.logp(n,eta)
LKJ分布の対数確率の計算
LKJCorr.moment(*args)
pymc.MatrixNormal
行列正規対数分布
class pymc.MatrixNormal(name, *args, rng=None, dims=None, initval=None, observed=None, total_size=None, transform=UNSET, **kwargs)
class pymc.ZeroSumNormal(*args, zerosum_axes=None, n_zerosum_axes=None, support_shape=None, dims=None, **kwargs)
変数
sigma
浮動小数点のtensor_like
スケールパラメータ( sigma > 0 )
n_zerosum_axes
整数のtensor_like
ゼロサム軸の数
zerosum_axes
ゼロサム軸
dims
文字列
分布の次元の名称
shape
整数のtuple
分布のシェイプ
(使用例)
COORDS = {
"regions": ["a", "b", "c"],
"answers": ["yes", "no", "whatever", "don't understand question"],
}
with pm.Model(coords=COORDS) as m:
# the zero sum axis will be 'answers'
v = pm.ZeroSumNormal("v", dims=("regions", "answers"))
with pm.Model(coords=COORDS) as m:
# the zero sum axes will be 'answers' and 'regions'
v = pm.ZeroSumNormal("v", dims=("regions", "answers"), n_zerosum_axes=2)
with pm.Model(coords=COORDS) as m:
# the zero sum axes will be the last two
v = pm.ZeroSumNormal("v", shape=(3, 4, 5), n_zerosum_axes=2)