【问题标题】:Random sampling from a dataset, while preserving original probability distribution从数据集中随机抽样,同时保留原始概率分布
【发布时间】:2015-12-08 23:27:00
【问题描述】:

我有一组 >2000 个数字,是通过测量收集的。我想从这个数据集中抽样,在每个测试中大约 10 次,同时在每个测试中保持整体概率分布(在可能的范围内)。例如,在每个测试中,我想要一些小值、一些中产阶级值、一些大值,均值和方差大致接近原始分布。结合所有测试,我还想要所有样本的总均值和方差,大致接近原始分布。

由于我的数据集是long-tail probability distribution,所以每个分位数的数据量不一样:

图 1. 约 2k 个数据元素的密度图。

我正在使用 Java,现在我正在使用 uniform distribution,并使用数据集中的随机 int,并返回该位置的数据元素:

public int getRandomData() {
    int data[] ={1231,414,222,4211,,41,203,123,432,...};
    length=data.length;
    Random r=new Random();
    int randomInt = r.nextInt(length);
    return data[randomInt];
}

我不知道它是否如我所愿,因为我使用数据来测量它,这具有很大的序列相关性。

【问题讨论】:

    标签: java sampling probability-density


    【解决方案1】:

    随机抽样保留概率分布。

    【讨论】:

      【解决方案2】:

      它可以按您的意愿工作。数据的顺序无关紧要。

      【讨论】:

      • 你让我填得更好。 :-) 但我怎样才能证明这一点?而且我仍然担心我在每次测试中都没有得到足够的大小值。
      • @Ho1 均值和标准差按顺序不变。如果您想要相同的分布,则需要对值进行排序并随机选择样本的不同部分,当然这不是完全随机的,因为您要限制所需的结果。
      • @PeterLawrey:你说的是假的。
      • @RexD 如果您随机选择结果,您将无法控制任何单个选择的分布。您可以有 1,1,1,2,2,3,3,4,5,6 的值,但随机选择具有更高平均值的 5,6。或 1,1 具有较低的平均值。但是,如果您需要像 OP 那样控制随机选择过程,例如从前半部分随机选择,从后半部分随机选择,您可以获得的最高平均值平均为 2,6 或 4。两个选项的最低平均值平均为 1,3 或 2。
      • @PeterLawrey 为了阐明控制采样的必要性,我提出了一个新问题:stackoverflow.com/questions/32550059 简而言之,我将数据划分为分位数,并从每个分位数中采样。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多