SPSS分析技术:CMH检验(分层卡方检验);辛普森悖论,数据分析的谬

只涉及两个分类变量的卡方检验有些时候是很局限的,因为混杂因素总是存在,如果不考虑混杂因素,得出的分析结论很可能是谬误的,这就是著名的辛普森悖论。辛普森悖论的故事是这样的:1973年秋季,加州大学伯克利分校研究生院的新生入学。有些人在看到学校两个学院的综合录取表格后,怀疑学校在录取学生时存在性别歧视,因为女生录取率低于男生,如下表所示:

为了平息质疑,校领导根据学院的不同,将综合录取率拆开,分别考察商学院和法学院的录取情况,结果惊奇的发现两个学院的女生录取率都高于男生。

出现这种矛盾的原因:1、商学院的录取率远高于法学院;2、男生和女生申请商学院和法学院的比例不同,更多的男生申请商学院,而女生则更多申请法学院。虽然商学院和法学院都是女生录取率高于男生,但综合两个学院的数据后,女生的录取率却低于男生了。

以上的辛普森悖论对数据分析者是个很好的警醒:有些分析结论看似准确,板上钉钉,实则不然,可能背后隐藏着一些分析者没有注意到的潜在因素,这要求数据分析者对研究背景非常熟悉,避免忽略重要的潜在因素。辛普森悖论又一次说明数据分析是一门理论和实际联系非常紧密的科学,缺一不可,甚至研究背景更为重要。

CMH检验

CMH检验的全称是Cochran’s and Mantel-Haenszel
statistics,由两个伟大的统计学家的名字组成,又称为分层卡方检验,CMH检验能够很好的解决辛普森悖论的出现。例如上面的典故,考察的是不同性别的录取率差异,而学院是对分析结论有显著影响的潜在因素,CMH检验可以对学院这个分类变量进行控制,得出不同性别录取率之间是否存在差异。

前面的内容介绍过,根据两个分类变量水平数的不同,卡方检验可以分成2*2、R*2、2*C和R*C等类型,从CMH检验的原理来说,适用于以上所有的情况,但是SPSS软件只能对2*2四格表卡方进行CMH检验,也称为K*2*2表格数据的CMH检验。

用个具体的医学案例来说明K*2*2表格数据的CMH检验。大家都知道吸二手烟对身体有害,那么这种主观的判断是否正确呢?某个医学组织对此展开了研究,研究吸二手烟是否会提高患癌风险,根据实际情况,调查者自己是否吸烟会严重影响吸二手烟和患癌风险间的相关性,因此将主动吸烟(自己是否吸烟)作为混杂因素处理。首先给出吸二手烟与是否患癌的2*2四格表资料:

如果将混杂因素也放入表中,那么数据资料可以整理成以下形式,可以发现原来的单元格内的频数被拆分开了。

CMH检验的统计量计算公式根据是否进行连续型修正,分为为连续性校正和连续性校正两个,两者之间的差距不大,通常以校正结果为准。它们的计算公式如下:

从CMH统计量的计算公式可以知道,CMH检验将所有2*2表格(混杂因素有几个水平就有几个2*2表格)的频数分布情况都考虑在内了,这样就对混杂因素的影响作出了控制。计算上面这个案例的CMH卡方值:

我们以修正的CMH检验卡方值13.942为准,查自由度为1的卡方分布表,卡方值13.942对应的显著性概率值为0.00018,小于0.05,说明剔除主动吸烟影响后,患癌与被动吸烟之间确实存在相关性。

CMH检验的共同比值比

对于2*2四格表,比值比的计算是必须的,比值比能够表示不同组间的相对危险程度。CMH的比值比(OR值)同样与不考虑混杂因素的比值比计算公式不同,CMH检验的共同比值比计算公式为:

旧以上面的案例数据为例,计算案例的CMH共同比值比,计算过程如下:

消除主动吸烟因素的影响后,OR=1.625,说明患癌人群中被动吸烟人数比例大约为未患癌人群的1.625倍。接下来还能够计算共同比值比的置信区间,这个过程草堂君就不继续描述了,通过软件都可以直接输出。

SPSS案例分析

将上面的案例整理进入SPSS软件中,然后运用软件中的Cochran’s and
Mantel-Haenszel检验功能进行分析,对比软件输出结果与上面的手动计算结果是否一致。这个过程能够帮助大家更好的理解CMH检验的理论逻辑。录入SPSS的数据情况如下:

分析步骤

1、首先进行个案加权,将文件中的频数作为加权依据。具体的操作步骤,请点击下方文章链接回顾:SPSS分析技术:加权个案;让频数记录数据也能用SPSS做列联表分析。

2、选择菜单【分析】-【描述统计】-【交叉表】,在跳出的对话框中,进行如下操作。根据上面的表格数据,将是否患癌选为行变量,将是否被动吸烟选为列变量,将是否主动吸烟选为混杂因素。点击【统计】按钮,选中卡方选项;再选中柯克兰和奥特尔-亨塞尔统计,检验一般比值比的框内填写1即可(比值比为1,表示患癌组和为患癌组的被动吸烟比例相同)。

3、点击确定,输出结果。

结果解释

1、K*2*2频数统计表。可以发现,输出的表格和上面案例的整理表格结果是完全一致的。

2、分层2*2四格表的卡方检验结果。从结果可知,主动吸烟人群中,皮尔逊卡方、连续性修正和费舍尔精确检验的结果都是小于0.05,说明患癌和被动吸烟间存在相关性。而不吸烟人群中,结论于此相反,患癌和被动吸烟间不存在相关性。不考虑主动吸烟的混杂因素,结果是患癌和被动吸烟间存在相关性。

3、比值比齐性检验结果。在操作步骤中,检验比值比的值为1。两种比值比齐性检验的结果都大于0.05,说明两个分层2*2四格表的比值比与1之间没有显著性差异,也就是两个分层四格表的比值比是齐性的。

4、柯克兰和奥特尔-亨塞尔检验结果。可以发现SPSS输出的结果分成两个,柯克兰卡方值14.451和我们手动算的未连续性校正的结果一致,而曼特尔-亨塞尔卡方值则与连续性校正的结果一致。显著性结果都小于0.05,说明剔除主动吸烟影响后,患癌与被动吸烟之间确实存在相关性。

5、综合比值比结果。从结果可知,CMH检验的综合比值比结果也和我们手动算的一致。比值比区间为1.264到2.09之间,不包括1,说明患癌人群中被动吸烟人数比例确实比未患癌人群的比例高,高出1.264到2.09倍。

总结一下

本篇文章介绍了CMH检验的分析理论和SPSS的分析操作过程。可以知道,CMH检验能够将非实验考虑的混杂因素剔除,使得获取的分析结果能够真正表明两个分类型变量之间的关系,避免很多谬误的产生。CMH检验在医学领域和实验设计领域都扮演非常重要的角色。

SPSS分析技术:CMH检验(分层卡方检验);辛普森悖论,数据分析的谬误的更多相关文章

  1. SPSS分析技术:多元方差分析

    SPSS分析技术:多元方差分析 下面要介绍多元方差分析的内容,多元方差分析是研究多个自变量与多个因变量相互关系的一种统计理论方法,又称多变量分析.多元方差分析实质上是单因变量方差分析(包括单因素和多因 ...

  2. SPSS分析技术:无序多元Logistic回归模型;美国总统大选的预测历史及预测模型

    SPSS分析技术:无序多元Logistic回归模型:美国总统大选的预测历史及预测模型 在介绍有序多元Logistic回归分析的理论基础时,介绍过该模型公式有一个非常重要的假设,就是自变量对因变量多个类 ...

  3. SPSS分析技术:二阶聚类分析;为什么出现大学生“裸贷”业务,因为放贷者知道贷款者还不起

    SPSS分析技术:二阶聚类分析:为什么出现大学生"裸贷"业务,因为放贷者知道贷款者还不起 今天将介绍一种智能聚类法,二阶聚类法,在开始介绍之前,先解答很多人在后台提出的一个疑问:那 ...

  4. 统计学常用概念:T检验、F检验、卡方检验、P值、自由度

    1,T检验和F检验的由来 一般而言,为了确定从样本(sample)统计结果推论至总体时所犯错的概率,我们会利用统计学家所开发的一些统计方法,进行统计检定. 通过把所得到的统计检定值,与统计学家建立了一 ...

  5. SPSS分析:Bootstrap

    SPSS分析:Bootstrap 一.原理: 非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法,也称为自助法.其核心思想和基本步骤如下: 1.采用重抽样技术从原始样本中抽取一定数量(自己 ...

  6. SPSS超详细操作:分层回归(hierarchical multiple regression)

    SPSS超详细操作:分层回归(hierarchical multiple regression) 1.问题与数据 最大携氧能力(maximal aerobic capacity, VO2max)是评价 ...

  7. SPSS分析过程可自动化,你知道吗

    SPSS分析过程可自动化,你知道吗 在使用SPSS的过程中,有时候会遇到重复进行相同分析操作的情况,或者分析过程很复杂的情况. 这时候我们多么希望SPSS能够记住上一次的分析步骤,不要让我们重复的去点 ...

  8. 如何用SPSS分析学业情绪量表数据

    如何用SPSS分析学业情绪量表数据 1.数据检验.由于问卷.量表的题目是主观判断和选择,因而难免有些人不认真填,所以,筛选出有效.高质量的数据非常关键.通常需要作如下检查:(1)是否有人回答互相矛盾, ...

  9. C++反汇编与逆向分析技术揭秘

    C++反汇编-继承和多重继承   学无止尽,积土成山,积水成渊-<C++反汇编与逆向分析技术揭秘> 读书笔记 一.单类继承 在父类中声明为私有的成员,子类对象无法直接访问,但是在子类对象的 ...

随机推荐

  1. CentOS 7.2部署NTP服务器实现时间同步

    CentOS 7.2部署NTP服务器实现时间同步 [日期:2017-12-18] 来源:Linux社区  作者:梁明远 [字体:大 中 小]   1. 前言 对于容器编排系统,前段时间主要研究kube ...

  2. 玩转gulp之gulp编译less

    用好gulp grunt webpack让前端编程走向自动化,是作为一个前端开发必须学会的技能,不然逼格怎么提升的上去呢... 然后教大家如何用gulp装逼.一点点的学,都是相通的嘛 1. 安装nod ...

  3. js input框限制输入为数字并限制长度

    <input type="number" name="price" id="priceVal" placeholder="请 ...

  4. springboot整合shiro的使用

    shiro的原理已经有博客了,自己写可以问度娘 参考https://www.cnblogs.com/liyinfeng/p/8033869.html 此处直接描述实际使用 一.pom.xml引包 &l ...

  5. telnet- Linux必学的60个命令

    1.作用 telnet表示开启终端机阶段作业,并登入远端主机.telnet是一个Linux命令,同时也是一个协议(远程登陆协议). 2.格式 telnet [-8acdEfFKLrx][-b][-e] ...

  6. (转)Unity3D手游开发实践

    作者:吴秦出处:http://www.cnblogs.com/skynet/本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). (转)& ...

  7. 【JZOJ3337】wyl8899的TLE

    description wyl8899今天也很刻苦的在做老师布置下来的题目! 这一天老师布置的题目是这样的: 给出两个仅含小写字母的字符串A和B,输出最大的k,使得A[1..k]是B的子串. A和B的 ...

  8. iscroll 上拉加载和下拉刷新

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  9. php包含文件

    PHP 包含文件 PHP include 和 require 语句 在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容. include 和 require 语句用于在执 ...

  10. OpenCASCADE 7.4.0 Released

    Open Cascade is pleased to announce a new public release of Open CASCADE Technology (version 7.4.0). ...