如何在pymc3中创建SkewNormal随机?

时间:2016-08-19 16:47:35

标签: python theano pymc pymc3

如何使用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分布?

1 个答案:

答案 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发行版的一部分包含在内。