我试图通过使用pymc从观察中学习潜在变量。 简化版本如下:
我想学习两个隐藏参数$\lambda_0,\lambda\u 1$
虽然有两个分布$X_0,X_1$分别使用这些参数:
$X_0\sim Expon(\lambda_0)$,$X_1\sim Expon(\lambda_1)$。在
我没有关于$X\u 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)
你能帮我举这个玩具的例子吗?在
在使用指数变量作为参数之前,您应该创建一个确定性的指数变量。试试这个:
另外,您不需要同时实例化
^{pr2}$Model
和MCMC
对象。只是后者:相关问题 更多 >
编程相关推荐