如何使用 Julia 中不同数组给出的形状值从伽马分布中采样数组?

She*_*yan 3 arrays random gamma-distribution julia

在 Julia 中,我有一个形状值数组,我想对一个数组进行采样,该数组的值是根据我的形状数组的相应形状元素进行伽马分布的。我想要的是:

    shapes = [1.1, 0.5, 10]  
    scale = 1  
    x = SampleGammaWithDifferentShapes(shapes,scale)
Run Code Online (Sandbox Code Playgroud)

其中x[1]从与形状的伽马分布采样= shapes[1],和x[2]从与形状=伽马分布采样shape[2],依此类推。

是否有内置函数允许您在一行中执行此操作,还是我必须为此定义自己的函数?这似乎应该是一个内置函数。

Mik*_*man 6

只在数组上广播任何函数的可能性使得没有必要添加特殊的数组版本的函数。你能用 1 个值来做吗?然后直接广播。

using Distributions

shapes = [1.1, 0.5, 10.]
scale = 1
x = rand.(Gamma.(shapes, scale))
Run Code Online (Sandbox Code Playgroud)