如何使用DensityDist
为pymc3创建SkewNormal分布? github页面有几个死链接,解释了如何创建浮动的自定义随机指标。
exp
在theano中实现,但我不认为Normal Cumulative发行版或erf
函数是。
我认为我不能只使用类似的东西:
F = DensityDist('F', lambda value: pymc.skew_normal_like(value, um, std, a), shape = N)
我从pymc2导入skew_normal_like分布?
答案 0 :(得分:1)
erf
功能在Theano中实现。试试这个
skn = pm.DensityDist('skn', lambda value: tt.log(1 + tt.erf(((value - mu) * tt.sqrt(tau) * alpha)/tt.sqrt(2))) + (-tau * (value - mu)**2 + tt.log(tau / np.pi / 2.)) / 2. )
其中:
tau = sd**-2
<强>更新强>
SkewNormal现在作为即用型PyMC3发行版的一部分包含在内。