如果我得到随机样本数据:

X=np.random.random(100)*100


并且我需要获得CDF = 34%或其他值的X_i值。我现在能想到的唯一方法是使用逆CDF。我以为百分位数是等效的,但有人告诉我这是接近但不精确的。

最佳答案

这应该为您提供X的索引,其中cdf为0.34:

X=np.random.random(100)*100
cdf_frac_to_find = 0.34
cdf = np.cumsum(X)/np.sum(X) #take the cumulative sum of x and normalize so that it's max value is 1
X_index = np.argmin(np.abs(cdf-cdf_pct_to_find))
X_index
#out: 32 -- note that this will likely change because you're generating random numbers for X.

关于python - 根据数据样本计算逆CDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44983175/

10-11 04:04