不可能在其中deterministic观察节点PyMC2,但您可以通过将卷积的一部分作为潜在变量来实现等效模型.这是一个小例子:
def model(values):
# priors for model parameters
mu_A = pm.Exponential('mu_A', beta=1, value=1)
alpha_A = pm.Exponential('alpha_A', beta=1, value=1)
mu_B_minus_A = pm.Uninformative('mu_B_minus_A', value=1)
# latent variable for negative binomial
A = pm.NegativeBinomial('A', mu=mu_A, alpha=alpha_A, value=0)
# observed variable for conditional poisson
B = pm.Poisson('B', mu=mu_B_minus_A+A, value=values, observed=True)
return locals()
Run Code Online (Sandbox Code Playgroud)
这是一个测试它的笔记本.如果没有关于模型参数的一些额外信息,似乎很难适应.也许有一种聪明的方法可以计算或近似NB和Poisson的卷积,您可以将其用作自定义观察随机.