【发布时间】:2016-08-05 22:57:40
【问题描述】:
在成功拟合后使用 pymc.Matplot 绘制 PyMC 模型时出现错误
#!/usr/bin/env python2
import pylab
import pymc as pm
import numpy as np
import seir as mod
reload(mod)
mc = pm.MCMC(mod)
mc.use_step_method(pm.AdaptiveMetropolis, [mod.beta, mod.gamma, mod.s0, mod.eF, mod.i0])
mc.sample(iter = 1000000, burn = 200000, thin = 500, verbose = 1)
Plotting eF

Traceback (most recent call last):
File "<ipython-input-14-31405478c9cb>", line 1, in <module>
pm.Matplot.plot(mc)
File "C:\Users\tele\Anaconda\lib\site-packages\pymc\Matplot.py", line 341, in wrapper
f(data, name, *args, **kwargs)
File "C:\Users\tele\Anaconda\lib\site-packages\pymc\Matplot.py", line 455, in plot
fontmap=fontmap)
File "C:\Users\tele\Anaconda\lib\site-packages\pymc\Matplot.py", line 377, in wrapper
f(pymc_obj, *args, **kwargs)
File "C:\Users\tele\Anaconda\lib\site-packages\pymc\Matplot.py", line 578, in histogram
hist(data.tolist(), bins, histtype='stepfilled')
File "C:\Users\tele\Anaconda\lib\site-packages\matplotlib\pyplot.py", line 2958, in hist
stacked=stacked, data=data, **kwargs)
File "C:\Users\tele\Anaconda\lib\site-packages\matplotlib\__init__.py", line 1810, in inner
return func(ax, *args, **kwargs)
File "C:\Users\tele\Anaconda\lib\site-packages\matplotlib\axes\_axes.py", line 5995, in hist
m, bins = np.histogram(x[i], bins, weights=w[i], **hist_kwargs)
File "C:\Users\tele\Anaconda\lib\site-packages\numpy\lib\function_base.py", line 249, in histogram
n += np.bincount(indices, weights=tmp_w, minlength=bins).astype(ntype)
ValueError: operands could not be broadcast together with shapes (11,) (12,) (11,)
在某些情况下会出现错误,但并非总是如此。由于这是 pyMC 的一个内部函数,并且拟合效果很好(实际上非常好),我不确定该怎么做(顺便说一句,我通常在使用相同型号调用 scores = pm.geweke(mc, intervals=20) 时会发现另一个错误(不确定是否相关)) .
【问题讨论】:
标签: pymc matplotlib