一.AUC的定义及绘制方法
AUC(Area Under the Curve of ROC)被定义为ROC曲线下与坐标轴围成的面积。AUC的取值范围在[0.5,1],越接近1则表示模型的精度越好。
ROC(Receiver Operating Characteristic Curve)全称为受试者工作特征曲线,以假阳性率(False Positive Rate, FPR)为横坐标,以真阳性率(True Positive Rate, TPR)为纵坐标绘制的曲线。FPR、TPR的公式如下所示,式中,模型预测概率大于所取阈值即预测为正,反之为负。
FPR=错误的预测为正的数量(原本为负且预测为正的数量)/原本为负的数量
TPR=正确的预测为正的数量(原本为正且预测为正的数量)/原本为正的数量
ROC的曲线绘制步骤:
1.将全部样本按概率递增(递减)排序
2.阈值从0至1(1至0)变更,计算各阈值下对应的(FPR, TPR)数值对
3.将数值对绘于直角坐标系中
二.实际案例
背景:基于RS和GIS技术,生成了某地区的森林火灾风险图,将森林火灾风险分为低、中低、中高、高四个区域,占森林总面积的比例分别为0.104、0.234、0.429、0.233。将低、中低区域视为不会发生火灾,将中高、高区域视为会发生火灾。引入NASA-FIRMS的326个火点数据作为真实数据来验证森林火灾风险图的精度,落在低、中低、中高、高四个区域的火点个数分别为41、54、146、85。
分析:1.森林火灾风险图各个风险等级区域的占比即作为模型的预测概率。2.将不会发生火灾判定为负,发生火灾判定为正,即原本类别。3.作为验证数据的火点个数作为样本个数。4.阈值从0至1取值。5.若划分风险等级更细致,则生成AUC更平滑,精度更高。
样本个数 | 原本类别 | 预测概率 | 阈值(0,0.104) | 阈值(0104,0.233) | 阈值(0.233,0.234) | 阈值(0.234,0.429) | 阈值(0.429,1) |
41 | 负 | 0.104 | 正 | 负 | 负 | 负 | 负 |
85 | 正 | 0.233 | 正 | 正 | 负 | 负 | 负 |
54 | 负 | 0.234 | 正 | 正 | 正 | 负 | 负 |
146 | 正 | 0.429 | 正 | 正 | 正 | 正 | 负 |
根据上表可得到各阈值下对应的(FPR, TPR)如下表所示:
阈值 | FPR | TPR | 坐标 |
(0,0.104) | 1 | 1 | (1,1) |
(0.104,0.233) | [54/(41+54)]=0.568 | 1 | (0.568,1) |
(0.233,0.234) | [54/(41+54)]=0.568 | [146/(146+85)]=0.632 | (0.568,0.632) |
(0.234,0.429) | 0 | [146/(146+85)]=0.632 | (0,0.632) |
(0.429,1) | 0 | 0 | (0,0) |
根据坐标可得到草图如下图所示:
三.如何使用Origin绘制AUC
1.输入两列数据,A(X)代表状态值(0表示不发生火灾,1表示发生火灾),B(Y)代表预测发生发生概率,作为验证数据的火点个数作为样本个数,如下图所示为输入数据的一部分。
2.Origin菜单栏-统计-ROC曲线-打开对话框
3.设定将数据对应到B(Y),状态对应到A(X),正状态值为1,勾选带对角参考线,点击确定即可输出得到ROC
4.输出结果图如下图所示,AUC、标准差等数据可在输出报告中查看