来自 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的主要内容,如果未能解决你的问题,请参考以下文章

拉丁超立方抽样的Python实现

拉丁超立方抽样的Python实现

论文复现:模拟风电不确定性——拉丁超立方抽样生成及缩减场景(Matlab全代码)

论文复现:模拟风电不确定性——拉丁超立方抽样生成及缩减场景(Matlab全代码)

拉丁超立方抽样

风光负荷出力各场景及概率场景削减负荷点的拉丁超立方抽样(Matlab代码实现)