在pymc3中,Heaviside阶跃函数如何作为确定性变换应用?
任何step函数都能工作,但是我询问Heaviside step函数,专门用来消除文档所指的"step函数“中的歧义,它指的是取样步骤,这些步骤与我正在寻找的内容无关,如果存在,就很难找到相关的文档。而且,我无法找到所有支持的转换都有文档记录的地方。
我想要1 if x >= 0 else 0,但是按照字面意思写它是行不通的,因为x >= 0可能会计算为一个对象,因此if表达式将立即计算为1,然后h将始终是1。
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) # ???发布于 2020-02-21 00:15:09
尝试使用theano.tensor.switch。那是,
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))https://stackoverflow.com/questions/60325764
复制相似问题