京公网安备 11010802034615号
经营许可证编号:京B2-20210330
SPSS操作:多个相关样本的非参数检验(Cochran's Q检验)
一、问题与数据
某康复科医生拟评价康复训练对卒中后患者体能恢复的效果。患者分别在开始康复、康复3个月和康复6个月时进行体能测试。为了保证一致性,三次体能测试内容是一样的,体能测试的结果为“通过”和“不通过”。该医生想知道卒中后患者体能测试的结果为“通过”的比例是否一直上升。
该研究随机选取了63例进行康复训练的卒中后患者,并收集了所有研究对象的开始康复时的体能测试结果 (initial_fitness_test),康复3个月时的体能测试结果 (month3_fitness_test)和康复6个月时的体能测试结果 (final_fitness_test)。结果均为“通过(Passed)”和“不通过(Failed)”的形式(分别赋值为1和2)。部分数据如下图。
其中,Individual scores for each paticipant列出了每一个研究对象的情况,而Total count data (frequencies)则是对相同情况研究对象的数据进行了汇总。
二、对问题的分析
要检验三组或多组相关样本中,分类变量是否存在差异,可以使用Cochran's Q 检验,但需要考虑以下4个假设。
假设1:结局变量为二分类,且两类之间互斥。互斥是指一个研究对象只能在一个分组中,不可能同时出现在两个组中。例如 “安全”和“不安全”,“及格”和“不及格”等。
假设2:分组变量包含3个及以上分类,且各组之间相关。(当分组变量只有2个分类时,可使用McNemar’s检验)
假设3:样本是来自于研究人群的随机样本。然而实际中,样本并非都是随机样本。
假设4:样本量足够。当样本量n≥4且nk≥24(k为分组变量数)时,可以采用Cochran's Q检验;否则采用“精确” Cochran's Q检验。
本研究中,结局变量有两个分组且互斥(“通过”和“不通过”),符合假设1;分组变量包含3个分类(开始康复、康复3个月和康复6个月时),各组之间相关,符合假设2;研究对象是随机选取,符合假设3。
那么应该如何检验假设4,并进行比较呢?
三、SPSS操作
3.1 检验假设4:样本量足够
1. 转换数据格式
如果原始数据格式是Total count data (frequencies),则可以跳过此步。如果原始数据格式是Individual scores for each paticipant,则需要将数据转换成Total count data (frequencies)格式。
在主界面点击Data→Aggregate,出现Aggregate Data对话框。将变量initial_fitness_test、month3_fitness_test和final_fitness_test选入Break Variable(s)框中。
点击下方Number of cases框,并在Name框中填入“freq”。在Save下方勾选Create a new dataset containing only the aggregated variables,并在Dataset name框中填入新数据集的名字(例如“cochran_q_freq”)。
点击OK,产生新数据集。在新数据集中,可以看到新变量“freq”,代表每一种自变量组合的频数。
2. 数据加权
使用Total count data (frequencies)格式数据,并在主界面点击Data→Weight Cases,弹出Weight Cases对话框后,点击Weight cases by,激活Frequency Variable窗口。将freq变量放入Frequency Variable栏,点击OK。
3. 计算样本量
本研究的总样本数N=63,但计算Cochran's Q 检验的样本量时,需要减去三次测试结果都一致的样本数。如下突出显示所示,全部为“Failed”有20例,全部为“Passed”有7例,所以三次测试结果都一致的样本数为20+7=27,Cochran's Q 检验的样本量n=63-27=36。
其次,需要确定nk的大小。由于本研究共有三个分组,所以k=3,nk=36*3=108。
综上,n≥4且nk≥24,符合假设4。
3.2 计算比例
在主界面点击Descriptive Statistics→Frequencies,在Frequencies对话框中,将变量initial_fitness_test、month3_fitness_test和final_fitness_test选入Variable(s):框中,点击OK。
3.3 符合假设4的Cochran's Q检验
在主界面点击Analyze→Nonparametric Tests→Related Samples,出现Nonparametric Tests: Two or More Related Samples对话框。确认在What is your objective?区域勾选了Automatically compare observed data to hypothesized。
点击Fields,将变量initial_fitness_test、month3_fitness_test和final_fitness_test选入Test Fields框中。
点击Settings→Customize tests,勾选Cochran's Q (k samples)。
点击Define Success,在Cochran's Q: Define Success对话框中,点击Combine values into success category,在Success框中填入1(这里是“成功”对应的编码,本例中即为通过体能测试,“Passed”对应的是1,所以这里填“1”)。
点击OK→Run,输出结果。
3.4 不符合假设4的“精确”Cochran's Q检验
当不符合假设4时,需要使用“精确”Cochran's Q检验。在主界面点击Analyze→Nonparametric Tests→Legacy Dialogs→K Related Samples,出现Tests for Several Related Samples对话框。
将变量initial_fitness_test、month3_fitness_test和final_fitness_test选入Test Variables框中。在Test Type 下方去掉Friedman,然后勾选Cochran's Q。(如果数据符合假设4,则此时点击OK,结果与3.3部分的操作结果一致)
点击Exact,在Exact Tests对话框中,点击Exact,点击Continue→OK。
3.5 “精确”Cochran's Q检验后的两两比较
对于符合假设4的Cochran's Q检验(3.3部分),事后的两两比较将在结果解释部分展示(4.2部分)。
对于不符合假设4的“精确”Cochran's Q检验(3.4部分)事后的两两比较,可采用经Bonferroni法校正的多重McNemar检验。
在主界面点击Analyze→Nonparametric Tests→Legacy Dialogs→2 Related Samples。在Two-Related-Samples Tests对话框中,依次选择两两比较的变量,分别将变量initial_fitness_test和month3_fitness_test、变量initial_fitness_test和final_fitness_test、变量month3_fitness_test和final_fitness_test选入右侧Test Pairs中。 去掉Test Type下方的Wilcoxon,勾选McNemar。
点击Exact,在Exact Tests对话框中,点击Exact,点击Continue→OK。
四、结果解释
4.1 统计描述
3.2部分的操作后,得到的频数结果见下图。康复开始、康复3个月和康复6个月时培的体能测试的通过率分别为22.2%、44.4% 和 60.3%。
4.2 符合假设4的Cochran's Q检验及事后两两比较
3.3部分的操作后,得到Cochran's Q检验的结果如下图。
上图中,第一列(Null Hypothesis)是本研究的零假设。第二列(Test)显示本研究的假设检验方法,即Cochran's Q检验。第三列(Sig.)是假设检验的统计结果,即P值。第四列(Decision)是根据假设检验做出的判断,即判断是否拒绝零假设。
本研究Cochran's Q检验的P<0.001,拒绝零假设。即开始康复、康复3个月和康复6个月时,研究对象体能测试结果的差异具有统计学意义。
双击该表,SPSS会自动弹出Model Viewer界面,帮助我们进一步了解Hypothesis Test Summary表的结果。
Cochran's Q检验统计量服从自由度为k-1的 χ2分布。本研究的统计量为24.222,此时统计量可记为 χ2 = 24.222, P<0.001。
在该视图下方的View的下拉选项框中,选择“Pairwise Comparisons”,可以得到两两比较的结果。两两比较的方法为Dunn’s检验(经Bonferroni法校正)。
在Pairwise Comparisons图中(此处略),连接线代表两两比较的结果,黑色连接线代表两组间差异无统计学意义,橘黄色连接线代表两组差异具有统计学意义。
下方的表格(如下图)给出了更多的信息:比较的组别、统计量、标准误、标准化的统计量(=统计量/标准误)、P值和调整后的P值。
由于是事后的两两比较(Post hoc test),因此需要调整显著性水平(调整α水平),作为判断两两比较的显著性水平。依据Bonferroni法,调整α水平=原α水平÷比较次数。本研究共比较了3次,调整α水平=0.05÷3=0.0167。因此,最终得到的P值(上图中Sig.一列),需要和0.0167比较,小于0.0167则认为差异有统计学意义。
另外,SPSS也提供了调整后P值(上图中Adj. Sig.一列),其思想还是采用Bonferroni法调整α水平。该列是将原始P值乘以比较次数得到,因此可以直接和0.05比较,小于0.05则认为差异有统计学意义。
以上结果可以描述为:康复开始和康复3个月时研究对象体能测试结果的差异有统计学意义(调整后P=0.013),康复开始和康复6个月时研究对象体能测试结果的差异有统计学意义(调整后P<0.001),而康复3个月和康复6个月时研究对象体能测试结果的差异无统计学意义。
4.3 不符合假设4的“精确”Cochran's Q检验
3.4部分的操作中,既可以得到Cochran's Q检验的结果,也可以得到“精确”Cochran's Q检验的结果(取决于是否选择Exact选项)。
结果如下图。在Test Statistics表格中,左侧是Cochran's Q检验结果,右侧是“精确”Cochran's Q检验结果。
如果数据符合假设4,则Cochran's Q检验统计量服从自由度为k-1的 χ2分布。左侧表格中的P值为“Asymp. Sig.”所对应的“0.000”,即P<0.001。本研究的统计量为24.222,此时统计量可记为 χ2 = 24.222,P<0.001。
如果数据不符合假设4,则右侧表格中的P值为“Exact. Sig.”所对应的“0.000”,即P<0.001。本研究的统计量为24.222,此时统计量可记为Cochran's Q = 24.222, P<0.001。
4.4 “精确”Cochran's Q检验后的两两比较
当不满足假设4时,3.5部分的操作可得到经Bonferroni法校正的多重McNemar检验的结果。
由于是事后的两两比较(Post hoc test),因此需要调整显著性水平(调整α水平),作为判断两两比较的显著性水平。依据Bonferroni法,调整α水平=原α水平÷比较次数。本研究共比较了3次,调整α水平=0.05÷3=0.0167。因此,最终得到的P值(上图中Exact Sig. (2-tailed)一行),需要和0.0167比较,小于0.0167则认为差异有统计学意义。
以上结果可以描述为:康复开始和康复3个月时研究对象体能测试结果的差异有统计学意义(P=0.007),康复开始和康复6个月时研究对象体能测试结果的差异有统计学意义(P<0.001),而康复3个月和康复6个月时研究对象体能测试结果的差异无统计学意义。
五、撰写结论
1. 符合假设4时(即样本量足够)
开始康复、康复3个月和康复6个月时,卒中后患者体能测试的通过率分别为22.2%、44.4%和60.3%。运用Cochran's Q 检验对三个时间点体能测试通过率进行检验,三个时间点通过率的差异具有统计学意义,χ2 = 24.222, P<0.001。
采用Dunn’s检验(经Bonferroni法校正)进行事后的两两比较,康复开始和康复3个月时研究对象体能测试结果的差异有统计学意义(调整后P=0.013),康复开始和康复6个月时研究对象体能测试结果的差异有统计学意义(调整后P<0.001),而康复3个月和康复6个月时研究对象体能测试结果的差异无统计学意义(调整后P=0.124)。
2. 不符合假设4时
开始康复、康复3个月和康复6个月时,卒中后患者体能测试的通过率分别为22.2%、44.4%和60.3%。运用Cochran's Q 检验对三个时间点体能测试通过率进行检验,三个时间点通过率的差异具有统计学意义, Cochran's Q = 24.222, P<0.001。
运用“精确”McNemar’s检验进行事后的两两比较(经Bonferroni法校正的α=0.0167)。康复开始和康复3个月时研究对象体能测试结果的差异有统计学意义(P=0.007),康复开始和康复6个月时研究对象体能测试结果的差异有统计学意义(P<0.001),而康复3个月和康复6个月时研究对象体能测试结果的差异无统计学意义(P=0.031)。
推荐学习书籍
《CDA一级教材》适合CDA一级考生备考,也适合业务及数据分析岗位的从业者提升自我。完整电子版已上线CDA网校,累计已有10万+在读~

免费加入阅读:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在描述性统计分析、数据预处理、异常值排查与多组数据分布对比工作中,箱线图(Box Plot)是应用最广泛的可视化与统计工具之一。 ...
2026-07-15在企业数据存储、业务统计与数据分析工作中,绝大多数业务数据都带有时间维度属性,例如订单创建时间、用户注册时间、支付完成时 ...
2026-07-15 很多数据分析师拿到数据就开始清洗、建模,但当被问到“这批数据属于什么类型——结构化还是非结构化?分类变量还是数值变量 ...
2026-07-15【核心关键词】产品、经营、客户、调研、销售额、宏观、会计行业、客户满意度、发展趋势、经营状况、数据分析、竞争对手、数据 ...
2026-07-14问卷调查是市场调研、用户研究、社会调研与产品分析的核心数据采集方式。问卷数据大多以分类数据为主,例如用户性别、年龄分层、 ...
2026-07-14 很多数据分析师画过趋势图、做过业绩预测,但当被问到“这个月销售额增长20%,到底是长期趋势自然增长,还是促销活动的短期 ...
2026-07-14在数据分析、业务效果验证、AB实验扩展、行业对比等场景中,我们经常需要对比三组及以上样本的均值差异,例如不同区域的客单价对 ...
2026-07-13在互联网产品运营、用户生命周期管理与商业化数据分析中,留存指标是判断产品价值、用户满意度与商业模式健康度的核心基准。常规 ...
2026-07-13 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-07-13【核心关键词】统计学、互联网、知识、课程、学生、数学、软件、招聘、数据分析、实习经历、机器学习、理论基础、业务思维、统 ...
2026-07-10在互联网运营、产品设计、市场营销与商业数据分析领域,所有转化、成交、复购行为的底层逻辑,都依托于用户决策流程。用户从产生 ...
2026-07-10 很多数据分析师能熟练地计算指标、搭建标签体系,但当被问到“画像到底在解决什么问题”“画像和标签是什么关系”“画像如何 ...
2026-07-10数据透视表是数据分析中最常用、最高效的汇总分析工具,具备快速分组、聚合计算、维度拆解、数据可视化等优势,能够轻松完成求和 ...
2026-07-09在统计学、CDA数据分析、机器学习与商业数据研究中,正态分布是最基础、最重要的数据分布形态。绝大多数参数检验、数据建模、指 ...
2026-07-09 很多分析师在设计标签时思路清晰,但真到落地环节却面临“数据在手,不知如何转化为可用标签”的困境:或因加工方式选择不当 ...
2026-07-09【核心关键词】采购、周期、原材料、企业、产品、成本、要素、库存、供应商、数据分析、生产计划、生产制造、加工制造、技术工 ...
2026-07-08在数据分析、特征工程、机器学习建模的工作流程中,原始数据往往包含多个不同维度的数值指标,例如客户交易数据中的消费金额、交 ...
2026-07-08 很多分析师每天和数据打交道,但当被问到“标签是什么”“标签和指标有什么区别”“标签体系如何设计”时,却常常答不上来。 ...
2026-07-08商业谈判是企业采购合作、渠道签约、价格议价、项目合作、客户签约的核心关键环节,直接决定企业的合作成本、利润空间与经营风险 ...
2026-07-07在数据分析、业务效果验证、AB 测试、学术研究等场景中,T 检验是假设检验体系里最基础、应用最广泛的统计方法,也是均值差异分 ...
2026-07-07