卡方检验概述

article/2025/9/17 21:33:35

前言、什么是卡方检验

卡方检验是一种用途很广的计数资料的假设检验方法。它属于非参数检验的范畴,主要是比较两个及两个以上样本率( 构成比)以及两个分类变量的关联性分析。其根本思想就是在于比较理论频数和实际频数的吻合程度或拟合优度问题。

它在分类资料统计推断中的应用,包括:两个率或两个构成比比较的卡方检验;多个率或多个构成比比较的卡方检验以及分类资料的相关分析等。

 

一、四格表资料的卡方检验

例1.两组大白鼠在不同致癌剂作用下的发癌率如下表,问两组发癌率有无差别?

表1

(52 19 39 3) 这四个数据是整个表中的基本资料,其余数据均由此推算出来;这四格资料表就专称四格表(fourfold table),或称22列表(2×2 contingency table)。从该资料算出的两组发癌率分别为73.24%92.86%,两者的差别可能是抽样误差所致,亦可能是两组发癌率(总体率)确有所不同。这里可通过卡方检验来区别其差异有无统计学意义,检验的基本公式为:

式中A为实际数,以上四格表的四个数据就是实际数。T为理论数,是根据检验假设推断出来的;即假设这两组的发癌率本无不同,差别仅是由抽样误差所致。这里可将两组合计发癌率作为理论上的发癌率,即91/113=80.3%,以此为依据便可推算出四格表中相应的四格的理论数。以表1资料为例检验如下。

检验步骤:

1.建立检验假设:

H0:π1=π2;H1:π1≠π2;α=0.05

2.计算理论数(TRC),计算公式为:

TRC=nR.nC/n

式中TRC是表示第R行C列格子的理论数,nR为理论数同行的合计数,nC为与理论数同列的合计数,n为总例数。

第1行1列: 71×91/113=57.18

第1行2列: 71×22/113=13.82

第2行1列: 42×91/113=33.82

第2行2列: 42×22/113=8.18

以推算结果,可与原四项实际数并列成表2:

表2

因为上表每行和每列合计数都是固定的,所以只要用TRC式求得其中一项理论数(例如T1.1=57.18),则其余三项理论数都可用同行或同列合计数相减,直接求出。

3.计算卡方值按公式代入

=0.47+1.94+0.79+3.28=6.48

4.查卡方值表求P值

在查表之前应知本题自由度。按卡方检验的自由度v=(行数-1)(列数-1),则该题的自由度v=(2-1)(2-1)=1,查卡方界值表,找到,而本题卡方=6.48即卡方>,P<0.05,差异有显著统计学意义,按α=0.05水准,拒绝H0,可以认为两组发癌率有差别。

通过实例计算,读者对卡方的基本公式有如下理解:若各理论数与相应实际数相差越小,卡方值越小;如两者相同,则卡方值必为零,而卡方永远为正值。又因为每一对理论数和实际数都加入卡方值中,分组越多,即格子数越多,卡方值也会越大,因而每考虑卡方值大小的意义时同时要考虑到格子数。因此自由度大时,卡方的界值也相应增大。

 

二、四格表卡方值的校正

卡方值表是数理统计根据正态分布中的定义计算出来的。是一种近似。在自由度大于1、理论数皆大于5时,这种近似很好;当自由度为1时,尤其当1<T<5,而n>40时,应用以下校正公式:

例2.某医师用甲、乙两疗法治疗小儿单纯性消化不良,结果如表3.试比较两种疗法效果有无差异?

表3

从表3可见,T1.2和T2.2数值都<5,且总例数大于40,故宜用校正公式检验。步骤如下:

1.检验假设:

H0:π1=π2;H1:π1≠π2;α=0.05

2.计算理论数:(已完成列入四格表括弧中)

3.计算卡方值:应用校正公式运算如下:

查卡方界值表,卡方<P0.05。α=0.05水准,接受H0,两种疗效差异无统计学意义。 

如果不采用校正公式,而用原基本公式,算得的结果卡方=4.068,则结论就不同了。

如果观察资料的T<1或n<40时,四格表资料用上述校正法也不行,可参考预防医学专业用的医学统计学教材中的Fisher精确检验法直接计算概率以作判断。

 

三、行×列表的卡方检验

适用于两个组以上的率或百分比差别的显著性检验。其检验步骤与上述相同,简单计算公式如下: 

式中n为总例数;A为各观察值;nR和nC为与各A值相应的行和列合计的总数。

例3.北方冬季日照短而南移,居宅设计如何适应以获得最大日照量,增强居民体质,减少小儿佝偻病,实属重要。胡氏等1986年在北京进行住宅建筑日照卫生标准的研究,对214幢楼房居民的婴幼儿712人体检,检出轻度佝偻病333例,比较了居室朝向与患病的关系。现将该资料归纳如表4作行×列检验。

表4

该表资料由2行4列组成,称2×4表,可用行×列卡方公式检验。

(一)检验步骤

1.检验假设

H0:四类朝向居民婴幼儿佝偻病患病率相同;H1:四类朝向居民婴幼儿佝偻病患率不同;α=0.05

2.计算卡方值

3.确定P值和分析

本题v=(2-1)(4-3)=3,据此查卡方界值表:

,本题卡方=15.08,卡方> ,P0.05,拒绝H0,可以认为居室朝向不同的居民,婴幼儿佝偻病患病率有差异。

(二)行×列表卡方检验注意事项

1.一般认为行×列表中不宜有1/5以上格子的理论数小于5,或有小于1的理论数。当理论数太小可采取下列方法处理:①增加样本含量以增大理论数;②删去上述理论数太小的行和列;③将太小理论数所在行或列与性质相近的邻行邻列中的实际数合并,使重新计算的理论数增大。由于后两法可能会损失信息,损害样本的随机性,不同的合并方式有可能影响推断结论,故不宜作常规方法。另外,不能把不同性质的实际数合并,如研究血型时,不能把不同的血型资料合并。

2.如检验结果拒绝检验假设,只能认为各总体率或总体构成比之间总的来说有差别,但不能说明它们彼此之间都有差别,或某两者间有差别。


http://chatgpt.dhexx.cn/article/d8JLUb6X.shtml

相关文章

Python计算卡方值

Python代码 import numpy as np from scipy.stats import chi2_contingencyd np.array([[2, 1, 1, 0, 276], [9, 7, 4, 2, 258]]) print(chi2_contingency(d)) # 第一个值为卡方值, # 第二个值为P值, # 第三个值为自由度, # 第四个为与原数…

卡方检验值转换为P值

卡方检验作为一种常见的假设检验,在统计学中的地位是显而易见的,如果你还不太清楚可以参看这篇博文:卡方检验用于特征选择,写的非常的浅显易懂,如果你还想再扩展点卡方检验方面的知识,可以参看这篇博文卡方检验基础&am…

别错过,卡方检验实用总结!

通常情况下,卡方检验是研究分类数据与分类数据之间关系的分析方法,如性别和是否戴隐形眼镜之间的关系。卡方检验通常会涉及卡方值和P值两个名词术语。卡方值与P值有对应关系,P值小于0.05则说明有差异存在,即性别与是否戴隐形眼镜之…

【数据分析与数据挖掘】四、多因子与复合分析(上)

这一章内容:属性与属性之间常见的联系。 理论铺垫: 假设检验与方差检验;相关系数:皮尔逊、斯皮尔曼;回归:线性回归;PCA与奇异值分解; 1.假设检验 概念:做出一个假设&…

2020淘宝双11超级星秀猫怎么踢人 最强星秀猫怎么退出队伍

2020年的天猫双十一的喵币活动是叫—超级星秀猫,还是一个养猫的活动,不过是可以组队的,有的朋友是想把临时的人踢出队伍或者是自己离开队伍,但是不知道怎么操作,下面就来为大家详细的介绍一下。 1、踢人:今…

单点登录 ( 踢人模式 )

这是最终效果图 实现用户账号在别处登陆,踢出上个已经登陆的账号 单点登陆基本原理: 项目Demo结构 项目 demo 源码 https://github.com/610627597/TestDemo

Spring Security OAuth2 实现多人登录互踢下线

背景说明 一个账号只能一处登录,类似的业务需求在现有后管类系统是非常常见的。但在原有的 spring security oauth2 令牌方法流程(所谓的登录)无法满足类似的需求。 我们先来看 TokenEndpoint 的方法流程 客户端 带参访问 /oauth/token 接…

csgo服务器取消自动踢人,CSGO踢出玩家Kick相关控制台指令

本文将介绍CSGO一些关于踢人/KICK控制台指令,如果你自建服务器或本地建房的话,可能会用得上。 mp_autokick 如果你不想让好友因为队友伤害或挂机/AFK被服务器自动踢出,那么需要输入: mp_autokick 0 这样,服务器中的玩家…

单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?

单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现? 一般情况下,用户登录,有两种方式:cookie方式,session方式。一般情况下,session方式是使用最…

【开发经验】客户端互踢实现思路

文章目录 场景如下实现思路 踢用户实现思路、用户单个客户端登录。冻结用户实现 场景如下 每个用户只能登录一个客户端,如微信、支付宝等app,只能在一个手机登录,如果再别的手机登录,则会踢掉之前的那个。冻结账户,账…

登录超时提示+踢人下线实现(spring security)

前言 最近,说有可能要上只允许一个地方登录,还要配合信息推送,今天有空,就起个头,把登录超时、登录踢人下线一起做了。信息推送的,后面再说,留好口子就行。 一、背景 这里是spring security&am…

【LEDE】树莓派上玩LEDE终极指南-86-OpenWrt增加踢人功能

查看文章 欢迎您! 返回首页 最后修改于:2018-03-27 20:03:12 修改 导出 原理 ubus call hostapd.wlan1 del_client "{addr:AC:0D:1B:D0:60:29, reason:5, deauth:false, ban_time:0}" 步骤 修改/usr/lib/lua/luci/view/admin_status/index.ht…

Python搭建QQ机器人,监控QQ发言与进群退群,自动@新成员并屏蔽脏话踢人

目录 前言 原理 准备 go-cqhttp插件安装 nonebot框架的安装 插件的拓展 效果 警告 前言 emmmm,大家好,我叫善念。有点懒 好久没有给大家更新教程了。今天给大家带来的项目比较有趣,而且非常简单,简称 有手即可!…

用户唯一登录,最新登录挤掉以前的登录,实现踢人.

最近在做一个功能,要求是这样的:相同的账号,例如admin账号,在A电脑登录成功,然后admin账号在B电脑登录,系统发现admin账号出现了重复登录,A电脑上登录的admin账号就会被退出登录。 流程图&…

企业微信群管理员可以踢人吗?企业微信群怎么自动踢人?

我们使用企业微信运营客户时,总会有人在企业微信群里面发广告、链接,非常影响其他客户的体验,有没有什么方法将这些人踢出群聊呢? 企业微信群怎么自动踢人? 在企业微信推出群防骚扰功能之前,群管理员最无奈…

spring boot + shiro 实现登陆 踢出用户功能 (挤人) 以及UnknownSessionException异常问题 记住我功能

简介:踢出用户功能:就是限制一个账号登陆人数。 本文限定一个账号一个用户登陆,并且是挤掉前一个用户 目录 首先 pom 然后Shiro配置Bean ShiroConfigBean 然后配置 ShiroRealm(百度翻译: Realm 领域) 然…

java怎么实现踢掉在线用户_Java多人在线聊天室(3)— 踢人下线功能

作为一个聊天室,肯定会有很多人在里面聊天,那么要是有人里面捣乱怎么办?直接踢人不解释。 我们在创建数据库的时候就有这样的考虑,所以我们的账户有两种,一种是管理员,一种是普通用户。 打开的数据库&#…

Shiro实现session限制登录数量踢人下线

Shiro实现session限制登录数量踢人下线 前言实现■ 架构准备ShiroConfig ■ redis内的存储分布■ 代码修改修改 JedisSessionDAO修改 SystemAuthorizingRealm新增 ApiLogoutFilter再次修改 JedisSessionDAO 最后 前言 近年无状态登录兴起,但sessionId方式仍是主流方…

SAP SM04踢人操作(摘录)

管理员在SAP系统中,使用事物码SM04对当前登录在线用户(User)进行管理,可查看服务器全部客户端(Client)的用户的在线状态,并可以结束指定用户的会话状态,也就是强制踢出用户。 双击查…