我正在尝试在Python上实现非参数bootstrapping。它需要获取一个样本,从中构建经验分布函数,然后从这个edf生成一堆样本。我该怎么做呢?在scipy中,我只发现了如何制作自己的分布函数,如果您知道描述它的确切公式,但我只有一个edf。
我正在尝试在Python上实现非参数bootstrapping。它需要获取一个样本,从中构建经验分布函数,然后从这个edf生成一堆样本。我该怎么做呢?在scipy中,我只发现了如何制作自己的分布函数,如果您知道描述它的确切公式,但我只有一个edf。
通过对样本进行排序所得到的EDF:
N = samples.size
ss = np.sort(samples) # these are the x-values of the edf
# the y-values are 1/(2N), 3/(2N), 5/(2N) etc.
edf = lambda x: np.searchsorted(ss, x) / N
然而,如果你只想对样本进行重新采样,那么你只需从样本中等概率地随机抽取并替换即可。
如果这种“跳跃式”的方法不符合您的口味,您可以使用某种插值方法来获得平滑分布。