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)