Я пытаюсь использовать собственные переменные stochastic
и deterministic
с pymc3, но старый опубликованный рецепт для pymc2.3 объяснял, как мы можем параметризовать наши переменные, больше не работает. Например, я пытался использовать этот подход direct
, и это не удалось:
def x_logp(value, x_l, x_h):
if ((value>x_h) or (value<x_l)):
return -np.inf
else:
return -np.log(x_h-x_l+1)
def x_rand(x_l,x_h):
return np.round((x_h-x_l)*np.random.random_sample())+x_l
Xpos=pm.stochastic(logp=x_logp,
doc="X position of halo center ",
observed=False,
trace=True,
name='Xpos',
random=x_rand,
value=25.32,
parents={'x_l':0,'x_h'=500},
dtype=float64,
plot=True,
verbose=0)
Я получил следующее сообщение об ошибке:
ERROR: AttributeError: 'module' object has no attribute 'Stochastic' [unknown]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Stochastic'
Мне интересно, как я могу определить свои собственные априорные вероятности или вероятности в pymc3
, например, без использования декораторов и доступных распределений pymc
?