【发布时间】:2014-12-31 00:35:03
【问题描述】:
我正在使用类似于non linear curvefitting 问题中提出的代码分析数据:
# define the model/function to be fitted.
def model(x, f):
amp = pymc.Uniform('amp', 0.05, 0.4, value= 0.15)
size = pymc.Uniform('size', 0.5, 2.5, value= 1.0)
ps = pymc.Normal('ps', 0.13, 40, value=0.15)
@pymc.deterministic(plot=False)
def gauss(x=x, amp=amp, size=size, ps=ps):
e = -1*(np.pi**2*size*x/(3600.*180.))**2/(4.*np.log(2.))
return amp*np.exp(e)+ps
y = pymc.Normal('y', mu=gauss, tau=1.0/f_error**2, value=f, observed=True)
return locals()
MDL = pymc.MCMC(model(x,f))
MDL.sample(1e4)
在该示例中,我会说有三个拟合参数,amp、size 和 ps。让我们称正在检查的参数数量为 N。现在让我们调用要抽取的样本数,P(在本例中为 1e4)。我观察到@deterministic 函数gauss 被调用大约 N x P 次。
- 我想知道为什么是N x P?
-
MDL中是否有一个属性可以查明gauss被调用了多少次?
【问题讨论】: