我有我想以計算的置信區間的樣本數據,假設分佈是不正常的,是未知的。基本上,它看起來像分配帕累託,但我不知道肯定。計算的置信區間
正態分佈的答案:
Compute a confidence interval from sample data
Correct way to obtain confidence interval with scipy
我有我想以計算的置信區間的樣本數據,假設分佈是不正常的,是未知的。基本上,它看起來像分配帕累託,但我不知道肯定。計算的置信區間
正態分佈的答案:
Compute a confidence interval from sample data
Correct way to obtain confidence interval with scipy
如果你不知道潛在分佈,那麼我首先想到的是使用引導: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)]]
我已經用實際數據來測試..看起來是錯誤的。我得到了Conf Int:[22.78,69.93]。 (np.array(x)<22.79).sum()/ len(x) - 0.91。 91%的數據低於下限。算術平均值是40.78 - 這是棘手的現實世界數據集。 –
根據您的文章中的鏈接,我推測您需要圍繞您對數據平均值的估計值進行置信區間。如果您只需要95%的數據在兩個值之間的值(例如,通過計算2.5個和你*數據*的97.5個百分點,那麼你可以使用的最後兩行,我的答案,但使用'x',而不是'np.array(mean_estimates)'。 – acdr
從對對方的回答的討論中,我假定你想爲一個置信區間人口的意思是,是嗎? (對於某個數量,您必須有一個置信區間,而不是分佈本身。)
對於所有有限矩分佈,均值的採樣分佈趨於漸近正態分佈,其均值等於總體均值和方差等於人口方差除以n。所以,如果你有大量的數據,$ \畝\ PM \披^ { - 1}(P)\西格瑪/ \開方{N} $應該是一個很好的近似人口的P-置信區間的意思是,即使如果分配不正常。
謝謝。公式顯示不正確。 LaTex的一些問題。經過一些閱讀和分析後,我發現我真的對中位數然後意味着更感興趣,因爲分佈是偏斜的。所以我需要置信區間的中位數。中位數的抽樣分佈趨於漸近正態分佈嗎?我用@acdr代碼來估計置信區間的中位數。它總是比「acdr評論中計算出的95%數據在兩個值之間的值」要小得多。 –
它看起來像指數分佈我 –