从数据集中随机抽样,同时保留原始概率分布
Random sampling from a dataset, while preserving original probability distribution
我有一组 >2000 个数字,是从测量中收集的。我想从这个数据集中抽样,每次测试约 10 次,同时保留总体概率分布,并在每次测试中(在大约可能的范围内)。例如,在每个测试中,我想要一些小值,一些中间 class 值,一些大值,均值和方差近似接近原始分布。结合所有的测试,我还想要所有样本的总均值和方差,近似接近原始分布。
由于我的数据集是long-tail probability distribution,每个分位数的数据量不一样:
图 1. ~2k 数据元素的密度图。
我正在使用 Java,现在我正在使用 uniform distribution,并使用数据集中的随机整数,以及 return 该位置的数据元素:
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];
}
我不知道它是否如我所愿,因为我使用的数据是按测量的顺序使用的,具有很大的序列相关性。
如你所愿。数据的顺序无关紧要。
随机抽样保留概率分布。
我有一组 >2000 个数字,是从测量中收集的。我想从这个数据集中抽样,每次测试约 10 次,同时保留总体概率分布,并在每次测试中(在大约可能的范围内)。例如,在每个测试中,我想要一些小值,一些中间 class 值,一些大值,均值和方差近似接近原始分布。结合所有的测试,我还想要所有样本的总均值和方差,近似接近原始分布。
由于我的数据集是long-tail probability distribution,每个分位数的数据量不一样:
图 1. ~2k 数据元素的密度图。
我正在使用 Java,现在我正在使用 uniform distribution,并使用数据集中的随机整数,以及 return 该位置的数据元素:
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];
}
我不知道它是否如我所愿,因为我使用的数据是按测量的顺序使用的,具有很大的序列相关性。
如你所愿。数据的顺序无关紧要。
随机抽样保留概率分布。