在蒙特卡罗模拟中,有很多情况需要从离散分布中抽样。下面是一些典型的例子,这个函数可能会有所帮助
(1)你想从有限多个类别(标签)的离散分布中抽样。然而,从pmf中直接采样并不容易。然后你可以计算每个类别的p(k)然后用这个函数进行抽样。
(2)对于一维/二维空间中定义的一般(可能是非参数的)连续分布,可以将样本空间离散成小区域,并计算这些区域的概率质量,然后使用该函数进行抽样。
(3)在许多模型中,概率分布表示为几个“模态”的加权和。要从这类分布中抽样,可能需要首先根据它们的权重选择哪种模式来生成样本,然后这个函数就可以适用了。
总之,该函数可以直接用于简单的采样,也可以用作复杂的模拟程序的构建块。
这个函数的使用很简单:
X =离散样本(p, n)。
你只需要输入概率质量,然后告诉函数你想要抽样多少个样本,然后它以1 x n向量的形式返回样本。
引用作为
林大华(2021)。从离散分布中抽样(//www.tianjin-qmedu.com/matlabcentral/fileexchange/21912-sampling-from-a-discrete-distribution), MATLAB中央文件交换。检索.
MATLAB版本兼容性
使用R2008a创建
与任何版本兼容