【发布时间】:2015-06-09 12:10:40
【问题描述】:
我正在使用 PYMC 2.3.4。我觉得棒极了。现在我想对文档第 7.3 节中显示的拟合和绘图差异做一些好处(https://pymc-devs.github.io/pymc/modelchecking.html) 在文档中,他们说差异图需要 3 个输入
- x:数据
- x_sim:后验分布样本
- x_exp:预期值 前两个我能看懂,第三个看不懂
这是代码
Sero=[0,1,4,2,2,7,13,17,90]
Pop=[ 15,145,170,132,107,57,68,57,251]
for i in range(len(Pop)):
prob[i] = pymc.Uniform(`prob_%i' % i, 0,1.0)
serobservation=pymc.Binomial('serobservation',n=Pop,p=prob,value=Sero,observed=True)
pobservation=pymc.Binomial('pobservation',n=Pop,p=prob)
mod=pymc.Model([serobservation,pobservation,prob])
mc=pymc.MCMC(mod)
mc.sample(20000)
一切正常,然后我尝试绘制差异,但我不知道将什么作为预期值你能帮忙吗? 到现在我都是这样做的:
D = pymc.discrepancy( Sero,pobservation,serobservation)
pymc.Matplot.discrepancy_plot(D, name='D', report_p=True)
但我有错误
AttributeError: 'Binomial' object has no attribute 'trace'
我能做什么?您能否为我提供一个如何创建预期值的虚拟示例? 此外,当我使用该功能时
pymc.Matplot.gof_plot(pobservation,Sero )
只绘制了数组最后一个条目的图 我怎样才能为每个条目绘制一个情节?
感谢大家的帮助
【问题讨论】:
标签: python-2.7 pymc goodness-of-fit