【统计的思想】假设检验(一)

假设检验是统计学里的重要方法,同时也是一种"在理想与现实之间观察求索"的测试活动。假设检验从概率的角度去考察理想与现实之间的关系,籍此来缓解测试可信性问题。

我们先来看一个例子。民航旅客服务系统,简称PSS系统,有一种业务叫换飞机,如果一个航班,原定执飞的飞机出了故障,就需要换飞机。但是可能换不到原来机型的飞机,比如原来是一个空客320,只能换到一个波音737,这就比较麻烦了,系统需要做很多事,要更换航班布局、所有旅客要重新安排座位,等等。用的时间会比较长。

假设PSS系统的一个期望是"换飞机的平均处理时长不超过160秒"。这是一个关于系统性能的期望。测试的时候,我们把换飞机的用例重复执行了6次,发现每次执行的系统处理时长都不一样,平均值是170秒。

那么我们的测试结论应该是什么?能断定系统性能不符合预期吗?显然不能,因为测试结果是一个随机变量,我们只测了6次,如果再多测几次,平均值可能就低于160秒了。

切比雪夫大数定律告诉我们,如果测试的次数足够多,处理时长的算数平均值就会趋近于数学期望,也就是真正的"平均处理时长"。但是我们的资源是有限的,只够我们做6次测试,所以结果一定有偏差,这就是++抽样误差++。而且,测试的次数越少,测试结果的方差越大,抽样误差也就越大。如果直接拿这样的结果去下测试结论,一定是有偏颇的。这就是测试的五个基本问题之一------测试可信性问题的典型表现。

怎么办呢?还是要依靠统计的思想。如果我们能知道,"6次测试的均值是170秒",这样一个结果发生的概率是多少,我们就能更准确地判断,系统性能是不是符合预期,或者说,有多大可能符合预期,测试结论就能更靠谱一些。

那么,怎么才能知道170秒这个结果发生的概率是多少呢?这就是抽样分布问题。抽样分布研究的是:从总体中抽取的样本,应该具有什么样的统计特征,跟总体的统计特征有什么关系。这是统计学里的一个重要课题。

比方说,桶里面有4个球,重量分别是2/3/3/4公斤。总体的数学期望是3,方差是0.5,标准差是0.707。我们用放回抽样的方式,从桶里抽2个球当样本,也就是先抽一个,看看是多重的,放回桶里,再抽下一个。可能的抽样结果一共有这样16种:

每种结果出现的可能性是相同的,都是1/16。这样我们就可以算出每种抽样结果的样本均值,以及所有16种样本均值的数学期望和方差。可以看到,样本均值的数学期望和总体的数学期望一样,都是3;样本均值的方差是0.25,也就是总体方差除以样本量2。

如果增加样本量,比如抽4个球,我们会发现结论是相同的,样本均值的数学期望还是跟总体数学期望一样;样本均值的方差还是等于"总体方差除以样本量"------看起来是有规律的。

接下来我们看样本均值的概率分布。来算一下各种不同的样本均值出现的概率,比如16种抽样结果里,样本均值是2.0的情况只出现了一次,所以2.0的概率是1/16;2.5出现了4次,所以2.5的概率是1/4。算出各个样本均值的概率之后,就可以画出样本均值的概率分布曲线了:

看得出来,已经有点像正态分布了。如果样本量是4,样本均值的概率分布曲线是下面这个样子,就更加接近正态分布:

从这个例子,我们可以引出++抽样分布的一组基本规律++:

  1. 样本量越大,样本均值越趋近于服从正态分布。

  2. 样本均值的数学期望与总体的数学期望相同。

  3. 样本均值的方差等于总体方差除以样本量。

到这里,我们就完成了假设检验的理论储备。那假设检验具体是怎么做的呢?我们还是用换飞机的例子来说明。

① 首先第一步是建立假设。我们先假设换飞机的平均处理时长是符合预期的,最多就是160秒。也就是说,总体均值是160。这个假设叫零假设。如果零假设成立,为什么实际测试结果均值会是170秒呢?因为这个170秒是"样本均值",跟"总体均值"之间有抽样误差。但是根据抽样分布规律,样本均值服从正态分布,有99.7%的概率会落在160附近6倍标准差的范围内,所以这个误差一般不会特别大,如果特别大就说明零假设有问题;

② 那怎么才算特别大呢?我们需要设定一个阈值,也叫显著水平,意思是"理想和现实的差异是不是足够显著",一般取一个比较小的值,比如0.05。如果一个抽样误差出现的概率比这个显著水平还要低,那这个抽样误差就算"特别大"了,我们就可以认为,出现这种程度的误差是一个小概率事件,在一次测试里面是不可能发生的。这就是小概率事件的实际不可能原理;

③ 第三步,在零假设的基础上,计算测试结果的发生概率。我们做了6次性能测试,相当于抽取了6个样本,样本均值是170秒。按照抽样分布规律,样本均值近似服从正态分布,这个正态分布的数学期望跟总体一样是160。另外假定总体方差已知,是144,那么样本均值的方差就是144/6=24。因此,样本均值的概率分布应该是:

在这样一个概率分布上,实际结果是170,也就是说,比均值160高出了10以上。这个结果的概率算下来是:

④ 最后,把这个概率跟显著水平0.05作比较,发现比显著水平要小,说明测试结果是一个小概率事件,但是的的确确发生了。也就是说,从零假设出发推出了矛盾,当然这个矛盾是统计意义上的矛盾。这时候,我们就可以否定零假设,所以最终的测试结论是,在显著水平0.05的意义上,换飞机的平均处理时长不符合预期,超过了160秒。

把假设检验的过程总结成一句话,就是:首先假设理想和现实相符,然后根据抽样分布规律,计算测试结果出现的概率,如果概率比显著水平低,就否定零假设,如果概率比显著水平高,就接受零假设。

相关推荐
海旭老师22 天前
大模型辅助测试的正确打开方式?
测试设计·测试基础理论
高山莫衣1 个月前
【返璞归真】score检验:似然比的得分检验(Likelihood Ratio Score Test)
统计
高山莫衣1 个月前
变点问题的公式推导
算法·统计
希艾席蒂恩1 个月前
高效数据分析:五款报表工具助力企业智能决策
大数据·数据库·信息可视化·统计·报表·可视化
希艾席蒂恩2 个月前
探索四款强大的免费报表工具,提升数据可视化能力
前端·数据库·信息可视化·统计·报表·数据可视化
希艾席蒂恩3 个月前
报表工具怎么选?山海鲸VS帆软,哪个更适合你?
信息可视化·统计·报表·可视化·图表
Desire.9844 个月前
Python 数学建模——Pearson/Spearman 相关系数
python·数学建模·统计·相关系数
皆过客,揽星河5 个月前
Python做统计图之美
开发语言·python·数据分析·pandas·统计·matplotlib·python数据可视化
知识分享小能手5 个月前
R 语言学习教程,从入门到精通,R 字符串(10)
大数据·开发语言·python·学习·r语言·spark·统计