如何理解Type I/II Error,敏感性与特异性以及ROC,AUC

(2019-12-16)

首先,Type I/II Error 在维基百科的解释为:

Type I error is the rejection of a true null hypothesis (also known as a "false positive" finding),
I类错误是拒绝了本为真的 Null Hypothesis

Type II error is failing to reject a false null hypothesis (also known as a "false negative" finding). 1-power。
II类错误是未能拒绝一个本为假的 Null Hypothesis

Type I & II Errors

用一个例子来讲:

Type I Error:
H_0(见图上H0): 阴性
假设H_0成立,实际上也确实成立,但是我们检测到的样本正好有Bias,导致t=\frac{\overline X-μ}{\frac{\sigma}{\sqrt{n}}}落于置信区间外,造成了False Positive Error(本来没病,却检查出有病)

Type II Error:
H_0(见图上H1): 阴性
假设H_0成立,实际上不成立,应该是H_1。但是我们检测到的样本正好有Bias,导致t=\frac{\overline X-μ}{\frac{\sigma}{\sqrt{n}}}落于置信区间内,造成了False Negative Error(本来有病,却检查出没病)

再追加一个例子,如果我们要检验:
H_0: 中国人平均身高 ≤ 170cm
H_1: 中国人平均身高 > 170cm
Type I Error 就是平均身高实际是170cm,但是取到的样本平均身高到了180cm,导致错误地拒绝了H0
Type II Error 就是平均身高实际是180cm,但是取到样本平均身高却是172cm,导致错误地未能拒绝H0

显著性水平的选择对Type I,Type II Error的影响

α 的选择越小,蓝线右移,P(Type I Error) 越小,P(Type II Error) 越大;
α 的选择越大,蓝线左移,P(Type I Error) 越大,P(Type II Error) 越小。

其中,定义检验的势 Power = 1 - P(Type II Error)

敏感性(Sensitivity)与特异性(Specificity)

敏感性(Sensitivity)意味着有病的人的检测正确率,特异性(Specificity)意味着没病的人的检测正确率。


Sensitivity and Specificity

具体来讲,
如果拿出机器学习中的混淆矩阵:

真实值为P 真实值N
预测值P TP FP (Type I Error)
预测值N FN (Type II Error) TN

敏感性的计算公式为:\frac{TP}{TP+FN},它与FNR是互补关系(和为1)
高敏感性意味着低 FNR (False Nagetive Rate,图中的β,漏诊率),有病的都能被检测出来,机器学习中意味着高召回率(\frac{TP}{TP+FN}),可以看到公式是一样的。另外它和假设检验中的 power(势) 也是一致的。

特异性的计算公式为:\frac{TN}{TN+FP},它与FPR是互补关系(和为1)
高特异性意味着低 FPR (False Positive Rate,图中的α,误诊率),没病的都不会被勿诊为有病,但注意,高特异性并不意味着机器学习中的高精确度(\frac{TP}{TP+FP}),因为即便高特异性意味着低FP,但可能模型本身很差,根本无法找出TP,从而导致精确度很低。

ROC - Receiver Operating Characteristic (ROC) Curves

将模型检测结果的 TPR (Sensitivity) 作为横坐标,FPR (1 - Specificity) 作为纵坐标,画到笛卡尔坐标系中,即可得到类似与如下的曲线:

ROC-AUC

直观上理解,其实就是当下图中的蓝线(阈值)从紫色面积的最右边逐渐移到红色部分的最左边时,产生的曲线:

ROC Curve Explained

其中的道理是,通过阈值的选择可以让模型对正例的判别变得严格,这样就会有更多的真实正样本被分为正例,TPR(\frac{TP}{TP+FN})增加,但同时也会有更多的真实负样本被分为正例,所以同时提高了FPR(\frac{FP}{FP+TN}):

ROC Curve Explained

极端情况下,

  • 当两个分布完全不重合,用分类器可以完全分割时,模型的TPR=1,FPR=0,ROC=1,模型完美;
  • 当两个分布完全重合,用分类器完全无法分割时,蓝线从分布的右边划到左边,TPR和FPR都从0到1,ROC=0.5,模型等同于随机猜测;
Best and Worst ROC Curves

而AUC就是所谓的Area under Curve,代表ROC曲线下面的面积,值域为[0, 1],正常情况下为[0.5, 1]。

  • 当AUC = 0.5时,模型等于随机猜测,
  • 当AUC ∈ (0.5, 1),模型比随机猜测好,
  • 当AUC = 1时,模型是完美分类器,
  • 当AUC ∈ (0, 0.5),模型比随机猜测差(只需反向预测即可好于随即猜测)

AUC的实际意义是:当随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的分数将这个正样本排在负样本前面的概率就是AUC值。所以,AUC的值越大,当前的分类算法越有可能将正样本排在负样本值前面,既能够更好的分类。

关于ROC曲线的Trade Off

假设一个警察会根据一系列经验去抓小偷,但是不能100%保证准确率,那么当警察提高他的严苛度(阈值)时,必然会有更多的小偷被抓到,漏判率降低,但是随之误判率会升高,会有良民被抓。

因此,阈值的设定关系到了我们想要这个模型产出的效果,如果希望抓出更多的Positive样本,就提高阈值,随之Sensitivity增加,FPR增加;如果希望Negative样本不要误判,就降低阈值,Sensitivity降低,FPR降低。

例如在金融领域,欺诈用户如果不能更好地被检测出来,会给企业带来巨大损失,同样如果病人被误判为健康的,那么他的生命就会受到威胁,这两种情况则都需要模型具有较高的敏感度。关于这种情况的优化,可以参考1999年的一篇论文:MetaCost: A General Method for Making Classifiers Cost-Sensitive。其采用了Bagging的思想对使分类器变得代价敏感。

关于ROC曲线最优点的选取

方法有多种,其中包括:找到离(0,1)最近的点,Youden index等[2]

关于ROC曲线的绘制

一个模型只能产生一个结果,那么如何绘制曲线呢?
具体方法是在得到 生成概率/预测概率/后验概率 后,先不急着算出预测类别,而是先对生成概率进行从大到小的排序,例如:

Y_value 1 0.9 0.8 0.8 0.7 0.6 0.4 0.2 0.1 0.05
Y_pred
Y_real 1 1 1 0 1 1 0 0 0 0

然后我们就可以通过画线分割的方式来选择不同的阈值,同时计算相应的TPR和FPR了,比如先选择阈值0.99:

Y_value 1 0.9 0.8 0.8 0.7 0.6 0.4 0.2 0.1 0.05
Y_pred 1 1 0 0 0 0 0 0 0 0
Y_real 1 1 1 0 1 1 0 0 0 0

TPR=\frac{1}{5}=0.2FPR=\frac{0}{5}=0,ROC上添加点 (0, 0.2)

当阈值选为0.9时:

TPR=\frac{2}{5}=0.4FPR=\frac{0}{5}=0,ROC上添加点 (0, 0.4)

以此类推我们可以继续得到点:
(0.2, 0.6)
(0.2, 0.8)
(0.2, 1.0)
(0.4, 1.0)
(0.6, 1.0)
(0.8, 1.0)
(1.0, 1.0)

将图像画出即为:

ROC of the example

思考与总结:统计机器学习与统计学评价指标的关系

毫无疑问,统计学习是包含在统计学中的,是统计学中的一个上层建筑。
其中的I/II类错误,还有power都是假设检验中的概念,但通过上面的分析也发现了不同统计概念中的一致性(例如Sensitivity, Power, Recall都是一致的)。

实际上在现实世界的统计规律中,如果不给定或者给定极少的(例如1个)特征,那么分类问题就如同盲人摸象,不同类别的分布会重叠在一起。而统计机器学习的目的,就是通过一定的手段,把这两个分布尽可能地拉开,拉的越开,那么分类的效果就越好

而这个手段,就是 数据(特征) + 模型 + 算法(最优化) 。如何更好地利用这些手段,并解决现实生活中的实际问题,就是统计机器学习的研究目标。

References:
[1] Youtube - Sensitivity, Specificity, and ROC Curves
[2] 全面了解ROC曲线
[3] ROC及AUC计算方法及原理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,694评论 0 3
  • 通常在研究中,我们会对已有的一些结论或者主张抱有合理的质疑 reasonable doubt,此时该如何通过概率统...
    拓季阅读 11,408评论 1 17
  • 线性回归 首先,用线性回归的前提,线性线性,他是能区分可由一个直线(面)来回归模拟的数据。如果训练数据包含非线性关...
    喔蕾喔蕾喔蕾蕾蕾阅读 1,337评论 0 4
  • 假设检验 1、原假设和备选假设的建立 原假设:在假设检验中,我们首先对总体参数做一个尝试性的假设。 备选假设:定义...
    马路仔阅读 1,128评论 0 0
  • 心,永远年轻 作为一个80后来讲,看到这本书的刹那真的有种物是人非的感觉。当青春逐渐的离我远去,当下30岁的我选择...
    原版穆川阅读 605评论 0 2