【发布时间】:2013-10-25 10:50:45
【问题描述】:
我正在努力解决二项式和 pymc 的问题 我有一个分成几组的样本,我想使用 MCMC 评估从易感状态到感染状态的转换率,并以类似于 here 的方式绘制结果
当我编译脚本时,我收到这条消息:
Traceback (most recent call last):
File "statisticMCMC_bin.py", line 23, in <module>
plot(mc.finalhcc.stats()['mean'],color='red',linewidth=2)
File "/Library/Python/2.7/site-packages/pymc-2.3a-py2.7-macosx-10.8-intel.egg/pymc/Node.py", line 265, in stats
return self.trace.stats(alpha=alpha, start=start, batches=batches,
AttributeError: 'Binomial' object has no attribute 'trace'
并且没有产生任何情节.....我该如何解决它?
这是模型和启动脚本:
import sys
import pickle
import pykov
import random
import scipy.integrate as spi
import numpy as np
import pylab as pl
import math as mt
import scipy.linalg as linear
import decimal
from pymc import *
import numpy as np
n = np.array([647,1814,8838,9949,1920])###initial population
originalHCC=np.array([0,197,302,776,927], dtype=float)
beta=Uniform('beta',0.001,1.0)####death rate
vectorp=np.array([beta,beta,beta,beta,beta]);
finalhcc = pymc.Binomial('finalhcc', n=n, p=vectorp, value=originalHCC, observed=True)
#
import numpy as np
from pymc import *
from pylab import *
import scipy as sc
#from pymc.Matplot import plot
from scipy.stats.mstats import mquantiles
import MCMC_bin as mod
reload(mod)
mc=MCMC(mod)
mc.use_step_method(AdaptiveMetropolis, [mod.beta])
mc.sample(iter=500000,burn=5000, thin=20,verbose=1)
n = np.array([647,1814,8838,9949,1920,39])
figure(1)
title('HCC with uncertainty')
plot(mc.originalHCC, 's', mec='black', color='black',alpha=0.9)
plot(mc.finalhcc.stats()['mean'],color='red',linewidth=2)
plot(mc.finalhcc.stats()['95% HPD interval'],color='red',linewidth=1,linestyle='dotted')
axis(0,6,0.9*min(mc.originalHCC),1.2*max(mc.originalHCC))
savefig('HCC.png')
【问题讨论】:
标签: python-2.7 plot trace pymc