多个置信区间

Posted

技术标签:

【中文标题】多个置信区间【英文标题】:Multiple confidence intervals 【发布时间】:2018-02-18 23:37:08 【问题描述】:

我正在使用 Python 中的 pandas 库。假设我通过以下方式从正态分布中抽取四个随机样本:

np.random.seed(12345)

df = pd.DataFrame([np.random.normal(32000,20000,3650), 
                   np.random.normal(43000,10000,3650), 
                   np.random.normal(43500,14000,3650), 
                   np.random.normal(48000,7000,3650)], 
                  index=[1992,1993,1994,1995])

我想得到每个样本的 95% 置信区间,因此我计算:

mean_value=df.mean(axis=1)
std_value=df.std(axis=1,ddof=0)
lower_bound=mean_value-1.96*std_value
upper_bound=mean_value+1.96*std_value
diff = upper_bound-lower_bound

对于每个置信区间,我想将其分成 11 个等间距的区间。我有一个类似的想法:

low=lower_bound.values[1]
high=upper_bound.values[1]
diff=0.09*diff.values[1]
np.arange(low,high,diff)

这不太奏效,因为切割区间不会在置信区间的上端结束。我怎样才能得到等距的间隔?

【问题讨论】:

Compute a confidence interval from sample data的可能重复 我已编辑问题以消除重叠。 【参考方案1】:

我不确定您想要什么,但使用 NumPy 的 linspace 函数很容易获得等间距的间隔。这是第一次分布的 11 个区间。

np.linspace(lower_bound.values[0], upper_bound.values[0], 12)
array([ -7.18705879e+03,  -3.82825067e+01,   7.11049377e+03,
         1.42592701e+04,   2.14080463e+04,   2.85568226e+04,
         3.57055989e+04,   4.28543752e+04,   5.00031514e+04,
         5.71519277e+04,   6.43007040e+04,   7.14494803e+04])

【讨论】:

以上是关于多个置信区间的主要内容,如果未能解决你的问题,请参考以下文章

计算平均值的95%置信区间

怎么理解置信区间

置信区间、显著性检验和统计学意义

在 R 中以 95% 的置信区间绘制密度图

置信区间(Confidence Intervals)是什么?如何计算置信区间?置信区间的两种计算方法是什么?二值样本置信区间如何计算?如何基于bootstrap抽样进行置信区间计算?

如何求标准差的置信区间