【机器学习 | 假设检验系列】假设检验系列—卡方检验(详细案例,数学公式原理推导),最常被忽视得假设检验确定不来看看?

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍

在这里插入图片描述

【机器学习 | 假设检验系列】假设检验系列—卡方检验(详细案例,数学公式原理推导),最常被忽视得假设检验确定不来看看?
作者: 计算机魔术师
版本: 1.0 ( 2023.8.27 )

摘要: 本系列旨在普及那些深度学习路上必经的核心概念,【机器学习 | 假设检验系列】假设检验系列—卡方检验(详细案例,数学公式原理推导),最常被忽视得假设检验确定不来看看?

该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

假设检验(Hypothesis Testing)

假设检验(Hypothesis Testing)是狭义数据分析中的一种常用方法,用于检验关于总体参数的假设。它可以帮助我们判断样本数据与某个假设之间是否存在显著差异。假设检验通常涉及以下步骤:

  1. 建立原假设(Null Hypothesis)和备择假设(Alternative Hypothesis):原假设是关于总体参数的某种假设,备择假设是与原假设相对立的假设。

  2. 选择适当的假设检验方法:根据研究问题和数据类型,选择适合的假设检验方法,例如t检验、卡方检验、ANOVA等。

  3. 计算检验统计量:根据所选的假设检验方法,计算得到相应的检验统计量。

  4. 确定显著性水平:设定显著性水平(例如0.05),表示拒绝原假设的阈值。

    p 值(p-value)是用于衡量统计假设检验结果的一个概率指标(可以理解为是一个用来衡量观察到的数据与原假设之间的矛盾程度的指标)。它表示观察到的数据或更极端情况下,基于原假设(零假设)成立的情况下发生的概率。

  5. 进行假设检验:根据检验统计量和显著性水平,判断样本数据是否足够证据支持或拒绝原假设。

  6. 得出结论:根据假设检验的结果,得出关于总体参数的结论,并进行解释。

假设检验可以帮助我们验证关于总体参数的假设,从而在数据分析过程中提供可靠的推断和结论。因此,它可以被视为狭义数据分析的一部分。

名称介绍优缺点
正态性检验 (Normality Test)正态性检验用于确定数据是否符合正态分布。常用的正态性检验方法包括Kolmogorov-Smirnov检验、Shapiro-Wilk检验和Anderson-Darling检验等。优点:可以帮助确定数据是否适合使用基于正态分布的统计方法。缺点:对于大样本数据,即使微小的偏差也可能导致拒绝正态性假设。
相关性检验 (Correlation Test)相关性检验用于确定两个变量之间的相关性。常用的相关性检验方法包括Pearson相关系数、Spearman等级相关系数和Kendall秩相关系数。(该检验算法只能用于数值型,而不能用于类别型)优点:可以衡量变量之间的线性或非线性关系。缺点:相关性并不能说明因果关系,只是指示变量之间的关联程度。
异常值检测 (Outlier Detection)异常值检测用于识别在数据集中具有异常特征的数据点。常用的异常值检测方法包括基于统计学的Z-score方法、3σ原则箱线图方法和基于距离的方法(如DBSCAN)优点:可以帮助识别异常值,对于数据清洗和异常数据处理很有用。缺点:某些方法对于多维数据和高维数据的处理较为困难。
方差分析 (Analysis of Variance, ANOVA)方差分析用于比较两个或多个组之间的均值是否有显著差异。常用的方差分析方法包括单因素方差分析和多因素方差分析。优点:适用于比较多个组之间的差异,提供了有效的统计推断。缺点:对于非正态分布的数据和小样本容量可能不适用。
t检验 (t-Test)t检验用于比较两个组之间的均值是否有显著差异。常用的t检验方法包括独立样本t检验和配对样本t检验。优点:简单易用,适用于小样本数据。缺点:对于非正态分布的数据可能不准确,对异常值敏感。
卡方检验 (Chi-Square Test)卡方检验用于比较两个或多个分类变量之间的关联性。常用的卡方检验方法包括卡方独立性检验和卡方拟合度检验。优点:适用于分类数据的统计推断,用于检验观察频数与期望频数之间的差异。缺点:对于样本量较小或期望频数较低的情况可能不准确。
平稳性检验(Stationarity Test)用于检验时间序列数据是否具有平稳性的统计检验方法。平稳性是指时间序列的统计特性在不同时间段上保持不变。优点:可以判断时间序列数据是否具有平稳性,为后续时间序列分析提供基础。
缺点:不同的平稳性检验方法可能会得出不同的结果,需要综合考虑多个检验方法。
白噪声检验(White Noise Test)用于检验时间序列数据是否符合白噪声过程的统计检验方法。白噪声是指具有相互独立且均值为零的随机变量序列,没有序列之间的相关性。优点:可以检验时间序列数据是否具有随机性和独立性,对于时间序列分析的合理性很重要。
缺点:不同的白噪声检验方法可能会得出不同的结果,需要综合考虑多个检验方法。

卡方检验

卡方检验(Chi-square test)是由卡方分布(Chi-square distribution)衍生而来的一种统计方法。卡方分布最初由英国统计学家卡尔·皮尔逊(Karl Pearson)于1900年提出,提供了一种有效的方法来分析和解释离散型数据的关联性,帮助研究人员得出结论和推断。卡方检验是基于卡方分布的概念发展而来的,于此后的统计学和应用领域被广泛使用,例如医学研究、社会科学调查、市场研究等。

卡方统计量的计算基于观察频数与期望频数的差异程度,差异越大,卡方统计量的值就越大。卡方统计量的分布与自由度有关,可以使用卡方分布表或统计软件来确定其对应的显著性水平。通常情况下,我们选择一个显著性水平(例如0.05),如果计算得到的卡方统计量大于对应自由度和显著性水平的临界值,就拒绝原假设,认为观察到的频数与期望频数之间存在显著差异,即变量之间存在关联或独立性被拒绝。

假设我们有一个二维列联表(contingency table),其中包含了两个分类变量的观测频数。表格如下所示:

变量B=0变量B=1总计
变量A=0aba+b
变量A=1cdc+d
总计a+cb+da+b+c+d

其中,a、b、c、d 分别表示四个格子中的观测频数。

卡方检验的原假设(null hypothesis)是:变量A和变量B是相互独立的,即它们之间没有显著关联。备择假设(alternative hypothesis)是:变量A和变量B是相关联的,即它们之间存在显著关联。

卡方检验的步骤如下:

步骤 1:计算期望频数(expected frequencies)

首先,我们需要计算每个单元格的期望频数,即在假设变量A和变量B是独立的情况下,每个单元格中的预期频数。期望频数的计算公式如下:

卡方检验中的期望频数是根据原假设(变量A和变量B是独立的)(这很重要!!)来计算的。预期频数的计算采用了边际总频数和行、列边际频数的乘积。

假设变量A和变量B是独立的,那么变量A的取值(0或1)与变量B的取值(0或1)之间应该没有关联。因此,我们可以将总体中相应的比例应用于每个格子中的边际频数。

考虑到每个格子中的边际频数,我们可以计算期望频数 E i j E_{ij} Eij,其中 i 表示行索引,j 表示列索引:

E i j = ( a + b ) ( a + c ) a + b + c + d E_{ij} = \frac{{(a+b)(a+c)}}{{a+b+c+d}} Eij=a+b+c+d(a+b)(a+c)

这个计算公式的推导如下:

  1. 首先,我们考虑变量A的取值为0的情况。在这种情况下,变量A=0的概率是 a + b a + b + c + d \frac{{a+b}}{{a+b+c+d}} a+b+c+da+b(a+b 是变量A=0的边际频数,a+b+c+d 是总体的边际频数)。同样地,变量B=0的概率是 a + c a + b + c + d \frac{{a+c}}{{a+b+c+d}} a+b+c+da+c。由于我们假设变量A和变量B是独立的,我们可以将这两个概率相乘得到变量A=0且变量B=0的联合概率: ( a + b ) ( a + c ) ( a + b + c + d ) 2 \frac{{(a+b)(a+c)}}{{(a+b+c+d)^2}} (a+b+c+d)2(a+b)(a+c)
  2. 接下来,我们将联合概率乘以总体的边际频数 ( a + b + c + d ) (a+b+c+d) (a+b+c+d),以获得变量A=0且变量B=0的期望频数 E 00 E_{00} E00。因此,我们得到了公式中的分子部分: ( a + b ) ( a + c ) a + b + c + d \frac{{(a+b)(a+c)}}{{a+b+c+d}} a+b+c+d(a+b)(a+c)。类似地,我们可以推导出其他格子的期望频数。

这样,我们就得到了卡方检验中期望频数的计算公式。

需要注意的是,期望频数是在原假设下计算的,假设变量A和变量B是独立的。如果观测频数与期望频数之间存在显著差异,那么我们将拒绝原假设,认为变量A和变量B之间存在显著关联。

E i j = ( a + b ) ( a + c ) a + b + c + d E_{ij} = \frac{{(a+b)(a+c)}}{{a+b+c+d}} Eij=a+b+c+d(a+b)(a+c)

其中, E i j E_{ij} Eij 表示第 i 行第 j 列单元格的期望频数。(这里的i = 1, j = 1)

步骤 2:计算卡方统计量(chi-square statistic)

接下来,我们计算卡方统计量,用于衡量观测频数与期望频数之间的差异。卡方统计量的计算公式如下:

χ 2 = ∑ ( O i j − E i j ) 2 E i j \chi^2 = \sum \frac{{(O_{ij} - E_{ij})^2}}{{E_{ij}}} χ2=Eij(OijEij)2

其中, χ 2 \chi^2 χ2 表示卡方统计量, O i j O_{ij} Oij 表示第 i 行第 j 列单元格的观测频数, E i j E_{ij} Eij 表示第 i 行第 j 列单元格的期望频数。

步骤 3:计算自由度(degrees of freedom)

自由度是卡方统计量中可以自由变动的观测值的数量。在卡方检验中,自由度的计算公式如下(以在卡方分布表中查找对应的临界值或计算 p 值):

自由度的公式是根据卡方检验中的二维列联表的维度来确定的。在二维列联表中,行和列的数量分别为 r 和 c。

假设我们有一个 r 行 c 列的二维列联表。自由度的计算基于以下原则:

  • 在行方向上,我们可以自由选择每个单元格的观测频数,但是要满足行边际频数。
  • 在列方向上,我们也可以自由选择每个单元格的观测频数,但是同样要满足列边际频数。

因此,对于每个单元格,我们有一个自由度。总的自由度等于所有单元格的自由度之和。

在二维列联表中,行和列的边际频数已知,所以我们只需要确定每个单元格的观测频数。一旦我们选择了 r 行 c 列个单元格的观测频数,其他单元格的观测频数就会被固定。

为了保持边际频数不变,我们需要根据边际频数的限制条件来选择观测频数。对于二维列联表,有两个限制条件,一个是行边际频数,另一个是列边际频数。

考虑到这些限制条件,我们可以自由选择的单元格的个数为 (r-1) × (c-1)。这是因为,一旦我们选择了其中一个单元格的观测频数,改行列的其他单元格的观测频数将根据限制条件被固定。

d f = ( r − 1 ) ( c − 1 ) df = (r-1)(c-1) df=(r1)(c1)

其中, r r r 表示行数, c c c 表示列数。

步骤 4:计算 p 值(p-value)

我们根据卡方统计量和自由度计算 p 值。一种常用的方法是将卡方统计量与自由度对应的卡方分布进行比较,并计算出落入更极端区域的概率。这可以通过查找卡方分布表或使用统计软件进行计算。在实际应用中,通常使用软件包(如Python的SciPy库或R语言中的stats包)来计算 p 值。

根据给定的显著性水平(significance level),通常选择 p 值与显著性水平进行比较。如果 p 值小于显著性水平,通常为0.05,我们可以拒绝原假设,认为变量A和变量B之间存在显著关联;否则,我们接受原假设,认为变量A和变量B之间没有显著关联。

下面则是一个真实简单的案例来说明卡方检验的流程和原理:

假设我们想研究男性和女性之间是否存在喜欢不同类型电影的差异。我们随机选择了100个男性和100个女性,并记录了他们对三种类型电影的喜好(A类、B类和C类)。

观察到的频数如下:

          A类    B类    C类
男性      30     35     35
女性      45     25     30

首先,我们需要建立假设。在这里,我们的原假设是“男性和女性对不同类型电影的喜好没有差异”。备择假设是“男性和女性对不同类型电影的喜好有差异”。

接下来,我们计算期望频数。期望频数是基于原假设,假设男性和女性对电影类型的喜好是独立的。我们可以通过公式计算期望频数如下:

          A类    B类    C类
男性      37.5   32.5   30
女性      37.5   32.5   30

然后,我们计算卡方统计量。卡方统计量衡量了观察频数与期望频数之间的差异,我们可以计算出卡方统计量为:

卡方统计量 = [(30-37.5)²/37.5] + [(35-32.5)²/32.5] + [(35-30)²/30] + [(45-37.5)²/37.5] + [(25-32.5)²/32.5] + [(30-30)²/30] ≈ 6.8

最后,我们需要确定卡方统计量的显著性水平。我们使用自由度来确定显著性水平,在这个例子中,自由度为 (2-1) × (3-1) = 2。

我们可以使用卡方分布表或统计软件来查找卡方统计量对应的显著性水平。假设我们使用了显著性水平为0.05,自由度为2,我们发现卡方统计量的临界值为5.99。由于6.8 > 5.99,我们可以拒绝原假设,接受备择假设,即男性和女性对不同类型电影的喜好存在差异。

临界值是在显著性水平下拒绝原假设的界限。如果观察到的卡方统计量大于临界值,我们可以拒绝原假设。

在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳

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

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

相关文章

2024 年,新程序员如何与AI共赢!!

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

如何在Facebook Business Manager进行企业认证

Facebook Business Manager,简称BM,按照字面意思理解就是Facebook官方的商务管理平台,是供广告主团队去使用的一个管理工具。BM可以绑定Facebook公共主页、广告账户等一系列Facebook账号。通过BM,企业就可以在一个后台&#xff0c…

Amazon SageMaker: 拓展机器学习边界,塑造未来创新趋势

授权说明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道。 近期在 re:Invent 2023 大会上,亚马逊云科技发布了一…

Stable Diffusion 源码解析(1)

参考1:https://blog.csdn.net/Eric_1993/article/details/129393890 参考2:https://zhuanlan.zhihu.com/p/613337342 1.StableDiffusion基本原理1.1 UNetModel、FrozenCLIP 模型1.2 DDPM、DDIM、PLMS算法 2. Runwayml SD 源码2.1 Img2Img Pipeline2.2 DD…

蚁群优化算法ACO

蚁群优化算法模拟了自然界中蚂蚁的觅食行为,信息素浓度的大小表征路径的远近,信息素浓度越高,表示对应的路径距离越短。同时,路径上的信息素浓度会随着时间的推进而逐渐衰减。 1.过程 (1)初始化参数 蚁群…

Nginx+Tomcat实现负载均衡和动静分离

目录 前瞻 动静分离和负载均衡原理 实现方法 实验(七层代理) 部署Nginx负载均衡服务器(192.168.75.50:80) 部署第一台Tomcat应用服务器(192.168.75.60:8080) 多实例部署第二台Tomcat应用服务器(192.168.75.70:80…

8080端口被占用怎么解决,并结束释放8080端口

8080端口是被用于WWW代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,Win10 8080端口被占用解决方法吧。 1、按【 Win r】 2、运行窗口,输入【cmd】命令,按【确定或回车】,打开命…

基于SpringBoot 校园招聘系统设计与实现(源码+文档+可视化HTML+数据库)

摘 要 基于SpringBoot 校园招聘系统是一种基于Java技术的校园招聘和可视化展示的系统。该系统通过采集和整合各类招聘网站、社交媒体等渠道的数据,对招聘岗位进行深入分析,并将分析结果以直观、易懂的可视化形式呈现。系统能够自动从多个数据源获取招聘…

电子学会C/C++编程等级考试2023年03月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:拼点游戏 C和S两位同学一起玩拼点游戏。有一堆白色卡牌和一堆蓝色卡牌,每张卡牌上写了一个整数点数。C随机抽取n张白色卡牌,S随机抽取n张蓝色卡牌,他们进行n回合拼点,每次两人各出一张卡牌,点数大者获得三颗巧克力,小者获…

Flutter:web项目跨域问题解决

前后端解决系列 文章目录 一、Flutter web客户端解决本地环境调试跨域问题二、Flutter web客户端解决线上环境跨域问题 一、Flutter web客户端解决本地环境调试跨域问题 就一句命令【--web-browser-flag "--disable-web-security"】,用来屏蔽浏览器域名请…

大模型时代-让AI自己开发自己

一、前言 AI能自己开发自己或者开发和一个很像自己的东西吗?显然是可以的!因为AI模型的算法,基本就是学习和递归 二、大模型的算法实现例子 本例子就是通过AI模型来写 大模型的实现通常涉及到深度学习框架和大量的计算资源。具体的算法代…

Java入门学习笔记二

一、抽象类 当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的行为方式,那么这些方法都有具体的方法体。 分析事物时,发现了共性内容,就出现向上抽取。会有这样一种特殊情况,就是功…

Python实现高效摸鱼,批量识别银行卡号并自动写入Excel表格

前言 每当有新员工入职,人事小姐姐都要收集大量的工资卡信息,并且生成Excel文档,看到小姐姐这么辛苦,我就忍不住要去帮她了… 于是我用1行代码就实现了自动识别银行卡信息并且自动生成Excel文件,小姐姐当场就亮眼汪汪…

智能冶钢厂环境监控与设备控制系统(边缘物联网网关)

目录 1、项目背景 2、项目功能介绍 3、模块框架 3.1 架构框图 3.2 架构介绍 4、系统组成与工作原理 4.1 数据采集 4.2 指令控制 4.3 其他模块 4.3.1 网页、qt视频流 4.3.2 qt搜索进程 5、成果呈现 6、问题解决 7、项目总结 1、项目背景 这个项目的背景是钢铁行业的…

tesseract-ocr安装使用

描述: 在centos上安装 tesseract 并在springboot项目中使用 步骤一:安装 确认使用的版本tesseract和test4j版本需要匹配,这里选择最新版 tesseract5.3.3 ,test4j 5.9.0 版本匹配可查看 Releases nguyenq/tess4j GitHub 或…

使用 iperf 和 iftop 测试网络带宽

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

CSS中神奇的filter属性

CSS是Web开发中不可或缺的一部分,它可以帮助开发者在页面上添加各种各样的样式和效果。其中一个比较神奇的CSS属性就是filter,它可以让我们实现各种有趣的图形处理效果。 一、filter属性的基础 filter属性是CSS中用于对元素进行图形效果处理的属性之一…

C语言—每日选择题—Day47

第一题 1. 以下逗号表达式的值为() (x 4 * 5, x * 5), x 25 A:25 B:20 C:100 D:45 答案及解析 D 本题考查的就是逗号表达式,逗号表达式是依次计算每个表达式,但是只输出最后一个表…

【算法题】开源项目热度榜单(js)

解法 const lines ["4","8 6 2 8 6","camila 66 70 46 158 80","victoria 94 76 86 189 211","athony 29 17 83 21 48","emily 53 97 1 19 218", ]; const lines2 ["5","5 6 6 1 2","…

ArkTS入门

代码结构分析 struct Index{ } 「自定义组件:可复用的UI单元」 xxx 「装饰器:用来装饰类结构、方法、变量」 Entry 标记当前组件是入口组件(该组件可被独立访问,通俗来讲:它自己就是一个页面)Component 用…