0
如果我有一个如下所示的模型,我如何访问theano函数以获取适合我的模型的值(s)?有没有办法从pymc3生成变量?
这是一个相当基本的模型,所以我可以用原始function
来计算我的变量。不过,我打算动态生成pymc3模型,其中一些变量被重用/固定/界等
我知道我可以从model.makefn([expected])
访问theano功能,但这将依赖于转换参数,像sigma_log_
而不是sigma
。
理想情况下,我正在寻找类似model.evalute([expected], alpha=1, beta=2)
有没有这样的方法?
感谢
def function(a, b):
# do something
basic_model = Model()
with basic_model:
# Priors for unknown model parameters
alpha = Normal('alpha', mu=0, sd=10)
beta = Normal('beta', mu=0, sd=10, shape=2)
sigma = HalfNormal('sigma', sd=1)
# Expected value of outcome
expected = Deterministic('expected', function(alpha,beta))
# Likelihood (sampling distribution) of observations
Y_obs = Normal('Y_obs', mu=function, sd=sigma, observed=Y)