研究背景
当您使用Stata全新的h2oml命令套件完成梯度提升机(GBM)与随机森林(RF)分类器训练后,测试数据显示GBM模型准确率达87%,而RF模型为85%。这是否意味着GBM就是更优选择呢?且慢定论。
为何单一准确率指标不足为凭
准确率、AUC值及均方根误差等指标虽被广泛采用,但其本质仅是点估计。这些数值仅反映模型在特定测试样本上的表现,未能考虑样本间变异所导致的波动。换言之,它们无法回答这个关键问题:两种方法的性能差异是否具有总体代表性,抑或仅是当前测试数据中的偶然现象?
在比较GBM与RF等方法时,几个百分点的性能差异本身可能并不具备足够的说服力。若不考虑不同样本间结果的差异程度,我们难以判断某一方法是否确实具有持续优势,抑或观测到的差异仅是数据随机波动的产物。此时统计检验显得尤为重要,因为它能提供系统框架,帮助我们评估观测差异是否具有总体层面的显著性。
概述
机器学习中比较分类器的常规做法是将数据集划分为三类保留集(训练集、验证集和测试集)或两类保留集(训练集与测试集)。其中验证集(针对三类划分)或交叉验证(针对两类划分)用于模型调整,而测试集则用于评估*终性能。
然而,依赖单一测试集的一个微妙但关键的问题是测试数据选取的随机变化。具体而言,即使两个分类器在整个总体中表现相同,由于抽样测试数据的随机波动,其中一个可能会显得更加优越。当测试集较小时,这一问题尤为**。
针对此问题,学术界推荐采用统计检验方法(Dietterich 1998;Alpaydin 1998;Raschka 2018)。本文将重点探讨:给定两种机器学习方法和一个训练集,如何检验这两个分类器在未见数据上是否具有相同的错误率?
我们将聚焦两种检验方法:McNemar检验(Mcnemar 1947)和组合式5×2交叉验证(5×2 CV) F检验(Alpaydin 1998)。通过Stata及其h2oml套件,我们将演示这些检验的实际应用。本文结构如下:首先从概念层面介绍两种检验方法,然后过渡到Stata中的具体实现。
统计检验
在二元分类问题中,模型的性能可通过误分类错误率进行评估,误分类错误率是指所有预测中不正确预测的比例。让真正例(TP)和真负例(TN)分别表示正确分类的z正样本和负样本的数量。让假正例(FP)和假负例(FN)表示错误分类的正样本和负样本的数量。误分类错误率的计算公式为:
反之,衡量正确预测的比例的模型准确率计算公式为:
详细信息参见[H2OML]metric_option说明文档。这些指标是评估RF或GBM等算法预测质量的基础指标。
McNemar检验
McNemar检验是一种用于配对比较的非参数检验方法,可用于评估两种分类方法在同一测试集上的性能是否存在显著差异。
设nij表示分类器A(如GBM)的预测结果为i(i=1表示正确预测,i=0表示错误预测),同时分类器B(如RF)的预测结果为j(j=1表示正确预测,j=0表示错误预测)的样本数量。据此可构建如下2×2列联表:
表1:McNemar检验用于比较两种二元分类器的错误率所需的数据对照表
我们重点关注非对角线元素,,n01 (A不正确,B正确) 和n10 (A正确,B不正确)。这些值反映了两个分类器之间的预测分歧。
零假设H0设定为两个分类器具有相同的错误率:
在零假设下,分歧数量n01+n10遵循二项式分布,且两种分歧结果出现概率相等。当样本量足够大时,二项式分布可以近似为1自由度的卡方分布。
McNemar检验统计量计算公式为:
在零假设下,该统计量近似为卡方分布,具有1个自由度。具体推导过程可参阅[R] epitab中 Unstratified matched case–control data (mcc and mcci)章节。
组合式 5 x 2 CV F检验
5×2 CV F检验是一种用于比较两种监督分类方法性能的统计检验方法,其核心在于检验以下零假设:
该检验方法基于Dietterich(1998)提出的5×2 CV验证配对t检验发展而来。Alpaydin(1998)发现了原检验方法因需从10种可能的统计量中任选其一而存在不稳定性,故提出组合F检验方法,通过聚合所有统计量来提高稳健性。
对于每次重复i,我们需要计算:
以及方差的估计:
原始5×2 CV t检验(供参考)
Dietterich(1998)提出的t统计量如下:
组合式5 x 2 CV F检验推导
在零假设成立且满足(近似)独立性假设的条件下,我们有
该统计量近似服从自由度为(10,5)的F分布。
简而言之,组合式5×2 CV F 检验相较于Dietterich原始t检验的改进体现在:
.充分利用全部10折的差异数据,而非仅用其中1折
.降低对折叠或复制顺序的敏感性
.提供更好的I类错误控制能力,并增强统计能力
Stata实现步骤
我们首先加载attrition.dta数据集,并生成新变量logincome来开始我们的分析,该变量存储了月收入的对数值。这种对数变换是建模前处理偏态变量的常用方法。
. use ////users/assaad_dallakyan/attrition, clear
. gen logincome = log(monthlyincome)
然后我们通过h2o init命令初始化H2O集群,将当前数据集载入H2O框架并命名为attrition,同时将其设为当前H2O框架。
. h2o init
. _h2oframe put, into(attrition) current
为提高可重复性,我们采用随机种子19将attrition.dta划分为训练集(70%)和测试集(30%),随后将train框架设为模型训练的工作框架。
. _h2oframe split attrition, into(train test) split(0.7 0.3) rseed(19) replace
. _h2oframe change train
为简化操作,我们定义了全局宏predictors,其中包含模型的完整预测变量集。涵盖了广泛的个人和工作相关特征,比如教育,工作满意度,工作生活平衡度以及人口统计细节。
. global predictors age education employeenumber environmentsat
> jobinvolvement jobsatisfaction logincome numcompaniesworked
> performance relationshipsat totalworkingyears worklifebalance
> yearsatcompany yearsincurrentrole yearswithcurrmanager
> businesstravel gender jobrole maritalstatus
McNemar检验
我们首先使用训练数据集训练GBM分类器。一旦模型被训练好,我们*test框架应用于后续的后估计命令,显示混淆矩阵并生成预测结果。将预测类别存储在测试框架test的attrition_gbm变量中,并将模型保存在gbm的名称下,以便将来进行比较。为了简单起见,对于GBM和RF分类器,我们对所有*参数使用默认值,并且没有进行调整。然而,在实际应用中,我们更可能希望经过*参数调整后获得的*佳模型;
在测试集的431个观测样本中,产生81次误分类,总体错误率为0.188。
我们对RF分类器重复相同的过程。预测结果存储在变量attribute_rf中,模型另存为rf。
在测试数据集的全部431个观测值中,共产生了104个误分类,总体错误率达0.241。初步来看,GBM模型在预测准确率上似乎优于RF模型(错误率0.188 vs 0.241)。然而,这种差异可能并不代表总体层面的差异,这正凸显了在准确率指标之外进行统计检验的必要性。接下来我们将通过McNemar检验和5×2 CV F检验进行验证。
为了执行McNemar的测试,我们将测试数据和预测结果导回Stata(通过_h2oframe-get)进行进一步的统计分析。我们将字符型的分类预测和结果编码为数值变量,并删除原始字符型版本。
. clear
. _h2oframe get attrition attrition_gbm attrition_rf using test
. encode attrition, gen(nattrition)
. encode attrition_gbm, gen(nattrition_gbm)
. encode attrition_rf, gen(nattrition_rf)
. drop attrition attrition_gbm attrition_rf
下一步是制作一个三线表,交叉比对真实标签与两个模型的预测结果,从中提取McNemar检验所需的计数(如表1所示),并存储在局部宏中。
然后我们调用mcci命令,基于上述频数计算McNemar统计量。
检验结果没有提供拒绝零假设的证据,表明两种模型性能无显著差异。
对于训练计算成本高的模型,Dietterich(1998)推荐**采用McNemar检验。对于可重复训练的模型(例如10次),他建议使用5×2 CV t检验,因其统计功效略优于McNemar检验。接下来,我们将演示如何在Stata中实现5×2 CV F检验,该方法是5×2 CV t 检验的改进版本。
组合式5×2 CV F检验
我们首先切换至完整数据集框架(attrition)。然后,我们初始化标量N和M[参见 (5)],用于计算F统计量(6)。
. _h2oframe change attrition
. scalar N = 0
. scalar M = 0
该测试的结果证实了McNemar检验的结果。没有证据表明这些方法存在显著性能差异。
如果您想要体验Stata 19的新功能,欢迎联系科学软件网申请试用。
北京天演融智软件有限公司专注于pscad,gams,spsspro,stata,matlab,mathematica,nvivo等, 欢迎致电 18510103847stata,数据分析,统计分析
研究背景当您使用Stata全新的h2oml命令套件完成梯度提升机(GBM)与随机森林(RF)分类器训练后,测试数据显示GBM模型准确率达87%,而RF模型为85%。这是否意味着GBM就是更优选择呢?且慢定论。为何单一准确率指标不足为凭准确率、AUC值及均方根误差等指标虽被广泛采用,但其本质仅是点估计。这些数值仅反映模型在特定测试样本上的表现,未能考虑样本间变异所导致的波动。换言之,它们无法回答这个
加密聊天软件
在信息爆炸的时代,人们对隐私保护的需求愈发强烈。聊天作为日常信息交流的重要方式,其安全性备受关注。安全加密聊天软件凭借先进的技术手段,成为守护信息安全的可靠屏障,为用户提供私密、放心的通讯环境。加密算法是安全加密聊天软件守护信息安全的核心武器。这类软件通常采用端到端加密技术,在信息发送端,消息会被转化为一串乱码,只有接收方使用特定的密钥才能将其还原为原始信息。以 AES(高级加密标准)为例,它是一
外贸获客软件
“阳江外贸获客软件服务”在当今竞争激烈的外贸市场中,有效的获客软件对于企业的发展至关重要。阳江外贸获客软件服务致力于为外贸企业提供、的软件解决方案,帮助他们实现获客,提高业务效率,拓展海外市场。外贸获客软件是外贸业务中的得力助手,它们能够帮助企业找到潜在客户、建立客户关系、推动销售增长。在众多外贸获客软件中,阿里卖家是备受关注的平台之一。通过阿里卖家,企业可以实现客户沟通与管理、数据管家、询盘管理
用友YonSuite软件
**肇庆用友YonSuite软件公司**在数字化时代,企业管理软件的选择至关重要。能够为企业提供、的管理系统,帮助企业实现数字化转型,提升竞争力和能力。正是基于这样的理念,肇庆用友YonSuite软件公司应运而生。**用友YonSuite软件简介**YonSuite软件是一款基于云原生架构的企业管理软件,专为成长型企业设计。通过融合“营销、制造、采购、财务、人力、办公、平台”等多个领域的功能,为企
单机版阅卷系统,阅卷读卡器,阅读机有什么好
单机版阅卷系统 阅卷读卡器 阅读机有什么好 阅读机(OpticalMarkReader缩写 OMR ) 是一种计算机输入设备,它能快速识别信息卡上的涂写内容,并传入计算机中处理。它的基本原理是发光器件发出的光照射在信息卡的信息位上,如该信息位被涂黑则部分光被吸收,反射光变弱,否则,反射光变强,由对应的接收管将强弱不同的光信号转移成电信号,再经A/D转换、数字滤波、模式