一文详解假设检验、两类错误和p值

我们在生活中会遇到很多带有不确定性的问题,比如什么样的男孩子更容易找到女朋友,拥有什么样的品质更易成功。科学方法告诉我们,面对这些问题,要“大胆假设,小心求证”。而假设检验就是这样的一套方法论。

假设检验的定义

假设检验有很多不同角度的定义,比较偏统计学理论的定义说假设检验是先对总体参数提出一个假设值,然后利用样本信息判断这一假设是否成立。百度百科从假设检验的原理出发,说假设检验用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法,这句话的含义就是我观察到的样本数据与我的假设之间的差异是否是由随机性造成的。我个人比较喜欢从应用的角度来理解假设检验,所以我对假设检验的理解是:假设检验是对我们提出的假设进行检验的一套理论。可能大家会觉得这样的定义不是废话吗,这不就是字面意思嘛。其实定义只是我们理解一个概念的开始,对一个概念的完全理解,需要构建关于这个概念的一整套框架。而从从这个定义开始,我们就可以比较自然地构建关于假设检验的一个框架。从这个定义开始,我们可以把假设检验拆解成两部分,第一部分是面对一个复杂的不确定性问题,我们如何提出相关的假设;第二部分是,我们如何验证每一个假设。

如何构建假设

假设检验一次一般只能验证一个假设。所以我们首先要把一个问题转化成两个对立的假设。其中一个假设为零假设,习惯用H0表示;另一个假设为备择假设,习惯用H1表示。比如我们想要验证长得高的男孩子更容易找到女朋友,那么我们可以设置假设为:

H0: 身高高的男孩子不会比其他男孩子更容易找到女朋友
H1: 身高高的男孩子会比其他男孩子更容易找到女朋友

这里对设置零假设和备择假设有一些规则:

  1. H0假设通常为,我们所要验证的假设不成立,没有影响的情况,是实验者想要拒绝的假设。
  2. H0和H1是互相独立且互补的,也就是说要门H0成立,要么H1成立,没有其他情况。
  3. H1通常为,我们想要验证的假设,比如上面例子中,我们想要验证长的高的男孩子更容易找到女朋友。
  4. H0通常包含等号:=、≥或≤
  5. H1通常包含:≠、>或<

为什么实验者要把零假设设置为想要拒绝的假设呢?这里涉及到第一类错误和第二类错误的问题,这样有助于我们控制犯第一类错误的概率。关于什么是第一类错误和第二类错误,后文有详细的解释。

如何验证假设

在设立了假设以后,应该如何检验假设呢?首先需要说明的是,验证假设,并不是100%确定哪个假设为真,而只是选择为真的概率大的那个假设。那怎么确定两个假设为真的概率呢?就是用事实说话,我们看在哪种假设下,样本出现的概率大。我们先给出验证检验的一般步骤:

  1. 假设H0为真,确定样本统计量的概率分布
  2. 根据显著性水平,确定临界值
  3. 根据样本,计算实际的样本统计量的值
  4. 比较样本统计量的值和临界值大小,以判断是否接受H0

1.两种类型的错误

在设立了两个假设以后,需要利用样本数据来检验哪种假设为真的概率要大一些。那么我们得出来的结论会存在四种情况:当H0为真时,我们接受了H0;当H0为真时,我们接受了H1;当H0为假时,我们接受了H0;当H0为假时,我们接受了H1。我们举个关于法庭判案的例子,我设置假设为:

H0: 嫌疑人无罪
H1: 嫌疑人有罪

那么判决的结果就会出行以下四种情况:
在这里插入图片描述
我们在做出判决时,很难100%保证判决和事实相一致,在其他假设检验的场景中也是类似的。从以上的表格中,可以看到我们犯的错误只有两个,被称为第一类错误和第二类错误。第一类错误是指,在H0为真的情况下,我们选择了H1。第二类错误是在H0为假的情况下,我们选择了H0。由于像在上一部分所说的,H0一般设置为效果没有影响的情况,而H1是我们希望证明的有影响的情况,所以第一类错误也习惯被说成假阳性,意思是说本来没有效果,但我们认为是有效果的。而第二类错误习惯称为假阴性
在假设检验中,我们很难同时控制犯第一类错误和第二类错误的概率,一般只能控制一个。那控制哪个呢?这就要看我们更不希望犯哪类错误。其实我们更不希望犯第一类错误。第一类错误通俗理解来看,就是这个东西本来就是好的,这件事情本身是没什么作用的,而我们却认为这个东西是坏的,这件事情是有效果的。这样的情况往往是我们更不想看到的,比如上面法庭判决的例子,如果嫌疑人本身无罪而被判为有罪,这就是冤假错案那!
上面我们提到,在假设检验中我们要控制犯第一类错误的概率,这个概率就是显著性水平α。一般在研究中取α=0.05,也就是把犯第一类错误控制在5%以内。

2.验证假设

到这里,我们了解了假设检验的一般步骤,也知道了如何控制犯错误的概率。那么接下来就来看看如何进行验证假设,首先我们获得在H0成立的情况下,统计量的概率分布。依据概率分布的不同,我们这里可以把假设检验分成Z检验和t检验等。z检验是在统计量服从正太分布时的检验,而t检验是在统计量服从t分布时的检验。方便理解,我们举一个关于验证总体均值的假设检验。这里会存在两种检验类型,即单侧检验和双侧检验。什么是单侧检验呢?就是我们对总体均值的假设有一个方向,比如我们要验证总体均值μ是否大于μ0,那么我们就可以设置假设为:

H0:μ≤μ0
H1:μ>μ0

这就是一个单侧检验,当然我们也可以验证总体均值是否小于μ0。那什么是双侧检验呢?就是没有对总体均值有一个具体的方向,比如我们想要验证总体均值是否等于μ0,假设可以设置为:

H0:μ=μ0
H1:μ≠μ0

这里只用了总体均值举了个例子,对于验证总体中其他参数的假设情况是一样的。
在设立假设以后,需要构造统计量,对于总体均值我们构造统计量为样本均值,即在这里插入图片描述
依据中心极限定理,可得在样本容量n很大(大于30)时,样本均值服从正太分布,即:
在这里插入图片描述
其中μ为总体均值,σ平方为总体方差,当然一般会写成服从标准正太分布的形式,如下:在这里插入图片描述
以上是统计量服从正太分布的情况,但当总体方差未知,或者样本容量较小时,上面的统计量就不服从正太分布了,这时我们可以构造一个t统计量,服从t分布。关于t检验可以看看这篇文章。不管时Z检验还是T检验,其实验证假设的方法是一样的,只是Z检验建立在正太 分布上,T检验建立在t分布上。这里,我们用Z检验进行介绍。
获得了统计量的概率分布后,我们计算在H0为真的情况下的Z值,也就是把μ=μ0代入上式。不管是单侧检验,还是双侧检验,都是把临界值代入计算的。下面我用python模拟了一个标准正太分布:
在这里插入图片描述

红色的线代表了显著性水平α=0.025时的临界值,绿色线为用样本计算的Z值。可以看到绿色线比红色线处于更极端的位置,说明在H0成立的条件下,样本出现的概率是很小的,所以我们倾向于拒绝接受H0。当然,在这种情况下,H0也可能是成立的,也就是我们会犯第一类错误,但这个概率有多少呢?就是绿色线右边的区域所占的概率值,这个值是比我们设定的显著性水平要小的,我们可以接受犯这种错误。另外,绿色线也可能在红色线的左边,这时我们就无法拒绝H0了。
上面的展示的是单侧检验,而对于双侧检验,是下面这样的:在这里插入图片描述
我们需要同时检验两边,绿色线在右边红色线的右边,和在左边红色线的左边,我们都拒绝H0;在两条红色线之间,我们才无法拒绝H0。这里的理由和单侧检验是类似的,只不过这个时候要两边都要检验。

3. 利用p值验证假设

上面我们是通过直观的方式来判断是否接受原假设,还有一种是通过数值的方式来进行判断的。这里我们需要借助p值。什么是p值呢?当然关于p值的定义有很多,我说一下我的理解,我觉得p值就是在H0成立的条件下,出现比计算出来的样本统计量更极端值的概率。下面的这张图可以直观的理解p值。和前面的几幅图一样,红色线代表显著性水平下的临界值,绿色线表示在H0为真时,计算出来的样本统计量。p值是比绿色线更极端值的概率,在图上可以表示为大于绿色线区域(也就是图中红色区域的部分)所占的比例。
在这里插入图片描述
弄这个p值有什么用呢?我们可以看看前面是怎么验证假设的,首先我们得要把统计量的概率分布图给画出来,然后确定显著性水平的临界值的位置,接着我们对比样本统计量与临界值位置,来判断是否接受H0。这个过程看起来比较繁琐,而用p值就可以简化这个步骤。当我们得到统计量的概率分布后,按照p值的定义,可以直接算出来p值的大小。接着我们直接对比p值和显著性水平α的大小,就可以判断是否接受H0了。当p值小于α时,我们拒绝H0;当p值大于α时,我们接受H0。简化了很多有木有。其实我们可以看到,α值就是图中比红色线更极端值的概率。

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Linux内核是一种开源的操作系统内核,是Linux操作系统的核心组成部分。它提供了操作系统与硬件之间的抽象层,负责管理系统的资源、调度任务、提供驱动程序等功能。 Linux内核采用分层的架构,包括硬件抽象层、系统调用层、进程管理层、文件系统层和网络层等。硬件抽象层负责将不同硬件设备的接口统一起来,使得上层的软件可以方便地与硬件进行通信。系统调用层提供了一组API供用户进程调用,如文件操作、网络通信等。进程管理层负责进程的创建、销毁以及调度等任务。文件系统层负责文件的管理和存储。网络层负责网络协议的实现和网络通信。 Linux内核的工作原理可以简单概括为以下几个关键步骤。首先,当一台计算机启动时,BIOS会加载内核映像到内存中,并执行启动代码。然后,内核初始化各种数据结构、驱动程序和关键服务。接下来,内核创建一个初始的用户空间进程,称为init进程。init进程是所有其他进程的祖先进程。在此之后,内核根据调度算法来决定哪个进程可以使用CPU,并依次执行。同时,内核会提供一个中断机制,以便处理硬件事件的优先级。 内核还提供了许多系统调用供用户进程调用,以实现对各种功能的访问。当用户进程需要操作文件、创建进程或进行网络通信时,会通过系统调用将请求传递给内核,由内核代表用户进程执行相应的操作。内核通过调度算法来分配CPU时间片,并通过虚拟内存管理来管理内存资源的分配和回收。 总而言之,Linux内核是一个高度可配置和模块化的操作系统内核,通过分层架构和系统调用机制实现了对硬件的抽象和对用户进程的管理。了解Linux内核的架构和工作原理,有助于深入理解Linux操作系统以及开发和调试相关应用程序。 ### 回答2: Linux是一种开源的操作系统内核,其设计目标是为了在不同的计算机硬件平台上提供高效的、稳定的和安全的操作系统服务。 Linux内核的架构可以分为三个主要部分:进程管理、内存管理和文件系统管理。 在进程管理方面,Linux内核使用了多任务处理技术,可以同时运行多个进程。每个进程都有独立的地址空间和资源,通过调度算法可以合理分配CPU时间片,优化系统的响应速度和资源利用率。 在内存管理方面,Linux内核使用了虚拟内存技术,将物理内存和逻辑内存进行了映射,使得每个进程都有独立的地址空间。当物理内存不足时,Linux内核会通过页面置换算法将暂时不使用的页写入磁盘交换空间,以释放物理内存供其他进程使用。 在文件系统管理方面,Linux内核支持多种文件系统,包括传统的ext3和ext4文件系统,以及现代的Btrfs和XFS文件系统。它负责文件的读写操作,以及文件的权限控制和磁盘空间的管理。 Linux内核的工作原理可以简单概括为以下几个步骤:首先,启动引导程序将内核加载到内存中,并进行初始化。然后,内核分配一部分内存作为内核空间,用于存放内核代码和数据结构。接着,内核根据系统的硬件配置进行设备的初始化和驱动程序的加载。之后,内核根据系统的启动参数和配置文件进行一系列的初始化工作,包括启动系统服务和加载用户程序。最后,内核进入主循环,不断地处理中断、调度进程、管理内存和文件系统,以提供稳定的操作系统服务。 总之,Linux内核是一个复杂而高效的软件系统,它通过进程管理、内存管理和文件系统管理等功能,实现了操作系统的基本功能。了解Linux内核的架构和工作原理,有助于我们更好地理解和使用这个优秀的开源操作系统。 ### 回答3: Linux内核是一个开放源代码的操作系统内核,由一个核心程序和一组通用的系统工具组成。它是Linux操作系统的核心,负责处理硬件设备、管理系统资源、实现进程管理、文件系统和网络功能等。 Linux内核的架构可以分为两个层次:用户空间和内核空间。用户空间包括用户应用程序,如图形界面、终端程序等,它们通过系统调用接口与内核进行通信。内核空间包括内核核心的数据结构和程序,用于管理和控制硬件资源。 Linux内核的工作原理可以概括为以下几个方面: 1. 进程管理:内核负责创建、调度和终止进程。它使用进程描述符(task_struct)来跟踪进程的状态和资源使用情况,并根据调度算法分配CPU时间片给不同的进程。 2. 内存管理:内核负责管理系统的物理内存和虚拟内存。物理内存管理包括内存分配和释放,虚拟内存管理包括页面置换和页面回写等策略,以优化内存的使用效率。 3. 文件系统:内核提供文件系统接口,管理文件和目录的创建、读写和删除等操作。它通过虚拟文件系统层(VFS)将不同的文件系统统一管理,如ext4、NTFS等。 4. 设备驱动:内核提供了访问硬件设备的接口,通过设备驱动程序与硬件交互。不同的硬件设备需要不同的驱动程序,如网卡、显卡、声卡等。 5. 网络功能:内核提供TCP/IP协议栈和网络设备驱动程序,用于实现网络通信功能。它提供网络连接的建立、数据传输和断开等功能,支持各种网络协议,如HTTP、FTP、SSH等。 总的来说,Linux内核是一个非常复杂且功能强大的软件,它负责管理计算机的各种资源和提供操作系统的各种功能。通过深入理解其架构和工作原理,我们可以更好地理解和使用Linux操作系统。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值