2017-07-08 85 views
0

的樣本逆CDF如果我得到的隨機樣本數據:計算從數據

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

和我需要得到與CDF = 34%或任何值X_I。我現在能夠想到的唯一方法就是反CDF。我認爲百分比是相當的,但有人告訴我這是接近但不是確切的。

+0

CDF表示累積分佈函數。因此,它是基本分配函數的組成部分。你知道關於你的隨機值分佈的任何事嗎? 'np.random.random'具有統一的分佈,在這種情況下,CDF和百分位數在統計上匹配。然而,對於某個樣本集,特別是如果它是一個小集合,CDF(某種意義上的預期值)和實際百分位數可能會有很大差異。你想從發行版中獲得_true_ CDF,還是應該從樣本中估算? – JohanL

回答

1

這應該給你的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.