分享

为什么“我们有95%的信心”这种说法不完全对?

 geoallan 2019-04-29

为什么“我们有95%的信心”这种说法不完全对?

我们有95%的信心认为总体均值落在置信区间内。

——莱曼(Layman)

其实,上述说法是有误导性的。置信区间源于频率统计,然而该说法却体现的是贝叶斯统计理论。本文将基于真实数据的模拟实验,探究置信区间的真正含义。

频率统计和贝叶斯统计的区别十分显著。在教科书中,以抛硬币为例来阐述这两个概念。

抛硬币一百万次,如果其中有50万次都是正面朝上,频率学派的统计学家就会断定抛硬币一方是公平的。但是,贝叶斯学派的学者则会在抛硬币前进行预判,判断此次抛硬币是否公平,然后依据证据逐步调整自己的观点。比如,如果一开始他认为该硬币正面朝上的概率是80%,但是,结束时,10次中,却有5次正面朝上,5次反面朝上,那么这就是公平的。

以置信区间而言,频率学派认为无论如何,总体均值是唯一且正确的,而贝叶斯学派则认为总体均值应先进行思维构建:先假设其值在一个可能区间内,然后给出其值有一定概率落在此区间内的程度(可信程度)并以此来证明猜想。那么到底哪个更有道理呢?通过以下例子来看看是如何解释的。

为什么“我们有95%的信心”这种说法不完全对?

优达学城(Udacity)的参与度数据集

以优达学城的参与度数据集为例。每个数据点代表一个学生观看视频教程的时间百分比。如果一名学生完整地看完了整个课程,那么他的参与度为100%,即数据点为1。这些参与度呈指数分布。大部分学生在刚开始学习时就放弃了,只有少数学生完整地看完了整个视频课程,这不足为奇。

import numpy asnpengagement =np.loadtxt('data/engagement.csv')print('''Population mean:%.5fPopulation std:%.5fPopulation size:%i'''%(mean,std, len(engagement)))Population mean:0.07727Population std:0.10721Population size:8702

为什么“我们有95%的信心”这种说法不完全对?

很明显,这个数据呈非正态分布。但是中心极限定理给出了相当大的样本容量(至少40个),保证了此样本均值为正态分布。在下面的模拟实验中,绘制了一百万个大小为300的样本。因为总体参数完整,很容易看出抽样分布的均值是总体均值(0.07727)的无偏估计。此外,也很容易确定经验计算的标准误差与分析计算的标准误差相同(0.0062)。

sample_size =300n_trials =1000000# draw onemillion samples, each of size 300samples =[np.random.choice(engagement, sample_size) for _ in range(n_trials)]# calculatesample mean for each samplemeans =[np.mean(sample) for sample in samples]# mean ofsampling distributionsample_mean =np.mean(means)# empiricalstandard errorsample_std =np.std(means)analytical_std =std / np.sqrt(sample_size)print('''samplingdistribution mean: %.5fsamplingdistribution std: %.5fanalytical std:%.5f'''%(sample_mean,sample_std, analytical_std))samplingdistribution mean: 0.07727samplingdistribution std: 0.00618analytical std:0.00619

抽样分布属于正态分布(数据点落在QQ图的斜切线上)。正态假设是z检验和t检验的基础(稍后将详细介绍t检验)。如果抽样分布不是正态分布,则所有测试结果无效。

在密度图中添加两条竖线,分别用以标记均值上下1.96的标准误差,即双侧显著性水平为0.05时的z值。在正态分布中,有2.5%的概率在均值之上,2.5%的概率在均值之下。置信区间为95%,而这两条红线之间的面积正好是0.95。

为什么“我们有95%的信心”这种说法不完全对?

为什么“我们有95%的信心”这种说法不完全对?

在上面的例子中,由于不能像正态分布那样有最低点(但有低于均值2.06%的点和高于均值2.83%的点),所以抽样分布呈正偏态。

事实上,因为不知道总体均值,所以无法从总体均值中增加或删减标准误差1.96。毕竟如果我们知道总体均值,那么也不需要置信区间了!

此外,频率论也难以实施。因为没有人有足够的资金和时间去选取一百万个样本,也没时间去抛一百万次的硬币来得出结果。通常,我们只会抽取一个样本,然后计算样本均值,增、删标准差的平方,这就是置信区间。

为什么“我们有95%的信心”这种说法不完全对?

频率论模拟

倘若能抽取成千上万的样本呢?请记住,对于频率学派来说,一个真正的总体均值的存在与抽取的样本次数无关。我们通过准确计算,得出总体均值为0.07727。

模拟一百万次后的抽样实验后,在下面的代码中,为每个样本都建立一个置信区间,后验证总体均值是否落在置信区间内。

# make 95%confidence intervalz = 1.96success = 0for sample intqdm(samples): x = np.mean(sample) s = np.std(sample) up = x + z * s / np.sqrt(sample_size) lo = x - z * s / np.sqrt(sample_size) if lo <= mean and mean <= up: success += 1print('Falsepositive rate: %.3f'%(1 - success / len(samples)))False positiverate: 0.056

结果是有94.4%的置信区间可以表示总体均值。这就是置信区间真正的意义所在:如果无限次重复采样过程,那么,便可在95%的置信区间内找到总体均值。

换言之,有将近5%的置信区间无法找到总体均值。下图中,这种情况发生在蓝点(上界)与总体均值相交或是橙点(下界)与总体均值相交之时。

为什么“我们有95%的信心”这种说法不完全对?

这之间的区别是十分微妙的。其存在的关键在于总体均值从不移动(呈水平线),它是从一个样本到另一个样本的置信区间的边界。现在你可以明白为什么说“总体均值有95%的几率落在置信区间内是没有意义了吧。”总体均值并没有变化,它是永远不会移动的。

本文主要研究总体均值的置信区间。我们经常遇到比例(z检验)和线性回归参数的置信区间的问题。不过,这些解释也是一样的。

为什么“我们有95%的信心”这种说法不完全对?

结论

生活中充满了贝叶斯统计理论。如果有人说“我们有95%的信心……”,这也是可以理解的,毕竟,经理们根本不想重复一百万次实验来验证这个。人们经常绘制一个样本并计算一个置信区间,但是在告诉其他人其含义时,不应该忘记置信区间是一个频率学派的概念。

为什么“我们有95%的信心”这种说法不完全对?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多