2017-06-06 127 views

回答

2

如果你不知道潛在分佈,那麼我首先想到的是使用引導:https://en.wikipedia.org/wiki/Bootstrapping_(statistics)

在僞代碼中,假設x是包含數據一個numpy的數組:

import numpy as np 
N = 10000 
mean_estimates = [] 
for _ in range(N): 
    re_sample_idx = np.randint(0, len(x), x.shape) 
    mean_estimates.append(mean(x[re_sample_idx])) 

mean_estimates現在的分佈的均值10000所估算的列表。把這些值10000的第2.5和97.5個百分點,而您對您的數據的均值置信區間:

sorted_estimates = np.sort(np.array(mean_estimates)) 
conf_interval = [sorted_estimates[int(0.025 * N)], sorted_estimates[int(0.975 * N)]] 
+0

我已經用實際數據來測試..看起來是錯誤的。我得到了Conf Int:[22.78,69.93]。 (np.array(x)<22.79).sum()/ len(x) - 0.91。 91%的數據低於下限。算術平均值是40.78 - 這是棘手的現實世界數據集。 –

+1

根據您的文章中的鏈接,我推測您需要圍繞您對數據平均值的估計值進行置信區間。如果您只需要95%的數據在兩個值之間的值(例如,通過計算2.5個和你*數據*的97.5個百分點,那麼你可以使用的最後兩行,我的答案,但使用'x',而不是'np.array(mean_estimates)'。 – acdr

0

從對對方的回答的討論中,我假定你想爲一個置信區間人口的意思是,是嗎? (對於某個數量,您必須有一個置信區間,而不是分佈本身。)

對於所有有限矩分佈,均值的採樣分佈趨於漸近正態分佈,其均值等於總體均值和方差等於人口方差除以n。所以,如果你有大量的數據,$ \畝\ PM \披^ { - 1}(P)\西格瑪/ \開方{N} $應該是一個很好的近似人口的P-置信區間的意思是,即使如果分配不正常。

+0

謝謝。公式顯示不正確。 LaTex的一些問題。經過一些閱讀和分析後,我發現我真的對中位數然後意味着更感興趣,因爲分佈是偏斜的。所以我需要置信區間的中位數。中位數的抽樣分佈趨於漸近正態分佈嗎?我用@acdr代碼來估計置信區間的中位數。它總是比「acdr評論中計算出的95%數據在兩個值之間的值」要小得多。 –