2017-06-06 124 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%数据在两个值之间的值”要小得多。 –