Python pymc3 Heaviside阶跃函数

Python pymc3 Heaviside阶跃函数,python,bayesian,pymc3,Python,Bayesian,Pymc3,在pymc3中,如何将Heaviside阶跃函数作为确定性变换应用 任何阶跃函数都可以工作,但我要问的是Heaviside阶跃函数,特别是为了消除它与文档中提到的“阶跃函数”之间的歧义,这是指采样阶跃,它与我要查找的内容无关,并且如果存在相关文档,则很难找到相关文档。此外,我也无法找到所有支持的转换都有文档记录的地方 如果x>=0,我想要1;如果x>=0,我想要0;如果x>=0,我想要0;如果x>=0,我想要0,我想要0;如果x>=0,我想要0,我想要0,但是这样写是行不通的,因为大概x>=0的

在pymc3中,如何将Heaviside阶跃函数作为确定性变换应用

任何阶跃函数都可以工作,但我要问的是Heaviside阶跃函数,特别是为了消除它与文档中提到的“阶跃函数”之间的歧义,这是指采样阶跃,它与我要查找的内容无关,并且如果存在相关文档,则很难找到相关文档。此外,我也无法找到所有支持的转换都有文档记录的地方

如果x>=0,我想要
1;如果x>=0,我想要
0;如果x>=0,我想要
0;如果x>=0,我想要
0,我想要
0;如果x>=0,我想要
0,我想要
0,但是这样写是行不通的,因为大概
x>=0
的计算结果是一个对象,因此
if
表达式将立即计算为1,然后
h
import pymc3 as pm

with pm.Model() as model:
    x = pm.Normal('x', mu=0, sigma=1)
    h = pm.Deterministic('h', 1 if x >= 0 else 0)  # ???
尝试使用。就是

import pymc3 as pm
import theano.tensor as tt

with pm.Model() as model:
    x = pm.Normal('x', mu=0, sigma=1)
    h = pm.Deterministic('h', tt.switch(x < 0, 0, 1))
将pymc3导入为pm
将无张量导入为tt
使用pm.Model()作为模型:
x=pm.Normal('x',μ=0,σ=1)
h=pm.确定性('h',tt.开关(x<0,0,1))