为给定的cdf生成随机值

579

根据随机变量的值样本,我使用核密度估计创建累积密度函数。

cdf = gaussian_kde(sample)

我需要生成其密度函数等于构造的cdf的随机变量的样本值。我知道逆转概率分布函数的方法,但是由于我无法通过分析来完成,因此需要非常复杂的准备工作。是否有集成的解决方案或完成任务的另一种方式?

用户20160

如果您将内核密度估计器(KDE)与高斯内核一起使用,则您的密度估计就是高斯混合模型。这意味着密度函数是“混合物成分”的加权和,其中每个混合物成分都是高斯分布。在典型的KDE中,每个数据点上都有一个混合组件,每个组件都是内核的副本。不使用逆CDF方法就可以很容易地从这种分布中进行采样。该过程如下所示:

  1. 设置

    • mu为向量,其中mu[i]是混合成分的平均值i在KDE中,这只是原始数据点的位置
    • sigma是一个向量,其中sigma[i]是混合分量的标准偏差i在典型的KDE中,这将是内核带宽,所有点都共享该带宽(但确实存在可变带宽的变体)。
    • w一个向量,其中w[i]包含混合成分的权重i权重必须为正且总和为1。在典型的,未加权的KDE中,所有权重都是1/(number of data points)(但确实存在加权变体)。
  2. 选择要采样的随机点数, n_total

  3. 确定将从每个混合成分中提取多少个点。

    • n是其中载体n[i]包含的点的数量以从混合物组分样品i
    • 绘制n从“试验次数”多项分布等于n_total和“成功概率”等于w这意味着将从每种混合物组分中抽取的点数将与组分的重量成比例地随机选择。
  4. 绘制随机值

    • 对于每种混合物成分i
    • 绘制n[i]从均值的正态分布值mu[i]和标准差sigma[i]
  5. 随机排列随机值列表,因此它们具有随机顺序。

此过程相对简单,因为用于多项式分布和正态分布的随机数生成器(RNG)广泛可用。如果您的内核不是高斯分布,而是其他概率分布,则可以复制此策略,将第4步中的常规RNG替换为该分布的RNG(如果可用)。通常,您还可以使用此过程从混合模型中采样,而不仅仅是KDE。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

给定PDF生成随机值

来自分类Dev

将“随机对象”的种子设置为随机值是否会使生成器更加随机?

来自分类Dev

生成值为 -1 或 +1 的随机矩阵:Matlab

来自分类Dev

为随机生成的数字设置最小值

来自分类Dev

快速生成每个位的给定概率为0或1的伪随机位的方法

来自分类Dev

如何从一组给定的值中生成随机数?

来自分类Dev

给定R中的特定概率值,生成随机数(0和1)

来自分类Dev

给定概率密度函数的值时,如何生成随机数?

来自分类Dev

生成给定分布的随机数

来自分类Dev

按给定比例随机生成数字

来自分类Dev

在128次尝试中无法为“值”生成随机唯一值

来自分类Dev

生成总和为给定数字并符合一组一般约束的随机自然数

来自分类Dev

Excel如何求和随机给定范围值

来自分类Dev

为正态分布变量的CDF值获取NaN:Matlab

来自分类Dev

使用Scala生成随机值

来自分类Dev

随机生成多维数组的值

来自分类Dev

为活着的人数以及如何在R中转置数据生成随机值

来自分类Dev

根据随机生成的数字计算一个始终为正的值

来自分类Dev

如何在C中生成概率为(1到100)的随机布尔值?

来自分类Dev

为活着的人数生成随机值,以及如何在R中转置数据

来自分类Dev

随机为两个玩家生成一个枚举值

来自分类Dev

如何在SOAPUI中为测试请求生成随机值?

来自分类Dev

sql - 为每一行生成一个唯一的随机值

来自分类Dev

Haskell随机生成器:随机值的链式生成

来自分类Dev

使用随机生成的值检索JSON值

来自分类Dev

如何生成远离值列表的随机值?

来自分类Dev

随机数生成器不会使用输入字段中的值生成给定范围内的预期数字

来自分类Dev

r以给定概率生成随机二进制结果

来自分类Dev

如何从给定的一个开始生成许多随机向量

Related 相关文章

  1. 1

    给定PDF生成随机值

  2. 2

    将“随机对象”的种子设置为随机值是否会使生成器更加随机?

  3. 3

    生成值为 -1 或 +1 的随机矩阵:Matlab

  4. 4

    为随机生成的数字设置最小值

  5. 5

    快速生成每个位的给定概率为0或1的伪随机位的方法

  6. 6

    如何从一组给定的值中生成随机数?

  7. 7

    给定R中的特定概率值,生成随机数(0和1)

  8. 8

    给定概率密度函数的值时,如何生成随机数?

  9. 9

    生成给定分布的随机数

  10. 10

    按给定比例随机生成数字

  11. 11

    在128次尝试中无法为“值”生成随机唯一值

  12. 12

    生成总和为给定数字并符合一组一般约束的随机自然数

  13. 13

    Excel如何求和随机给定范围值

  14. 14

    为正态分布变量的CDF值获取NaN:Matlab

  15. 15

    使用Scala生成随机值

  16. 16

    随机生成多维数组的值

  17. 17

    为活着的人数以及如何在R中转置数据生成随机值

  18. 18

    根据随机生成的数字计算一个始终为正的值

  19. 19

    如何在C中生成概率为(1到100)的随机布尔值?

  20. 20

    为活着的人数生成随机值,以及如何在R中转置数据

  21. 21

    随机为两个玩家生成一个枚举值

  22. 22

    如何在SOAPUI中为测试请求生成随机值?

  23. 23

    sql - 为每一行生成一个唯一的随机值

  24. 24

    Haskell随机生成器:随机值的链式生成

  25. 25

    使用随机生成的值检索JSON值

  26. 26

    如何生成远离值列表的随机值?

  27. 27

    随机数生成器不会使用输入字段中的值生成给定范围内的预期数字

  28. 28

    r以给定概率生成随机二进制结果

  29. 29

    如何从给定的一个开始生成许多随机向量

热门标签

归档