arrays - 如何使用 Julia 中不同数组给出的形状值从伽马分布中采样数组?
问题描述
在 Julia 中,我有一个形状值数组,我想对一个数组进行采样,该数组的值是根据我的形状数组的相应形状元素进行伽马分布的。我想要的是:
shapes = [1.1, 0.5, 10]
scale = 1
x = SampleGammaWithDifferentShapes(shapes,scale)
其中x[1]
从形状= 的伽马分布中采样,从形状=shapes[1]
的x[2]
伽马分布中采样shape[2]
,依此类推。
是否有一个内置函数允许您在一行中执行此操作,或者我必须为此定义自己的函数?这似乎应该是一个内置函数。
解决方案
通过数组广播任何函数的可能性使得不需要添加特殊的数组版本的函数。你能做到 1 价值吗?然后只是广播。
using Distributions
shapes = [1.1, 0.5, 10.]
scale = 1
x = rand.(Gamma.(shapes, scale))