0
好了,所以我有这个两部分CDF随机抽样
def cdfH1a(x):
return 0.189497583190681*np.sqrt(2 * np.pi)*sp.erf(np.sqrt(2)* (x/2))
def cdfH1b(x):
return 0.0141047395886939*np.sqrt(np.pi)*sp.erf(7.07106781186547*x - 14.1421356237309)
,我已经做到了这一点,找到经验CDF
sorted = np.sort(sampleH1)
yVals = np.arange(len(sorted))/float(len(sorted))
plt.plot(sorted, yVals)
plt.show()
,但我不知道如何从我的CDF生成随机10000个样本(这些样本将被放入sampleH1)
目前,我这样做,但我不认为这是正确的
sampleH1 = []
for x in sampleH0:
sampleH1.append(x + (cdfH1a(x) + cdfH1b(x)))
哪里sampleH0是10000个样本正态分布的CDF
如果有人可以提供一些线索那简直太好了感谢
您可能正在寻找[逆变换采样](https://en.wikipedia.org/wiki/Inverse_transform_sampling)。 –