如何解决如何使用 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))
,
map 函数对此很有用。
using Random,Distributions
shapes = [1.1,10]
scale = 1
n_samples = 1
x = map(x -> rand(Gamma(x,scale),n_samples)[1],shapes)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。