在 PyMC3 中设置确定性分布
Setting deterministic distributions in PyMC3
我是 PyMC3 新手
这是一些 PyMC2 - 我是否需要做一些特定的事情,比如在 Theano 中编译以将其转换为 PyMC3 代码?
@pymc.deterministic
def away_theta(home_team=home_team,
away_team=away_team,
home=home,
atts=atts,
defs=defs,
intercept=intercept):
return np.exp(intercept +
atts[away_team] +
defs[home_team])
我收到类似
的错误
AsTensorError: ('Cannot convert home_theta to TensorType', <class 'pymc.PyMCObjects.Deterministic'>)
是的,确定性转换需要是 pymc3 中的 theano 表达式。因此,不要使用 np.exp,而是使用 theano.tensor.exp:
import theano.tensor as T
import pymc3 as pm
with Model():
...
regression = pm.Deterministic('regression', T.exp(intercept + atts[away_team] + defs[home_team]))
...
我是 PyMC3 新手 这是一些 PyMC2 - 我是否需要做一些特定的事情,比如在 Theano 中编译以将其转换为 PyMC3 代码?
@pymc.deterministic
def away_theta(home_team=home_team,
away_team=away_team,
home=home,
atts=atts,
defs=defs,
intercept=intercept):
return np.exp(intercept +
atts[away_team] +
defs[home_team])
我收到类似
的错误AsTensorError: ('Cannot convert home_theta to TensorType', <class 'pymc.PyMCObjects.Deterministic'>)
是的,确定性转换需要是 pymc3 中的 theano 表达式。因此,不要使用 np.exp,而是使用 theano.tensor.exp:
import theano.tensor as T
import pymc3 as pm
with Model():
...
regression = pm.Deterministic('regression', T.exp(intercept + atts[away_team] + defs[home_team]))
...