pymc3では、切り捨てられたノーマルプライアをどのように設定しますか? pymc2 では非常に単純ですが (以下)、pymc3 では切り詰められた正規分布が利用できなくなっているようです。
Pymc2:
TruncatedNormal('gamma_own_%i_' % i, mu=go, tau=v_gamma_inv, value=0, a=-np.inf, b=0)
Pymc3: ?
PyMC3 では、 を使用して任意のディストリビューションを切り捨てることができますBound
。最初に有界分布 (ここでは と呼びますBoundedNormal
) を構築し、次に、基になる分布の通常のパラメーターを入力する変数を作成する必要があります。
with pm.Model() as model:
BoundedNormal = pm.Bound(pm.Normal, lower=0, upper=1)
n = BoundedNormal('n', mu=0, tau=10)
tr = pm.sample(2000, pm.NUTS())