麦克尼马尔检验(McNemar test)

麦克尼马尔检验(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变化显著性检验基本方法采用二项分布检验。它通过对两组样本前后变化的频率,计算二项分布的概率值。

麦克尼马尔检验(McNemar test)
在原假设条件下应该有 ( 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 = c b = c b =c
大样本下有近似自由度为1的卡方统计量: X 2 = ( b − c ) 2 / ( b + c ) X^2 = (b – c)^2/(b + c)X 2 =(b −c )2 /(b +c )

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

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

; 示例

麦克尼马尔检验(McNemar test)
麦克尼马尔检验(McNemar test)
(2)McNemar检验结果如下两表所示。
麦克尼马尔检验(McNemar test)

代码

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


import numpy as np
import scipy.stats as stats
import pandas as pd

from statsmodels.sandbox.stats.runs import cochrans_q, mcnemar

obs = np.array([[2, 4],[0, 4]])
def Mcnemar(obs):
    '''McNemars Test should be run in the "exact" version, even though approximate formulas are
    typically given in the lecture scripts. Just ignore the statistic that is returned, because
    it is different for the two options.

    In the following example, a researcher attempts to determine if a drug has an effect on a
    particular disease. Counts of individuals are given in the table, with the diagnosis
    (disease: present or absent) before treatment given in the rows, and the diagnosis
    after treatment in the columns. The test requires the same subjects to be included in
    the 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…}}
}

Original: https://blog.csdn.net/orDream/article/details/122540099
Author: orDream
Title: 麦克尼马尔检验(McNemar test)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622845/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球