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

embedded/2025/1/24 13:25:36/

假设检验是根据人为设定的显著水平,对被测对象的总体质量特性进行统计推断的方法。

如果我们通过假设检验否定了零假设,只是说明在设定的显著水平下,零假设成立的概率比较小,并不是说零假设就肯定不成立。如果零假设事实上是成立的,我们就犯了弃真错误,也就是第一类错误。这种错误出现的可能性,叫做弃真概率。

如果我们通过假设检验接受了零假设,也只是因为测试结果和期望的差异并不显著,并不足以推翻零假设,并不是说零假设就肯定成立。如果零假设事实上并不成立,我们就犯了取伪错误,也就是第二类错误。这种错误出现的可能性,叫做取伪概率。

显然,如果减小显著水平,就更不容易推翻零假设,所以弃真概率会变小,但相应的取伪概率就会变大;而增大显著水平的话,就更容易推翻零假设,取伪概率会变小,但弃真概率就会变大。

那怎么才能同时减小弃真概率和取伪概率呢?一般要在减小显著水平的同时,增加样本量。来看一个例子。

很多人以为结核病已经绝迹了,实际上并不是。2023年世卫组织发布的报告说,结核病发病率高达万分之5.2,仍然是世界上最常见的传染病之一。结核病的传统药物治愈率是60%。最近有一家药厂研制了一种新药,随机找了50名患者做临床试验,治愈率达到了70%。那么,我们能不能下结论说,这种新药的药效比传统药物更好呢?

我们来做假设检验:

  1. 建立零假设。假设新药的药效跟传统药没有差别,治愈率还是60%;

  2. 设定显著水平。取α=0.01;

  3. 计算测试结果的发生概率。如果新药的治愈率是60%,就是说每个人被治愈的可能性都是60%,那么50人里有70%的人、也就是35人被治愈的概率是多少呢?可以用二项分布来计算,算出来的概率是0.04;

  4. 统计推断。由于测试结果的发生概率比显著水平0.01要大,所以我们会接受零假设,结论是新药跟传统药没有显著差别。

但是如果我们扩大临床试验的规模,把人数增加到120人,样本治愈率还是70%,用同样的方法算下来,概率是0.006,就比显著水平0.01要小了,于是零假设就被推翻了,结论就会变成“新药的药效要明显好于传统药物”。

这两个结论,哪一个更靠谱呢?很明显是后者。因为样本量越大, 样本就越能代表总体,抽样误差就越小。把样本量增大到120之后,发现假设检验的结论变了,说明之前样本量是50的时候,我们犯了取伪错误。

所以我们说,要想同时减小弃真概率和取伪概率,一般就需要增加样本量。这跟统计抽样测试里的结论是类似的。当然样本量越大,测试成本也越高。

在统计抽样测试中,我们可以借助操作特性曲线,来描述测试设计方案背后的生产方风险和使用方风险,给测试结论做一个必要的补充。这是统计抽样测试缓解测试可信性问题的常规思路。

操作特性曲线

海旭老师,公众号:重新认识测试设计【统计的思想】统计抽样测试(二)

其实还有一个办法,可以达到类似的效果,就是用假设检验。

还是来看例子:假设待测批的批量是5000,要求不合格率不超过25%,抽取了305件样品做检验,有92件不合格,样本的不合格率是30.2%。那么,待测批是不是一个合格批呢?按统计抽样测试的判断,结论应该是不合格,但这个结论不一定靠谱,有可能犯弃真错误,所以需要用操作特性曲线来补充说明。

如果用假设检验,应该怎么做呢?在前面的文章中,我们已经介绍过抽样分布的一组基本规律:

① 样本量越大,样本均值越趋近于服从正态分布;

② 样本均值的数学期望与总体的数学期望相同;

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

抽样分布的基本规律

海旭老师,公众号:重新认识测试设计【统计的思想】假设检验(一)

如果我们把不合格的样本记作1,合格的样本记作0,那样本均值就等同于样本不合格率。这样,上述基本规律就能应用于统计抽样测试了,即:

① 当样本量n很大的时候,样本不合格率近似服从正态分布;

② 样本不合格率的数学期望,等于整批的不合格率p;

③ 样本不合格率的方差,等于p(1-p)/n。因为整批服从伯努利分布,方差是p(1-p)。

基于此,我们就可以做假设检验了:

  1. 建立零假设。假设整批的不合格率是25%,是一个合格批;

  2. 设定显著水平。这里取α=0.05;

  3. 计算测试结果发生的概率。既然样本不合格率服从正态分布,均值是25%,方差是:\sigma_{\hat{p}}=\sqrt{\frac{p(1-p)}{n}}=0.0248

    那么样本不合格率达到30.2%以上的概率,就是:P(T)=1-\Phi\left( \frac{0.302-0.25}{0.0248} \right)=0.0179

  4. 统计推断。测试结果发生的概率比显著水平小,所以否定零假设。

最终的测试结论是,在显著水平0.05的概率意义下,待测批不合格。可以看到,假设检验是从显著水平的角度来补充测试结论的,同样能缓解测试可信性问题。


http://www.ppmy.cn/embedded/156577.html

相关文章

如何轻松实现域名指向服务器

在互联网时代,域名指向服务器是网站上线的关键步骤。域名是用户访问网站的入口,而服务器则是存储网站数据的地方。将域名正确指向服务器,能让用户顺利访问网站内容。虽然这个过程对新手来说可能有些陌生,但只要掌握正确的方法&…

strdup 函数

strdup 函数是 C 标准库中的一个函数&#xff0c;用于复制一个字符串。它的全称是 "string duplicate"。这个函数在 <string.h> 头文件中声明。strdup 函数会分配足够的内存来存储源字符串的副本&#xff0c;并将源字符串的内容复制到新分配的内存中。然后返回…

链式前向星实现树的存储(孩⼦表示法)c++

名字看起来花⾥胡哨的&#xff0c;但是不要被唬到 链式前向星的本质就是⽤链表存储所有的孩⼦&#xff0c;其中链表是⽤数组模拟实现的 创建⼀个⾜够⼤的数组h&#xff0c;作为所有结点的哨兵位;创建两个⾜够⼤的数组e和ne&#xff0c;⼀个作为数据域&#xff0c;⼀个作为指针域…

使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测。

1、导入需要的包 # 导入鸢尾花数据集 from sklearn.datasets import load_iris # 数据可视化包 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler, StandardScaler from sklearn.neighbors import …

2024年度总结:做一个持续精进的人

文章目录 引言深圳三年&#xff1a;挑战与收获博客与我&#xff1a;记录与思考总结&#xff1a;感恩与前行 引言 时间如白驹过隙&#xff0c;再次提起这句话&#xff0c;已然和之前在学校时的份量不太一样了。也不知道是不是身在深圳的缘由&#xff0c;深圳作为一个超一线城市…

使用LabVIEW的History功能实现队列数据的读取而不清空

在LabVIEW中&#xff0c;有多种方法可以读取队列中的数据而不清空它。使用 Dequeue Element 和 Enqueue Element 函数可以实现读取并重新插入数据回队列&#xff0c;但当需要处理大数据流或需要更动态的解决方案时&#xff0c;这种方法可能会变得繁琐。一个更高效的解决方案是利…

【Vim Masterclass 笔记24】S10L43 + L44:同步练习10 —— 基于 Vim 缓冲区的各类基础操作练习(含点评课)

文章目录 S10L43 Exercise 12 - Vim Buffers1 训练目标2 操作指令2.1. 打开 buf* 文件2.2. 查看缓冲区 View the buffers2.3. 切换缓冲区 Switch buffers2.4. 同时编辑多个缓冲区 Edit multiple buffers at once2.5. 缓冲区的增删操作 Add and delete buffers2.6. 练习 Vim 内置…

【C++】详细讲解继承(上)

C面向对象的三大特性&#xff1a;封装&#xff0c;继承&#xff0c;多态。现在我们就介绍一下继承。 1.继承的概念及定义 1.1 继承的概念 继承机制是⾯向对象程序设计使代码可以 复⽤ 的最重要的⼿段。我们前面接触到的都是 函数 层次的复用&#xff0c;遇到过的 类 层次的复…