来自 beta 分布的拉丁超立方体样本与 matlab
Posted
技术标签:
【中文标题】来自 beta 分布的拉丁超立方体样本与 matlab【英文标题】:Latin hypercube sample from beta distribution with matlab 【发布时间】:2017-06-09 02:06:39 【问题描述】:我需要借助拉丁超立方体从 beta 分布中提取 10000 个样本。 lhsnorm
命令仅在正态分布的情况下才有帮助。在lhsdesign
下我也找不到很多东西。我该怎么做?
提前致谢。
【问题讨论】:
【参考方案1】:您可以使用lhsdesign
获得一组均匀分布的数字,然后使用Inverse transform sampling 方法将它们转换为beta 分布。例如:
X = lhsdesign(10000,1);
Y = betainv(X,5,2);
histogram(Y)
【讨论】:
非常感谢 EBH 的回答。但是我不太关注这里的结果。命令“betainv”为我提供了 X 中数字出现的概率。它真的没有给我样品吗?另一方面,生成的图表似乎是正确的。 @KleinerMaverick,看看上面的链接。采用 beta 分布的倒数将均匀分布转换为 beta 的想法。lhsdesign
从 U~(0,1) 生成数字,并且您使用另一个分布(也在 0 到 1 之间)的 CDF,在本例中为 beta,以获取其中的相应数字。换句话说,使用lhsdesign
可以随机化概率以从 beta 中获取值,而使用betainv
可以获取具有此概率的值。以上是关于来自 beta 分布的拉丁超立方体样本与 matlab的主要内容,如果未能解决你的问题,请参考以下文章
论文复现:模拟风电不确定性——拉丁超立方抽样生成及缩减场景(Matlab全代码)