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

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

我们先来看一个例子。民航旅客服务系统,简称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。因此,样本均值的概率分布应该是:\bar{x}\sim N(\mu_{0},\frac{\sigma^{2}}{n})=N(160,24)

在这样一个概率分布上,实际结果是170,也就是说,比均值160高出了10以上。这个结果的概率算下来是:P(T)=1-\Phi(\frac{170-60}{\sqrt{24}} )=0.0207

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/66376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot2 + Flowable(UI)

文章目录 引言I 技术栈软件架构基于 Vue.js 和 Element UI 的后台管理系统工程结构II 依赖rest,logic,conf 的依赖工作流flowable jar包flowable-ui所需jar包III 配置jdbc 配置 nullCatalogMeansCurrent = true引言 I 技术栈 软件架构 前端基于vue 、element-ui框架分模块设…

Linux探秘坊-------3.开发工具详解(1)

1 初识vim编辑器 创建第一个vim编辑的代码 1.新建文件 2.使用vim打开 3.打开默认是命令模式,写代码需要在屏幕上输出“i”字符 1.写完代码后要按Esc键退出到指令模式2.再按shift:wq即可保存并退出vim (因为不支持鼠标,通常 使用键盘上的箭…

基于海思soc的智能产品开发(高、中、低soc、以及和fpga的搭配)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 市场上关于图像、音频的soc其实非常多,这里面有高、中、低档,开发方式也不相同。之所以会这样,有价格的因素&am…

51单片机——DS18B20温度传感器

由于DS18B20数字温度传感器是单总线接口,所以需要使用51单片机的一个IO口模拟单总线时序与DS18B20通信,将检测的环境温度读取出来 1、DS18B20模块电路 传感器接口的单总线管脚接至单片机P3.7IO口上 2、DS18B20介绍 2.1 DS18B20外观实物图 管脚1为GN…

STL容器-- list的模拟实现(附源码)

STL容器-- list的模拟实现(附源码) List的实现主要时考察我们对list这一容器的理解,和代码的编写能力,通过上节对list容器的使用,我们对list容器已经有了一些基本的了解,接下来就让我们来实现一些list容器常…

Lynx TiDB 慢日志收集工具

作者: 小龙虾爱大龙虾 原文来源: https://tidb.net/blog/7247e68f 简介 lynx 工具可以定时将 TiDB 集群的慢查询收集并持久化到后端数据库中,然后通过 grafana 查询展示出来,这可以帮助我们更好的分析慢查询日志。 背景 尽管…

Gin 源码概览 - 路由

本文基于gin 1.1 源码解读 https://github.com/gin-gonic/gin/archive/refs/tags/v1.1.zip 1. 注册路由 我们先来看一段gin代码,来看看最终得到的一颗路由树长啥样 func TestGinDocExp(t *testing.T) {engine : gin.Default()engine.GET("/api/user", f…

【逆境中绽放:万字回顾2024我在挑战中突破自我】

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 一、引言二、个人成长与盘点情感与心理成长学习与技能提升其它荣誉 三、年度创作历程回顾创作内容概…

【Linux 重装】Ubuntu 启动盘 U盘无法被识别,如何处理?

背景 U盘烧录了 Ubuntu 系统作为启动盘,再次插入电脑后无法被识别 解决方案(Mac 适用) (1)查找 USB,(2)格式化(1)在 terminal 中通过 diskutil list 查看是…

中职网络建设与运维ansible服务

ansible服务 填写hosts指定主机范围和控制节点后创建一个脚本,可以利用简化脚本 1. 在linux1上安装系统自带的ansible-core,作为ansible控制节点,linux2-linux7作为ansible的受控节点 Linux1 Linux1-7 Yum install ansible-core -y Vi /etc/ansible/hosts 添加…

数据库服务体系结构

1. 数据库服务应用配置 服务进行配置有什么作用? 实现服务运行启动 实现某些功能 应用配置有三种方式? 利用编译安装进行配置 编写配置文件信息 ,.默认的配置文件: /etc/my.cnf 利用启动命令参数配置信息,mysqld_safe --skip-grant-tables --…

Langchain+FastApi+Vue前后端Ai对话(超详细)

一、引入 首先可以先看下作者的文章 FastApi相关文章:创建最简单FastApi的项目Vue相关文章:最简单的aixos二次封装Langchain相关文章:如何使用LangSmith跟踪deepseek模型 二、后端搭建 1 项目文件结构 routers:存放api接口se…

简历_使用优化的Redis自增ID策略生成分布式环境下全局唯一ID,用于用户上传数据的命名以及多种ID的生成

系列博客目录 文章目录 系列博客目录WhyRedis自增ID策略 Why 我们需要设置全局唯一ID。原因:当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题。 问题:id的规律性太明显、…

Jira中bug的流转流程

Jira中bug的状态 1. 处理Bug的流程2. bug状态流转详述bug的状态通常包括 1. 处理Bug的流程 2. bug状态流转详述 bug的状态通常包括 未解决 1. 测试人员创建一个bug,填写bug的详细信息,如概要、bug级别、复现步骤、现状、预期结果等 2. 定位bug&#x…

Linux的几个基本指令

文章目录 一、几个基本指令1、ls 指令注意! 2、pwd命令3、touch 指令4、mkdir 指令注意!注意! 5、cd 指令注意! 6、cp 指令 今天我们学习Linux下的几个基本指令,本篇是在Xshell环境下执行的。 一、几个基本指令 1、…

数据库基础练习1(创建表,设置外键,检查,不为空,主键等约束)安装mysql详细步骤

安装MySQL详细步骤 1. 下载 MySQL 安装程序 访问 MySQL 官方网站:MySQL Downloads。在下载页面,选择 "MySQL Community (GPL) Downloads"。在 "MySQL Community Server" 部分,根据你的操作系统(Windows&…

ThinkPHP 8的一对多关联

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…

工业网口相机:如何通过调整网口参数设置,优化图像传输和网络性能,达到最大帧率

项目场景 工业相机是常用与工业视觉领域的常用专业视觉核心部件,拥有多种属性,是机器视觉系统中的核心部件,具有不可替代的重要功能。 工业相机已经被广泛应用于工业生产线在线检测、智能交通,机器视觉,科研,军事科学,航天航空等众多领域 …

java使用poi-tl自定义word模板导出

文章目录 概要整体架构流程创建word模板核心代码导出结果 概要 在软件开发领域,自定义Word模板的使用是导出格式化数据的一种常见做法。poi-tl(Apache POI Template Language)作为一款基于广受认可的Apache POI库的Word模板引擎,…

IDEA2023版中TODO的使用

介绍:TODO其实本质上还是注释,只不过加上了TODO这几个字符,可以让使用者快速找到。 注意:在类、接口等文件中,注释是使用// 即:// TODO 注释内容 在配置文件中,注释是使用# 即:# TO…