2016-08-19 70 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的分佈的一部分。