麦克尼马尔检验(McNemar test)

前言

在统计学中,McNemar 检验是用于配对 名义数据的统计检验。它应用于具有二分特征的2 × 2列联表,具有匹配的主题对,以确定行和列的边际频率是否相等(即是否存在“边际同质性”)。它以Quinn McNemar 的名字命名,他于 1947 年引入了它。该测试在遗传学中的一个应用是用于检测连锁不平衡的传输不平衡测试。在医学科学中评估诊断测试的常用参数是敏感性和特异性。敏感性是测试正确识别疾病患者的能力。特异性是测试正确识别那些没有疾病的人的能力。现在假设对同一组患者进行了两项测试。并且还假定这些测试具有相同的敏感性和特异性。在这种情况下,人们会被这些发现带走,并假定这两个测试是等效的。然而,情况可能并非如此。 为此,我们必须研究患病和未患病的患者(通过参考测试)。我们还必须找出这两个测试彼此不一致的地方。这正是 McNemar 检验的基础.

两配对样本定义

两配对样本(2 Related Samples)非参数检验是在对总体分布不很清楚的情况下,对样本来自的两配对总体进行检验。

配对样本的理解

两配对样本非参数检验一般用于同一研究对象(或两配对对象)分别给予两种不同处理的效果比较,以及同一研究对象(或两配对对象)处理前后的效果比较。前者推断两种效果有无差别,后者推断某种处理是否有效。

如:判断服用某种药品前后某项关键生理指标值有无变化、同一个家庭夫妻两人的寿命有无差别等等

两配对样本前提

两配对样本非参数检验的前提要求两个样本应是配对的。在应用领域中,主要的配对资料包括:具有年龄、性别、体重、病况等非处理因素相同或相似者。

首先两个样本的观察数目相同,其次两样本的观察值顺序不能随意改变。

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

McNemar 检验 是 2 * 2 表的配对检验。

McNemar变化显著性检验以研究对象自身为对照,检验其两组样本变化是否显著。

原假设: 样本来自的两配对总体分布无显著差异。
要求: McNemar变化显著性检验要求待检验的两组样本的观察值是二分类数据,在实际分析中有一定的局限性。

当两配对样本的观察值不是二值数据时,无法利用前面一种检验方法,这时可以采用两配对样本的符号(Sign)检验方法。
检验步骤:
1.将第二组样本的各个观察值减去第一组样本对应的观察值,如果得到差值是一个正数,则记为正号;差值为负数,则记为负号。
2.计算正号的个案数 N+ 和负号的个案数 N-。 (出现差值等于0时,删除此个案,样本数n相应地减少。)
如果正号的个数和负号的个数大致相当,则可以认为两配对样本数据分布差距较小;正号的个数和负号的个数相差较多,可以分为两配对样本数据分布差距较大。

McNemar变化显著性检验基本方法采用二项分布检验。它通过对两组样本前后变化的频率,计算二项分布的概率值。


在原假设条件下应该有 (a+b)=(a+c)(a + b) = (a + c)(a+b)=(a+c) 或者 (c+d)=(b+d)(c + d) = (b + d)(c+d)=(b+d) , 即 b=cb = cb=c
大样本下有近似自由度为1的卡方统计量: X2=(b−c)2/(b+c)X^2 = (b - c)^2/(b + c)X2=(b−c)2/(b+c)

McNemar’s Test用于检验 (a+b)/N 和(a+c/N)是否显著?

McNemar’s Test的两个分类变量不是独立的,而是相关的,因为(a+b)/N 和(a+c/N)都包含a.

示例

(1)描述性统计部分结果如下表所示。

(2)McNemar检验结果如下两表所示。

代码

参考: https://blog.csdn.net/weixin_33929309/article/details/85899971

# -*- coding: utf-8 -*-
# Import standard packages
import numpy as np
import scipy.stats as stats
import pandas as pd# additional packages
from statsmodels.sandbox.stats.runs import cochrans_q, mcnemar
#药物测试,对疾病是否治愈,要求相同对象群体
#obs = np.array([[101, 121],[59, 33]])
# 实例中 训练前/后数据对比
obs = np.array([[2, 4],[0, 4]])
def Mcnemar(obs):'''McNemars Test should be run in the "exact" version, even though approximate formulas aretypically given in the lecture scripts. Just ignore the statistic that is returned, becauseit is different for the two options.In the following example, a researcher attempts to determine if a drug has an effect on aparticular disease. Counts of individuals are given in the table, with the diagnosis(disease: present or absent) before treatment given in the rows, and the diagnosisafter treatment in the columns. The test requires the same subjects to be included inthe before-and-after measurements (matched pairs).'''(statistic, pVal) = mcnemar(obs)print('MCNEMAR\'S TEST -----------------------------------------------------')print('p = {0:5.3f}'.format(pVal))if pVal < 0.05:print("There was a significant change")  else:print("There was no significant change")Mcnemar(obs)      '''
p = 0.125
There was no significant change
'''   

reference

PPT资源:
@online{BibEntry2022Jan,
title = {{两配对样本非参数检验.ppt-机器学习文档类资源-CSDN文库}},
year = {2022},
month = {1},
date = {2022-01-17},
urldate = {2022-01-17},
language = {chinese},
hyphenation = {chinese},
note = {[Online; accessed 17. Jan. 2022]},
url = {https://download.csdn.net/download/orDream/76285292},
keywords = {两配对样本非参数检验.ppt},
abstract = {{两配对样本,麦克尼马尔检验(McNemartest)等.介绍可查看:https://blog更多下载资源、学习资料请访问CSDN文库频道.}}
}

参考文献:
@online{BibEntry2022Jan,
title = {{McNemar test麦克尼马尔检验_weixin_33929309的博客-CSDN博客}},
year = {2022},
month = {1},
date = {2022-01-17},
urldate = {2022-01-17},
language = {chinese},
hyphenation = {chinese},
note = {[Online; accessed 17. Jan. 2022]},
url = {https://blog.csdn.net/weixin_33929309/article/details/85899971},
keywords = {麦克尼马尔检验},
abstract = {{sklearn实战-乳腺癌细胞数据挖掘(博主亲自录视频)https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share医药项目统计联系QQ:23146924…}}
}

麦克尼马尔检验(McNemar test)相关推荐

  1. 麦克内马尔检验(McNemar‘s Test)

    麦克内马尔检验(McNemar's Test) 配对标称数据的麦克内马尔检验(McNemar's Test) from mlxtend.evaluate import mcnemar 概述 McNem ...

  2. McNemar test麦克尼马尔检验

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录视频) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  3. Sun董事长麦克尼利:硅谷牛仔依然愤怒

    麦克尼利的特立独行和Sun公司的成长曾经是硅谷的一段传奇,如今他面临的挑战越来越大. 李云杰/文 李永起稍微 感觉有些紧张,他是Sun公司大中华区市场总监,2008年11月20日下午,在北京举行的Su ...

  4. Sun公司CEO斯科特·麦克尼利 IT行业的斗牛士

    1982年,也就是大学生比尔·盖茨创立微软的7年后,斯坦福大学学生斯科特·麦克尼利与另外3个年轻人一起创办了"斯坦福大学 校园 网"---每个单词的首字母分别是S-U-N.1984 ...

  5. 运筹优化学习17:马尔科夫决策规划--例题及Matlab、Lingo和Cplex的建模实现

    目录 1 胡运权<运筹学>211页题目及理论分析 1.1 题目介绍 1.2 Matlab实现 1.3 使用Lingo求解 1.4 使用Cplex建模及求解 2 刘克<马尔科夫决策过程 ...

  6. 克里斯·麦克切斯尼《高效能人士的执行4原则》读书笔记

    克里斯·麦克切斯尼:肖恩·柯维:吉姆·霍林 原则1:聚焦最重要目标 要事第一,全神贯注 原则2:关注引领性指标 分解目标,落实行动 原则3:坚持激励性记分表 记分衡量,一目了然 原则4:建立规律问责制 ...

  7. 马尔可夫模型(HMM)与隐马尔克夫模型(转)

    马尔可夫模型         马尔可夫模型:是用来预测具有等时间隔(如一年)的时刻点上各类人员的分布状况. 马尔可夫模型,它是根据历史数据,预测等时间间隔点上的各类人员分布状况.此方法的基本思想上根据 ...

  8. 读书笔记——数据压缩入门(柯尔特·麦克安利斯)下

    文章目录 数据压缩入门汇总 第九章 数据建模 9.1 马尔科夫链 9.2 部分匹配预测算法PPM 9.2.1 单词查找树 9.2.2 字符的压缩 9.2.3 选择一个合理的N值 9.2.4 处理未知的 ...

  9. 历届图灵奖和马尔奖获得者

    1.历届图灵奖获得者 1966 A. J. Perlis因在新一代编程技术和编译架构方面的贡献而获奖 1967 Maurice V. Wilkes因设计出第一台具有内置存储程序的计算机而获奖 1968 ...

最新文章

  1. 正则化如何消除过拟合
  2. python最佳实践指南试题_Python最佳实践指南 阅读笔记
  3. 设置图例字体_R高级画图(0903)关于字体、溪流图、ggplot2主题等设置 (tidyTuesday)...
  4. C/C++ —— signed 与 unsigned 有符号和无符号数及其移位
  5. 接收机端口电压dBuV如何转化为功率dBmW
  6. 深入Node.js的模块机制
  7. python物性库能调用哪些物质_Python获取流体热物性(1):CoolProp和python-refprop
  8. Linux基础(八)服务器RAID及配置
  9. Synchronized保证线程安全的原理
  10. wedo+scratch第一次上课
  11. matlab求条件概率密度_你真的会用程序求多重积分吗?
  12. 深圳“限牌”管理细则发布:每月26日摇号
  13. EBUSY: resource busy or locked, symlink
  14. 文件与磁盘空间管理---外存分配方式、存储空间管理
  15. 学习笔记——SDRAM学习
  16. 电子面单怎么申请-JAVA/PHP
  17. 普通人如何从0到1,成为百万粉自媒体大V?
  18. 淘宝API开发系列---阿里.聚石塔.开放平台的使用5
  19. lgb 分类回归 网格搜索调参数 + 数据生成csv
  20. java实现爬虫爬取京东手机页面

热门文章

  1. Win10下C:\Users\John以账户名称命名的系统文件夹用户名的修改
  2. 《Python从入门到实践》读书笔记——第五章 if语句
  3. 设计模式——黑板模式
  4. 冷战 (并查集按秩归并)
  5. uebs游戏_UEBS Ultimate Epic Battle电脑版
  6. win10系统下安装Linux系统
  7. jquery uploadify 用法详解
  8. 离散数学-数理逻辑-命题逻辑的基本概念(1)
  9. 阿里专家直击前端盛会JSConf2017_Day2:见证Moment.js精彩分享
  10. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU特性那些事(2)- RT1052DVL6性能实测(CoreMark)...