




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
sas分类模型的混淆矩阵性能评估跑完分类模型(Logistic回归、决策树、神经网络等),我们经常面对一大堆模型评估的报表和指标,如Confusion Matrix、ROC、Lift、Gini、K-S之类(这个单子可以列很长),往往让很多在业务中需要解释它们的朋友头大:“这个模型的Lift是4,表明模型运作良好。啊,怎么还要解释ROC,ROC如何如何,表明模型表现良好”如果不明白这些评估指标的背后的直觉,就很可能陷入这样的机械解释中,不敢多说一句,就怕哪里说错。本文就试图用一个统一的例子(SAS Logistic回归),从实际应用而不是理论研究的角度,对以上提到的各个评估指标逐一点评,并力图表明:1. 这些评估指标,都是可以用白话(plain English, 普通话)解释清楚的;2. 它们是可以手算出来的,看到各种软件包输出结果,并不是一个无法探究的“黑箱”;3. 它们是相关的。你了解一个,就很容易了解另外一个。本文从混淆矩阵(Confusion Matrix,或分类矩阵,Classification Matrix)开始,它最简单,而且是大多数指标的基础。数据本文使用一个在信用评分领域非常有名的免费数据集,German Credit Dataset,你可以在UCI Machine Learning Repository找到(下载;数据描述)。另外,你还可以在SAS系统的Enterprise Miner的演示数据集中找到该数据的一个版本(dmagecr.sas7bdat)。以下把这个数据分为两部分,训练数据train和验证数据valid,所有的评估指标都是在valid数据中计算(纯粹为了演示评估指标,在train数据里计算也未尝不可),我们感兴趣的二分变量是good_bad,取值为good, bad:Train data good_bad Frequency Percent - bad 154 25.67 good 446 74.33 Valid data good_bad Frequency Percent - bad 146 36.50 good 254 63.50信用评分指帮助贷款机构发放消费信贷的一整套决策模型及其支持技术。一般地,信用评分技术将客户分为好客户与坏客户两类,比如说,好客户(good)能够按期还本付息(履约),违约的就是坏客户(bad)。具体做法是根据历史上每个类别(履约、违约)的若干样本,从已知的数据中考察借款人的哪些特征对其拖欠或违约行为有影响,从而测量借款人的违约风险,为信贷决策提供依据。Logistic回归是信用评分领域运用最成熟最广泛的统计技术。约定在我们的示例数据中,要考察的二分变量是good_bad,我们把感兴趣的那个取值bad(我们想计算违约的概率),称作正例(Positive, 1),另外那个取值(good)称作负例(Negative, 0)。在SAS的Logistic回归中,默认按二分类取值的升序排列取第一个为positive,所以默认的就是求bad的概率。(若需要求good的概率,需要特别指定)。模型如果没有特别说明,以下所有的SAS代码都在SAS 9.1.3 SP4系统中调试并运行成功(在生成ROC曲线时,我还会提到SAS9.2的新功能)。proclogisticdata=train; model good_bad=checking history duration savings property;run;这个数据很整齐,能做出很漂亮的模型,以下就直接贴出参数估计的结果:Analysis of Maximum Likelihood Estimates Standard Wald Parameter DF Estimate Error Chi-Square Pr ChiSq Intercept 1 0.6032 0.4466 1.8242 0.1768 checking 1 -0.6536 0.0931 49.3333 .0001 history 1 -0.4083 0.0980 17.3597 .0001 duration 1 0.0248 0.00907 7.4820 0.0062 savings 1 -0.2017 0.0745 7.3308 0.0068 property 1 0.3157 0.1052 9.0163 0.0027回归方程就是:logitp(bad)=log(p/1-p) =0.6032-0.6536*checking-0.4083*history+0.0248*duration -0.2017*savings+0.3157*property用下面的公式就可以求出正例的概率(bad的概率):p=exp(logit)/(exp(logit)+1)上式求出的是概率值,如何根据概率值把各个客户归类,还需要一个阈值,比如,这里我们简单地规定,违约概率超过0.5的就归为bad,其余为good。把上述公式代入valid数据中,datavalid_p; set valid; logit=0.6032-0.6536*checking-0.4083*history+0.0248*duration-0.2017*savings+0.3157*property; p=exp(logit)/(exp(logit)+1); if p0)2. b是把负例预测成正例的数量, False Positive(FP, 0-1)3. c是把正例预测成负例的数量, False Negative(FN, 1-0)4. d是正确预测到的正例的数量, True Positive(TP, 1-1)5. a+b是实际上负例的数量,Actual Negative6. c+d是实际上正例的个数,Actual Positive7. a+c是预测的负例个数,Predicted Negative8. b+d是预测的正例个数,Predicted Positive以上似乎一下子引入了许多概念,其实不必像咋一看那么复杂,有必要过一下这里的概念。实际的数据中,客户有两种可能good, bad,模型预测同样这两种可能,可能匹配可能不匹配。匹配的好说,0-0(读作,实际是Negative,预测成Negative),或者 1-1(读作,实际是Positive,预测成Positive),这就是True Negative(其中Negative是指预测成Negative)和True Positive(其中Positive是指预测成Positive)的情况。同样,犯错也有两种情况。实际是Positive,预测成Negative (1-0) ,这就是False Negative;实际是Negative,预测成Positive (0-1) ,这就是False Positive;我们可以通过SAS的proc freq得到以上数字:proc freq data=valid_p; tables good_bad*good_bad_predicted/nopercent nocol norow; run;对照上表,结果如下:预测 10 实1,badd, True Positive,48c, False Negative,98c+d, Actual Positive,146 际0,goodb, False Positive,25a, True Negative,229a+b, Actual Negative,254 b+d, Predicted Positive,73a+c, Predicted Negative,327400根据上表,以下就有几组常用的评估指标(每个指标分中英文两行):1. 准确(分类)率VS.误分类率准确(分类)率=正确预测的正反例数/总数Accuracy=true positive and true negative/total cases= a+d/a+b+c+d=(48+229)/(48+98+25+229)=69.25%误分类率=错误预测的正反例数/总数Error rate=false positive and false negative/total cases=b+c/a+b+c+d=1-Accuracy=30.75%2. (正例的)覆盖率VS. (正例的)命中率覆盖率=正确预测到的正例数/实际正例总数,Recall(True Positive Rate,orSensitivity)=true positive/total actual positive=d/c+d=48/(48+98)=32.88%/*注:覆盖率(Recall)这个词比较直观,在数据挖掘领域常用。因为感兴趣的是正例(positive),比如在信用卡欺诈建模中,我们感兴趣的是有高欺诈倾向的客户,那么我们最高兴看到的就是,用模型正确预测出来的欺诈客户(True Positive)cover到了大多数的实际上的欺诈客户,覆盖率,自然就是一个非常重要的指标。这个覆盖率又称Sensitivity, 这是生物统计学里的标准词汇,SAS系统也接受了(谁有直观解释?)。 以后提到这个概念,就表示为,Sensitivity(覆盖率,True Positive Rate)。 */命中率=正确预测到的正例数/预测正例总数Precision(Positive Predicted Value,PV+)=true positive/ total predicted positive=d/b+d=48/(48+25)=65.75%/*注:这是一个跟覆盖率相对应的指标。对所有的客户,你的模型预测,有b+d个正例,其实只有其中的d个才击中了目标(命中率)。在数据库营销里,你预测到b+d个客户是正例,就给他们邮寄传单发邮件,但只有其中d个会给你反馈(这d个客户才是真正会响应的正例),这样,命中率就是一个非常有价值的指标。 以后提到这个概念,就表示为PV+(命中率,Positive Predicted Value)*。/3.Specificity VS. PV-负例的覆盖率=正确预测到的负例个数/实际负例总数Specificity(True Negative Rate)=true negative/total actual negative=a/a+b=229/(25+229)=90.16%/*注:Specificity跟Sensitivity(覆盖率,True Positive Rate)类似,或者可以称为“负例的覆盖率”,也是生物统计用语。以后提到这个概念,就表示为Specificity(负例的覆盖率,True Negative Rate)。*/负例的命中率=正确预测到的负例个数/预测负例总数Negative predicted value(PV-)=true negative/total predicted negative=a/a+c=229/(98+229)=70.03%/*注:PV-跟PV+(命中率,Positive Predicted value)类似,或者可以称为“负例的命中率”。 以后提到这个概念,就表示为PV-(负例的命中率,Negative Predicted Value)。*/以上6个指标,可以方便地由上面的提到的proc freq得到:procfreqdata=valid_p; tables good_bad*good_bad_predicted ;run;其中,准确率=12.00%+57.25%=69.25% ,覆盖率=32.88% ,命中率=65.75% ,Specificity=90.16%,PV-=70.03% 。或者,我们可以通过SAS logistic回归的打分程序(score)得到一系列的Sensitivity和Specificity,proclogisticdata=train; model good_bad=checking history duration savings property; score data=validoutroc=valid_roc;run;数据valid_roc中有几个我们感兴趣的变量: _PROB_:阈值,比如以上我们选定的0.5 _SENSIT_:sensitivity(覆盖率,true positive rate) _1MSPEC_ :1-Specificity,为什么提供1-Specificity而不是Specificity,下文有讲究。_PROB_ _SENSIT_ _1MSPEC_ 0.54866 0.26712 0.07087 0.54390 0.27397 0.07874 0.53939 0.28767 0.08661 0.52937 0.30137 0.09055 0.51633 0.31507 0.094490.50583 0.32877 0.098430.48368 0.36301 0.10236 0.47445 0.36986 0.10630如果阈值选定为0.50583,sensitivity(覆盖率,true positive rate)就为0.32877,Specificity就是1-0.098425=0.901575,与以上我们通过列联表计算出来的差不多(阈值0.5)。下期预告:ROC以上我们用列联表求覆盖率等指标,需要指定一个阈值(threshold)。同样,我们在valid_roc数据中,看到针对不同的阈值,而产生的相应的覆盖率。我们还可以看到,随着阈
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社会热点事件在初中历史教学中的应用策略与实践研究
- 海洋调查设备项目风险评估报告
- 中国集成显卡行业市场深度分析及发展趋势预测报告
- 2025年 沧州市人民医院招聘考试笔试试题附答案
- 2025年中国全铜红冲三角阀行业市场发展前景及发展趋势与投资战略研究报告
- 2022-2027年中国瓜子行业市场供需现状及投资战略研究报告
- 2025年中国网络视频监控系统行业发展前景预测及投资战略研究报告
- 2024-2030全球RJ11连接器行业调研及趋势分析报告
- 小河口水电站环境影响评价报告书【专业版】
- 老年三轮车项目投资可行性研究分析报告(2024-2030版)
- 医疗保险基本政策培训PPT
- 连云港师范高等专科学校辅导员考试题库
- 2023年湖北黄冈市检察机关招聘雇员制检察辅助人员50人高频考点题库(共500题含答案解析)模拟练习试卷
- 05G525-吊车轨道联结及车挡(适用于钢吊车梁)课件
- TQGCML 757-2023 硫酸钙晶须规程
- 计数型MSA分析表
- 军校招生政治考核表格式-双面打印
- 急救-毒蛇咬伤
- YY 0334-2002硅橡胶外科植入物通用要求
- GB/T 41261-2022过程工业报警系统管理
- (完整版)杭州电子科技大学数字电路期末考试试卷及答案
评论
0/150
提交评论