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

本文主要是介绍【机器学习 | 假设检验系列】假设检验系列—卡方检验(详细案例,数学公式原理推导),最常被忽视得假设检验确定不来看看?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

🤵‍♂️ 个人主页: @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.chinasem.cn/article/507561

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]