2016-08-19 108 views
0

如何使用DensityDist为pymc3创建SkewNormal发行版?有几个链接到github页面的解释如何创建自定义的随机周围浮动。如何在pymc3中创建一个SkewNormal随机数?

exp在theano中实现,但我不认为正常累积分布函数或erf函数是。

我相信我不能只是使用类似:

F = DensityDist('F', lambda value: pymc.skew_normal_like(value, um, std, a), shape = N) 

我来自哪里pymc2导入skew_normal_like分布?

回答

1

Thearo 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的分布的一部分。