是否可以通过简单的方式从PyMC3中的用户提供的目标度量中进行采样?即我希望能够提供黑盒函数logposterior(theta)
和grad_logposterior(theta)
,并从这些函数中取样,而不是在PyMC3s建模语言中指定模型。
答案 0 :(得分:3)
这有点笨重。您需要创建一个新的Theano Op
。以下是一些示例:https://github.com/Theano/Theano/blob/master/theano/tensor/slinalg.py#L32
然后,您需要创建一个通过新Op
评估logp的分发类,例如:https://github.com/pymc-devs/pymc3/blob/master/pymc3/distributions/continuous.py#L70