В pymc3, как можно использовать пошаговую функцию Хевисайда в качестве детерминированного c преобразования?
Любая пошаговая функция будет работать, но я спрашиваю о пошаговой функции Хевисайда специально для устранения ее неоднозначности. документация называется «функцией шага», которая говорит о выборке шагов, которые не имеют отношения к тому, что я ищу, и затрудняют поиск соответствующей документации, если она существует. Также я не смог найти где-нибудь, что все поддерживаемые преобразования задокументированы.
Я хочу 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) # ???