精华内容
下载资源
问答
  • McNemar检验到机器学习分类器
    千次阅读
    2018-07-30 10:28:42

    统计假设检验的选择是解释机器学习结果的一个具有挑战性的开放问题。

    在1998年被广泛引用的论文中,Thomas Dietterich在训练多份分类器模型副本昂贵而且不切实际的情况下推荐了McNemar检验。

    它描述了深度学习模型的现状,模型非常大并且在大型数据集上进行训练和评估,一个模型通常需要数天或数周来训练。

    在本教程中,你将了解如何使用McNemar统计假设检验来比较单个测试数据集上的机器学习分类模型。

    完成本教程后,你将了解:

    • McNemar检验适合大型深度学习模型。
    • 如何将两个分类器的预测结果转换为列联表,以及如何使用它来计算McNemar检验中的统计量。
    • 如何用Python计算McNemar检验并解释和报告结果。

    让我们开始吧。

    教程链接:如何计算McNemar检验,比较两种机器学习分类器

    更多相关内容
  • 2x2 矩阵上的 Permorm McNemar 卡方在统计学中,McNemar 检验是一种用于名义上的非参数方法数据以确定行和列的边际频率是否为平等的。 它以 Q. McNemar 的名字命名,他于 1947 年引入了它。 应用于具有匹配的二分...
  • 此 m 文件执行条件以及卡方校正的不连续性 McNemar 精确检验,适用于可能出现在具有二分(是-否)响应的配对研究中的两个相关(相关)样本。 当在两个不同时间测量同一对象时,也可能出现相关样本。 它检验边际同质...
  • R语言使用mcnemar.test函数进行McNemar检验(对每个研究对象分别用两种方法处理并处理成列联表形式、McNemar检验判断结果的差异是否具有统计学意义)

    R语言使用mcnemar.test函数进行McNemar检验(对每个研究对象分别用两种方法处理并处理成列联表形式、McNemar检验判断结果的差异是否具有统计学意义)

    目录

    展开全文
  • 临床上的一致性检验指的在诊断试验中,研究者希望考察不同的研究方法在诊断结果上是否具有一致性。分为两种情况:一是评价待评价的诊断试验方法与金标准的一致性;二是评价两种化验方法对同一样本的化验结果的一致性...

    临床上的一致性检验指的在诊断试验中,研究者希望考察不同的研究方法在诊断结果上是否具有一致性。分为两种情况:一是评价待评价的诊断试验方法与金标准的一致性;二是评价两种化验方法对同一样本的化验结果的一致性或者两个医务工作者对同一组病人的诊断结论的一致性或者同一个医务工作者对同一组病人前后两次的观察做出的诊断的一致性等。

    我们今天就来介绍下R语言如何实现临床化验结果的一致性与否的检验。在R语言中有两个函数都可以进行一致性检验,分别是kappa检验和McNemar检验。当然,两者也是有一定的区别的。如果检验的项目是多等级的分布那么选择kappa检验;如果是2个等级的检查那么选择McNemar检验。

    我们来看下两个函数的参数情况:

    1. kappa检验

    Weight参数是函数的重点,如果有多个检查项目中有一个是为0的时候需要加权检验,其他时候一般都是非加权检验。

    Ratings数据的结构一般是:所有样本在两个方法所得到的结果的一个表格数据。

    方法1

    方法2

    等级

    等级

    等级

    等级

    等级

    等级

    我们利用irr中的数据做一下检验分析样例程序如下:

    require(irr)

    data(diagnoses)

    dat=diagnoses[,c(1,2)]

    kappa2(dat[,c(1,2)],'unweighted')

    运行结果如下:

    其中p-value<0.05代表具有一致性。Kappa的值的大小代表的一致性的程度,此值介于0到1之间,越大一致性程度越大。

    2. McNemar检验

    其中一个参数correct默认是true。我们通过理论频数进行判断。所谓理论频数指某H0假设计算各分类理论上的发生或者未发生计数值,记为T。

    如果某个格子出现1≤T ≤5,则需作连续性校正。

    我们利用官方提供的例子进行构建数据集

    Performance

    matrix(c(794, 86, 150, 570),

    nrow = 2,

    dimnames = list("1st Survey" = c("Approve","Disapprove"),

    "2nd Survey" =c("Approve", "Disapprove")))

    Performance

    mcnemar.test(Performance)

    数据集和结果如图:

    以上就是一致性检验的实现过程,欢迎大家学习交流

    展开全文
  • \frac{(B-C)^2}{B+C} χ2=B+C(B−C)2​ 这个值也就是MCNemar检验得统计量。 根据该统计量和自由度就可以计算出 p p p值。(自由度在这里为1, ( r o w − 1 ) × ( c o l − 1 ) (row-1)\times(col-1) (row−1)×...

    引入

    模型选择是机器学习一个很重要的部分,比如说现在我们有两个预测模型,我们就需要判断这两个模型对一个事物的预测是基于它们的预测能力(estimated skill),抑或是由于统计学上的“巧合”,以此作为我们选择模型的一个判据。
    一般做统计假说测试时,我们会先给出一个假设,称为零假设(null hypothesis),通常我们会把希望推翻的结论设为零假设,比如,在相关性检验中,一般会取“两者之间没有关联”作为零假设,而在独立性检验中,一般会取“两者之间有关联”作为零假设。与零假设相对的是备择假设。
    **t-检测(Student’s T-Test)**是一种应用性很广的检测手段,通过对比平均数(averages)和调和平均数(means),可以告诉我们样本间不同的程度有多大,可以知道这些差异是否是偶然发生的。然而,t检测要求各样本的观测相互独立,否则会造成错误。

    Student’s T-Test(待补充)

    这里简单对t检测进行说明
    待补充

    在对MCNemar检测进行说明前,先记下两个概念:

    Ⅰ型错误: 原假设是正确的,却拒绝了原假设。
    Ⅱ型错误: 原假设是错误的,却没有拒绝原假设。

    MCNemar检测

    其优势是:

    对于只能执行一次的算法,McNemar 测试是唯一具有可接受的 Ⅰ 型错误的测试。

    与大多数检测相同,MCNemar检测也无法直接告诉我们哪个模型更好或者说更准确,而是检测两模型或者说数据是否存在相同的分歧(有点不说人话的感觉,但也找不到更好的表述。。)。
    直接举个例子比较容易说明,比如说以毒蘑菇分类为例,我们根据一系列的蘑菇属性对蘑菇进行毒性分类,那哪些属性是实实在在发挥作用的呢,就可以用到MCNemar检测,该检测关注点在于假阳性,符合实际生活的判断要求。
    以颜色为例,首先我们训练两个模型,一个是考虑了颜色属性的,另一个没有,然后用这两个模型对数据进行判断统计,制作列联表:

    \Classification_2_TrueClassification_2_False
    Classification_1_TrueAB
    Classification_1_FalseCD

    我们的零假设是:颜色与蘑菇毒性无关。
    然后就是卡方值得计算:
    A A A栏期望为: A A A D D D栏期望为: D D D B , C B,C B,C栏期望为 B + C 2 \frac{B+C}{2} 2B+C
    对应得卡方统计量为:
    A A A栏卡方值为: ( A − A ) 2 A = 0 \frac{(A-A)^2}{A}=0 A(AA)2=0,同理 D D D栏卡方值为: 0 0 0 B , C B,C B,C栏卡方值之和为 ( B − B + C 2 ) 2 B + C 2 ∗ 2 \frac{(B-\frac{B+C}{2})^2}{\frac{B+C}{2}} *2 2B+C(B2B+C)22
    总卡方值为: χ 2 = ( B − C ) 2 B + C \chi^2 = \frac{(B-C)^2}{B+C} χ2=B+C(BC)2
    这个值也就是MCNemar检验得统计量。
    根据该统计量和自由度就可以计算出 p p p值。(自由度在这里为1, ( r o w − 1 ) × ( c o l − 1 ) (row-1)\times(col-1) (row1)×(col1)), p p p值通过查表获得。当 p < 0.05 p<0.05 p<0.05,则拒绝原假设,否则则接受。
    另外MCNemar检测有时候需要修正或者正态近似,这部分就。。。有机会再记录。

    交叉验证

    一般我们在进行模型训练得时候会把整个数据集分为训练集和验证集,观察不同模型不同参数在验证集上MSE的大小,再进行模型参数的选择。但这会产生两个问题:

    最终模型与参数的选择会依赖于我们对训练集和验证集的划分;
    这种方法只用了一部分的数据进行训练。

    由此引出了交叉验证(Cross-Validation),其中最“彻底”的交叉验证应该是LOOCV方法,这种方法比较极端,就是说,假设我们有N个数据,我们就训练N次,每次取一个数据作为验证集,其余作为训练集,最后进行MSE的均值计算: C V ( n ) = 1 n ∑ i = 1 n M S E i CV_{(n)} = \frac{1}{n}\sum^{n}_{i=1}MSE_i CV(n)=n1i=1nMSEi显然,这种方法虽然保证了模型的 b i a s bias bias更小,但在数据量大,单个模型训练时间长的时候很不合适。
    然后又有另一种方法K-fold Cross Validation,于LOOCV类似,但在这里我们的验证集不再是1个,比如 K = 5 K=5 K=5的话,就是将所有数据集分为5份,不重复地每次取一份作为验证,最后计算平均的MSE: C V ( k ) = 1 k ∑ i = 1 k M S E i CV_{(k)} = \frac{1}{k}\sum^{k}_{i=1}MSE_i CV(k)=k1i=1kMSEi所以也可以说,LOOCV是一种特殊的K-fold Cross Validation(K=N)。
    另外需要注意的是,这里我们根据MSE进行调参,这里的参数并不是我们模型的参数,而是一些模型特有的超参数。
    再说明两句:
    对于K-fold Cross Validation,t-test会导致较高的Ⅰ型错误,但只是轻微的Ⅱ型错误。这意味着,当我们要尽可能避免Ⅱ型错误而可以容忍Ⅰ型错误时,可以使用这种组合。
    5 × 2 5\times2 5×2交叉验证简单解释就是5次重复的2折交叉验证,需要进行10次学习计算。
    主要参考这个网站 —> website. *
    这篇还需要很多后续完善工作!!

    展开全文
  • 我有一组数据,对两种不同的分类算法使用mcnemar检验进行比对,这种比对方法需要创建列联表,也就是求得在测试集中两种算法都分类正确、都分类错误、第一种分类正确第二种错误、第二种正确第一种错误的具体数值,...
  • 麦克内马尔检验(McNemar’s Test) 配对标称数据的麦克内马尔检验(McNemar’s Test) from mlxtend.evaluate import mcnemar 概述 McNemar检验[1](有时也称为“受试者内卡方检验”)是对配对名义数据的统计检验。在...
  • 麦克尼马尔检验(McNemar test)

    千次阅读 2022-01-17 14:58:59
    麦克尼马尔检验(McNemar test) 前言 在统计学中,McNemar 检验是用于配对 名义数据的统计检验。它应用于具有二分特征的2 × 2列联表,具有匹配的主题对,以确定行和列的边际频率是否相等(即是否存在“边际同质性”...
  • McNemar假设检验

    千次阅读 2021-04-28 14:47:22
    McNemar检验用于比较两个模型的差异性,不能说明哪个模型更准确。 0假设是没有显著差异。检验统计量(p)是0假设发生的概率。 指定显著度为alpha。p>alpha,接受0假设,没有显著差异。反之拒绝。 McNemar 检验...
  • R配对卡方检验(McNemar‘s Test)

    千次阅读 2021-07-19 22:31:11
    McNemar检验用于确定配对数据之间的比例是否有统计学意义上的差异。 McNemar's检验 McNemar's检验(配对卡方检验)用于分析两个相关率的变化是否有统计学意义。 首先,需要将数据整理成2*2的四格表(如单元格...
  • McNemar test麦克尼马尔检验

    千次阅读 2017-06-07 11:59:00
    检验(a+b)/N 和(a+c/N)是否显著? McNemar’s Test 的两个分类变量不是独立的,而是相关的,因为 (a+b)/N 和(a+c/N) 都包含a McNemar’s Test This is a matched pair test for 2 * 2 tables. For example...
  • ρ\rhoρ是实验做出来的,不是从数据推算的) bagging不会改善线性的估计,比如样本均值的估计,或者样本方差,其bootstrapped均值之间成对相关系数大约50%,见习题15.4 P590 McNemar检验 P590,591 随机森林和GBM的...
  • 它是 McNemar 检验对 KxK 情况的扩展。 现在,两个相关样本有 K 个响应类别。 原假设是方表中的概率满足对称性,或者从一个响应类别到另一个从样本 1 到样本 2 没有显着转变。 当对称性的原假设为真时,B 将具有...
  • McNemar检验 Cochran’Q检验 1. 卡方检验 1.1单因素卡方检验 from scipy import stats v,p=stats.chisquare(data) 1.2卡方联立表检验 比较两组之间是否有差异 data=np.array([[43,9],[44,4]]) v,p,dof,expected=...
  • 比较检验 有了实验评估方法和评估指标,看似可以对分类器的性能进行评估比较了:先使用某种试验评估方法测得分类器的某个评估指标结果,然后对这些结果进行比较。但怎么来做这个“比较”呢? 直接选取相应评估方法在...
  • kappa系数一致性检验和配对卡方检验SPSS详细操作:一、问题与数据有两种方法可用于诊断某种癌症,A方法简单易行,成本低,患者更容易接受,B方法结果可靠,但操作繁琐,患者配合困难。某研究选择了53例待诊断的门诊...
  • 四、使用McNemar检验解释分类器 H0:两学习器性能相同(分类器在测试集上具有相似的错误比例) 那么,我们可以总结如下: - 不拒绝零假设:分类器在测试集上具有相似的错误比例。 - 拒绝零假设:分类器在测试集上...
  • 快速掌握卡方检验

    千次阅读 2019-07-24 14:17:18
    与T检验一样,卡方检验也可细分为:分析卡方优度检验、交叉表卡方、配对卡方。具体分析方法如下: 03.卡方优度检验 卡方优度检验,是对一列数据进行统计检验,分析单个分类变量实际观测的比例与期望比例是否...
  • 3 McNemar检验: 若两学习器的性能相同,则A预测正确B预测错误数应等于B预测错误A预测正确数; 因此,如下所示的变量服从自由度为1的卡方分布,即服从标准正态分布N(0,1)的随机变量的平方和,下式只有一个...
  • McNemar检验 Friedman检验与Nemenyi后续检验 5、偏差和方差   4、比较检验 这部分主要介绍当我们使用某种实验评估方法测得学习器的某个性能度量结果时,我们要如何进行比较,判断学习器的优劣。也就是性能比较...
  • 一、异常检测算法介绍 sklearn.svm.OneClassSVM:对异常值敏感,因此对于异常值检测效果不佳。当训练集不受异常值污染时,此估计器最适合新数据检测;而且,在高维空间中检测异常值,或者不对基础数据的分布进行任何...
  • 西瓜书填坑【〇】勘误

    千次阅读 2019-02-13 13:17:23
    McNemar检验考虑变量" p.41, 式(2.33)旁加边注: "$e_{01} + e_{10}$ 通常很小, 需考虑连续性校正, 因此分子中有 $-1$ 项" p.45, 第一个边注: "由式(2.37)" --> "考虑到噪声不依赖于$f$, 由式(2.37)" p.63,...
  • 一、正态分布参数检验 例1. 某种原件的寿命X(以小时计)服从正态分布N(μ, σ)其中μ, σ2均未知。现测得16只元件的寿命如下: 159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170 ...
  • 机器学习-第二章

    2016-10-08 15:19:00
    ---ROC曲线本身也是二战时候用于检测敌机的雷达分析技术,后来多用于生物、心理学、制药等领域,是比如判断几种不同的药物的好坏的评估办法之一。 参看上图的右边的两条曲线,很明显,蓝色曲线代表的模型较好,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 715
精华内容 286
关键字:

mcnemar检验

友情链接: code.zip