在PyMC中打印追踪时出现KeyError
我看到有些随机变量默认会被分配一些名字。我在下面写了相关的代码部分。
lam = pm.Uniform('lam', lower=0.0, upper=5, doc='lam')
parameters = pm.Dirichlet('parameters',[1,1,1,1], doc='parameters')
rv = [ pm.Multinomial("rv"+str(i), count[i], prob_distribution[i], value = data[i], observed = True) for i in xrange(0, len(count)) ]
m = pm.MCMC([lam, parameters, rv])
m.sample(10)
print m.trace('lam')[:]
print m.trace('parameters_0')[:]
最后一行出现了一个错误KeyError: 'parameters_0',有人能解释一下这是为什么吗?
不过如果我用Matplot.plot(m)
,我能得到图表(我在下面附上了)。我感觉这些键的名字是parameters_0、parameters_1、parameters_2。
有没有什么方法可以让我知道所有存在的键的名字?
)
1 个回答
2
你没有一个叫做 parameters_0
的节点。你只有 lam
、parameters
、rv_0
、rv_1
等等。