使用SPSS的McNemar检验两种深度学习模型的差异性

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

前排提示:
我看到好多McNemar检验的文章没有说如何用到深度学习模型检测的,所以自己给自己做个笔记.本身不难,但是很多文章都写的好乱,例如没有解释为什么深度学习模型中留一法,或者单独留出测试集的k折模型只能用McNemar 测试检验模型差异性。以及零假设是什么,为什么要拒绝。
1.不使用python构建McNemar检验代码
2.使用spss的McNemar检验
方便快捷,适合即时使用

简述:

深度学习模型McNemar检验
对于只能执行一次的算法,McNemar 的测试是唯一具有可接受的 I 类错误的测试。
**数据:**两个对比模型的检测结果与样本对比后的结果(0,1)(0,1表征 T or F)
I 型错误是错误地拒绝实际为真的零假设。
零假设: A和B模型在性能上的差异不具有统计学意义,即差异不显著

一、McNemar检验

1.1来源

McNemar 检验是用于配对 名义数据的统计检验。它应用于具有二分特征的2 × 2列联表,具有匹配的主题对,以确定行和列的边际频率是否相等(即是否存在“边际同质性”)。它以Quinn McNemar 的名字命名,他于 1947 年引入了它。该测试在遗传学中的一个应用是用于检测连锁不平衡的传输不平衡测试。

1.2 两配对样本的McNemar(麦克尼马尔)变化显著性检验

McNemar 检验 是 2 * 2 表的配对检验。
McNemar变化显著性检验以研究对象自身为对照,检验其两组样本变化是否显著。
**原假设: 样本来自的两配对总体分布无显著差异。**即我们后面定义的零假设
要求: McNemar变化显著性检验要求待检验的两组样本的观察值是二分类数据,在实际分析中有一定的局限性。

1.3 适用范围:

具体而言,建议在那些被比较的算法只能评估一次的情况下进行测试,例如,在一个测试集上,而不是通过重采样技术重复评估,例如 k 折交叉验证。

对于只能执行一次的算法,McNemar 的测试是唯一具有可接受的 I 类错误的测试。
对于k折交叉验证,有两种纷争,一种是全部数据进行k折,一种是训练集K折,留出单独一份测试集。不能说哪方对哪方错。选择适合数据的就是对。
所以针对单独留出一份测试集的做法,可以按照定义使用McNemar检验

1.4 基于对深度学习模型检测下的检测数据要求:

数据:两个对比模型的检测结果与样本对比后的结果(0,1)(0,1表征 T or F)

要求:两数据配对,数据完整,不可改变数据顺序

二、使用SPSS的McNemar检验

我们需要对问题进行定义,然后再进行检验。

2.1 前置

在统计假设检验中,I 型错误是错误地拒绝实际为真的零假设。
对于只能执行一次的算法,McNemar 的测试是唯一具有可接受的 I 类错误的测试。

2.2 问题定义

问题:两个深度学习模型在同一测试集下的性能是否有差异性
白话,A比B模型优秀,但是我想知道A比B的优秀是具有统计学意义的。
此时的零假设:
A和B模型在性能上的差异不具有统计学意义,即差异不显著

要拒绝零假设,那么我们最后的检验p值要小于0.05
在这里插入图片描述

2.3 使用SPSS

2.3.1 非参数检验-相关样本

在这里插入图片描述

2.3.2 选择要比较的模型

在这里插入图片描述

然后运行

2.3.3 看结果

在这里插入图片描述

拒绝原假设,模型有差异性

参考文章:

ml-mastery-zh/docs/stat/mcnemars-test-for-machine-learning.md at master · apachecn/ml-mastery-zh · GitHub

McNemar’s检验(配对卡方检验):多种操作教程,总有一个适合你! - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/89205077

泛化性能的比较检验-4-McNemar检验(周志华西瓜书解析) - 知乎 (zhihu.com)
https://blog.csdn.net/orDream/article/details/122540099

SPSS详细操作:配对卡方检验(McNemar’s test) (qq.com)
https://mp.weixin.qq.com/s?__biz=MzI2OTQyMzc5MA==&mid=2247490227&idx=1&sn=16788997b4de52293942da8f40feb76c&chksm=eae1df72dd96566418535e93c537f5df90b2fbc2fa6e4702d4a8c0ce502cddec7f9b3d30b6e1&scene=21#wechat_redirect

麦克尼马尔检验(McNemar test)-CSDN博客
https://blog.csdn.net/orDream/article/details/122540099

如有不足,还请各位大佬指正!

  • 21
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要判断两个因素是否有显著性差异,可以使用双因素方差分析(Two-Way ANOVA)。 以下是具体步骤: 1. 数据处理:收集数据并进行清洗。 2. 设定假设:我们要检验两个因素(A和B)对于一个变量(Y)是否有显著性影响。设定零假设H0:两个因素对于变量Y没有显著性影响,备择假设Ha:两个因素对于变量Y有显著性影响。 3. 选择检验方法:因为要比较两个因素的影响,所以可以使用双因素方差分析。 4. 进行双因素方差分析:在SPSS中,可以使用“Analyze” -> “General Linear Model” -> “Univariate”命令,将变量Y放入“Dependent Variable”中,将因素A和因素B放入“Fixed Factor(s)”中,然后点击“Options”按钮,勾选“Descriptive statistics”、“Homogeneity tests”、“Effect size estimates”和“Means plot”,最后点击“Continue”和“OK”按钮即可进行双因素方差分析。 5. 分析结果:在SPSS的输出窗口中,可以看到双因素方差分析的结果。需要关注的主要结果包括: (1)主效应:检验因素A和因素B是否对变量Y产生显著性影响。 (2)交互效应:检验因素A和因素B之间是否存在显著性交互作用。 (3)方差分析表:提供了各种统计量,包括F值、p值、自由度等,并且可以判断哪些因素产生了显著性影响。 6. 两两比较:如果发现因素A或因素B对于变量Y产生了显著性影响,需要进行两两比较。在SPSS中,可以使用“Analyze” -> “Compare Means” -> “Means”命令,选择要比较的变量、因素和组别,然后点击“Options”按钮,勾选“Descriptive statistics”、“Homogeneity tests”、“Effect size estimates”和“Means plot”,最后点击“Continue”和“OK”按钮即可进行两两比较。 7. 方差分析:如果发现因素A或因素B对于变量Y产生了显著性影响,需要进行方差分析。在SPSS中,可以使用“Analyze” -> “General Linear Model” -> “Univariate”命令,将变量Y放入“Dependent Variable”中,将因素A和因素B以及它们的交互项放入“Fixed Factor(s)”中,然后点击“Options”按钮,勾选“Descriptive statistics”、“Homogeneity tests”、“Effect size estimates”和“Means plot”,最后点击“Continue”和“OK”按钮即可进行方差分析。 以上是使用SPSS判断两个因素是否有显著性差异,并进行两两比较及方差分析的步骤。希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值