Julia:从非标准正态分布中生成单个随机数的最快方法?



我的模拟中的每个样本都应该来自具有来自预定义列表的平均值的正态分布(即我只从每个分布中采样一次,因为每个样本的平均值都在变化)。我是否需要每次生成一个分布,然后从中绘制,如:

using Random, Distributions
for i in 1:n
d1 = Normal(means[i], s)
sample[i] = rand(d1, 1)
end

还是有更快的东西?

从标准正态分布中抽样,并平移和缩放以获得所需的平均值/方差,即

sample .= randn(n) .* s .+ means

(注意:对正常变量向量进行采样比一次采样一个有效得多)

最新更新