1

私は、pymc を使用して観測から潜在変数を学習しようとしています。簡略化されたバージョンは次のとおりです。

$\lambda_0、\lambda_1$、

これらのパラメーターをそれぞれ使用する 2 つのディストリビューション $X_0、X_1$ があります。

$X_0 \sim Expon(\lambda_0)$, $X_1 \sim Expon(\lambda_1)$.

$X_i$ に関する観測はありません。代わりに、これらの変数の線形結合が観測されています: $x_0^{(0)} + x_1^{(1)} + x_1^{(1)} = 6$, $x_0^{(1)} = 2$ .

私の最初のアプローチは次のようなものでしたが、機能しているとは思いません:

import pymc

lambda0 = pymc.Uniform('lambda0', 0, 10)
lambda1 = pymc.Uniform('lambda1', 0, 10)
x00 = pymc.Exponential('x00', lambda0)
x01 = pymc.Exponential('x01', lambda0)
x10 = pymc.Exponential('x10', lambda1)
x11 = pymc.Exponential('x11', lambda1)
z = pymc.Normal('z', mu=[x00+x10+x11, x01], tau=1.0, value=[6, 2], observed=True)

model = pymc.Model([lambda0, lambda1, x00, x01, x10, x11, z])
mcmc = pm.MCMC(model)
mcmc.sample(10000)

このおもちゃの例を教えてください。

4

1 に答える 1

0

指数変数を引数として使用する前に、指数変数の決定論を作成する必要があります。これを試して:

mu = [x00+x10+x11, x01]
z = pymc.Normal('z', mu=mu, tau=1.0, value=[6, 2], observed=True)

Modelまた、とMCMCオブジェクトの両方をインスタンス化する必要はありません。ちょうど後者:

mcmc = pymc.MCMC([lambda0, lambda1, mu, z])
于 2013-11-21T23:20:28.440 に答える