我试图获得一些关于层次模型的信息,发现了这个很棒的帖子:https://sl8r000.github.io/ab_testing_statistics/use_a_hierarchical_model/
在这篇文章的中间,作者分享了一些代码。有一部分我遇到了麻烦:
@pymc.stochastic(dtype=np.float64)
def hyperpriors(value=[1.0, 1.0]):
a, b = value[0], value[1]
if a <= 0 or b <= 0:
return -np.inf
else:
return np.log(np.power((a + b), -2.5))
a = hyperpriors[0]
b = hyperpriors[1]
如您所见,作者使用pymc
。现在,我被这里的语法搞糊涂了。我得到了decorator的定义,但没有得到带方括号的a
和b
的定义。有没有人有这方面的经验,愿意分享下引擎盖下发生的事情?你知道吗
pymc项目使用decorator不返回新函数,而是返回^{} class instance 。你知道吗
根据文件:
所以
hyperpriors
是Stochastic
类的一个实例,正是这个对象支持索引。因此,您可以在该对象上使用hyperpriors[0]
和hyperpriors[1]
。hyperpriors
不再是函数了。你知道吗相关问题 更多 >
编程相关推荐