例如,以概率0.3返回1.0并以概率0.7返回1.1的分布。谢谢。
答案 0 :(得分:6)
也许您不需要完整的分发类型,但只需从这样的分布中抽样就足够了吗?
如果是这种情况,那么最简单的方法是:
using StatsBase # corrected a typo here
values = [1.0, 1.1]
probabilities = [0.3, 0.7]
w = Weights(probabilities)
sample(values, w) # sampling
如果你真的想要使用发行版,你现在可以得到的最接近的东西是:
using Distributions
values = [1.0, 1.1]
probabilities = [0.3, 0.7]
d = Categorical(probabilities)
values[rand(d)] # sampling
但会慢一些。
如果要在分发包类型系统之后定义自己的分发,最简单的方法是使用此代码https://github.com/JuliaStats/Distributions.jl/blob/master/src/univariate/discrete/categorical.jl并根据您的需要对其进行修改(但这将是我所说的一项重要工作)。
答案 1 :(得分:3)
目前还没有内置的方法,但您可以查看link)。