ROC曲线

在网上有很多地方都有说ROC曲线对于正负样本比例不敏感,即正负样本比例的变化不会改变ROC曲线。但是对于PR曲线就不一样了。PR曲线会随着正负样本比例的变化而变化。但是没有一个有十分具体和严谨地对此做出过分析和论证(至少我没有找到)。

此处记为结论1:

结论1:PR曲线会随着正负样本比例的变化而变化;但是ROC曲线不会。

此处我就这一问题进行了详细的分析论证,并在这个过程中引发了很多思考。

首先,如何分析这个问题呢?

看下ROC曲线是由TPR和FPR组成的

下面我们这样来分析这个问题,首先构造出一个数据集,并且其中某个参数可以控制数据集中正负正负样本比例。在不同样本分布的情况下,我们计算TPR,FPR,PREC,RECALL,如果TPR与FPR的关系与正负样本比例无关,而PREC与RECALL的关系与正负样本比例有关,则可以论证结论1

下面我们做出如下假设,并生成数据集来验证结论1

假设1:

数据集的score和Y是这样生成的,即score决定了Y的概率,P(Y=1|score)=score

数据集均匀地在0~m之间生成,即s服从在0~m之间的均匀分布。通过m的改变,可以改变正负样本的比例,从而严重不同比例下的TPR,FPR,PREC,RECALL变化情况...

\begin{equation} \left\{\begin{matrix}
TP=N\int_{c}^{m}sds=\frac{N}{2}(m^{2}-c^{2})
\\ FP=N\int_{c}^{m}(1-s)ds=N(m-c)-\frac{N}{2}(m^{2}-c^{2})
\\ TN=N\int_{0}^{c}(1-s)ds=N(c-\frac{1}{2}c^{2})
\\ FN=N\int_{0}^{c}sds=\frac{N}{2}c^{2}
\end{matrix}\right. \end{equation}

Normal
0

7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}

通过以上结果分别计算TPR,FPR,PREC

\begin{equation} \left\{\begin{matrix}
TPR=\frac{TP}{TP+FN}=1-\frac{c-\frac{1}{2}c^{2}}{m-\frac{1}{2}m^{2}}
\\ FPR=\frac{FP}{FP+TN}=1-(\frac{c}{m})^{2}
\\ PREC=\frac{TP}{TP+FP}=\frac{1}{2}(m+c)
\end{matrix}\right. \end{equation}

Normal
0

7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}

得出如下结论:  即结论1不成立,和起初设想的不一样,怎么办呢,还是拿实际数据来说话吧。

matlab模拟

假设一个生成模型,p(s|y=1)服从N(1,1),p(s|y=0)服从N(-1,1),score即为s,即我们的预测值,通过改变正负样本比例,画出在2种比例下的ROC曲线,看有没有区别。

代码如下:

 N=;
M=floor(N*);%不平衡样本
score=[normrnd(,,,N) normrnd(-,,,M)];
y=[ones(,N) zeros(,M)];
[TPR,FPR,TH] = roc(y,score);
plot(FPR,TPR,'r')
hold on
M=floor(N*);%平衡样本
score=[normrnd(,,,N) normrnd(-,,,M)];
y=[ones(,N) zeros(,M)];
[TPR,FPR,TH] = roc(y,score);
plot(FPR,TPR,'b')
%结果一样

aaarticlea/png;base64,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" alt="" width="442" height="274" />

图1  ROC不随着样本比例变化而变化

发现之前的分析是错误的,但是为什么呢?咋看下来,假设完全合理的呀,

下面我们构造一个生成模型,从这里生成的数据出发,重新分析一下:

假设2:

先验分布如下:P(Y=1)=z,P(Y=0)=1-z,这里的z可以控制样本的正负比例

在Y=1,0时会有不同的概率分布来产生一个观测量,即我们的score,它们的pdf分别是p(s|Y=1),p(s|Y=0)

我们根据这个先验和后验分布来生成我们的数据,样本个数为N,然后通过取不同的cutoff(记为c),得到不同cutoff下的TP,FP,TN,FN...

依据这个假设,我们可以得到

\begin{equation}\left\{\begin{matrix}
TP=N\int_{c}^{\infty}p(Y=1|s)p(s)ds=N\int_{c}^{\infty}p(Y=1,s)ds=N\int_{c}^{\infty}p(s|Y=1)P(Y=1)ds=N*P(Y=1)\int_{c}^{\infty}p(s|Y=1)ds
\\ FP=N\int_{c}^{\infty}p(Y=0|s)p(s)ds=N\int_{c}^{\infty}p(Y=0,s)ds=N\int_{c}^{\infty}p(s|Y=0)P(Y=0)ds=N*P(Y=0)\int_{c}^{\infty}p(s|Y=0)ds
\\ TN=N\int_{-\infty }^{c}p(Y=0|s)p(s)ds=N\int_{-\infty }^{c}p(Y=0,s)ds=N\int_{-\infty }^{c}p(s|Y=0)P(Y=0)ds=N*P(Y=0)\int_{-\infty }^{c}p(s|Y=0)ds
\\ FN=N\int_{-\infty }^{c}p(Y=1|s)p(s)ds=N\int_{-\infty }^{c}p(Y=1,s)ds=N\int_{-\infty }^{c}p(s|Y=1)P(Y=1)ds=N*P(Y=1)\int_{-\infty }^{c}p(s|Y=1)ds
\end{matrix}\right. \end{equation}

所以可以得到TPR,FPR和PREC,RECALL

\begin{equation} FPR=\frac{FP}{FP+TN}=\frac{P(Y=0)\int_{c}^{\infty}p(s|Y=0)ds}{P(Y=0)}=\int_{c}^{\infty}p(s|Y=0)ds \end{equation}

\begin{equation} TPR=\frac{TP}{TP+FN}=\frac{P(Y=1)\int_{c}^{\infty}p(s|Y=1)ds}{P(Y=1)}=\int_{c}^{\infty}p(s|Y=1)ds \end{equation}

\begin{equation} PREC=\frac{TP}{TP+FP}=\frac{P(Y=1)\int_{c}^{\infty}p(s|Y=1)ds}{P(Y=1)\int_{c}^{\infty}p(s|Y=1)ds+P(Y=0)\int_{c}^{\infty}p(s|Y=0)ds} \end{equation}

显然可以得到我们所希望得到的结论:即TPR,FPR与正负样本比例无关,但是PREC与正负样本比例有关。从而论证了结论1。

但是为什么假设1就得出了不同的结论了呢?

再回头看一下假设1,它是通过改变先验分布来决定正负样本比例的,这样是很自然的。并且后验分布并不会随着样本比例变化而变化。

但是假设1呢?其后验分布其实是随着样本比例变化而变化的,所以假设1的问题就出在这里了。即后验分布的变化导致了各个指标的变化,甚至导致AUC的变化。

如果只改变先验,而不改变后验的话,P(Y=1|score)就会发生变化。

即得出了如下结论:

结论2:在构造数据的过程中,要通过改变先验来改变正负比例的变化,不应该动后验。然后预测的概率在样本分布变化的情况下,需要进一步做修正(即Calibration)。

对于假设1,通过重采样正样本来改变正负样本比例,则预测的概率需要修正,再修正过后,可以得到与假设2同样的结论,论证结论1的成立。

对于结论2,我们可以得到新的信息,通常对于样本不平衡问题,都会采用重采样的方法,从一定程度上缓解不平衡性。注意重采样方法保证了少样本类别的样本分布依旧是同分布的。如果某种,就需要仔细推敲一下了。还有如果你是预测概率,通常要做calibration,修正概率值,那你的修正数据集一定要与先验一致(不要采用与重采样比例一致的样本),要不然修正的概率值是有偏的,从而你的修正是白费功夫或者是有害的。

总结:

1) 分析问题需要仔细推敲,前提假设非常重要,真是一步错步步错。

2) 分析问题要全面深入,这样可以对旧问题的分析,得到新的知识。也即温故而知新吧。

【ROC曲线】关于ROC曲线、PR曲线对于不平衡样本的不敏感性分析说引发的思考的更多相关文章

  1. ROC曲线、PR曲线

    在论文的结果分析中,ROC和PR曲线是经常用到的两个有力的展示图. 1.ROC曲线 ROC曲线(receiver operating characteristic)是一种对于灵敏度进行描述的功能图像. ...

  2. PR曲线,ROC曲线,AUC指标等,Accuracy vs Precision

    作为机器学习重要的评价指标,标题中的三个内容,在下面读书笔记里面都有讲: http://www.cnblogs.com/charlesblc/p/6188562.html 但是讲的不细,不太懂.今天又 ...

  3. 精确率与召回率,RoC曲线与PR曲线

    在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口 ...

  4. ROC曲线和PR曲线

    转自:http://www.zhizhihu.com/html/y2012/4076.html分类.检索中的评价指标很多,Precision.Recall.Accuracy.F1.ROC.PR Cur ...

  5. 机器学习之类别不平衡问题 (2) —— ROC和PR曲线

    机器学习之类别不平衡问题 (1) -- 各种评估指标 机器学习之类别不平衡问题 (2) -- ROC和PR曲线 完整代码 ROC曲线和PR(Precision - Recall)曲线皆为类别不平衡问题 ...

  6. ROC曲线和PR曲线绘制【转】

    TPR=TP/P :真正率:判断对的正样本占所有正样本的比例.  Precision=TP/(TP+FP) :判断对的正样本占判断出来的所有正样本的比例 FPR=FP/N :负正率:判断错的负样本占所 ...

  7. PR曲线 ROC曲线的 计算及绘制

    在linear model中,我们对各个特征线性组合,得到linear score,然后确定一个threshold,linear score < threshold 判为负类,linear sc ...

  8. P-R曲线及与ROC曲线区别

    一.P-R曲线 P-R曲线刻画查准率和查全率之间的关系,查准率指的是在所有预测为正例的数据中,真正例所占的比例,查全率是指预测为真正例的数据占所有正例数据的比例. 即:查准率P=TP/(TP + FP ...

  9. AUC ROC PR曲线

    ROC曲线: 横轴:假阳性率 代表将负例错分为正例的概率 纵轴:真阳性率 代表能将正例分对的概率 AUC是ROC曲线下面区域得面积. 与召回率对比: AUC意义: 任取一对(正.负)样本,把正样本预测 ...

随机推荐

  1. SVN莫名出错,网上找遍无果,递归删除当前目录下所有.svn文件名

    哎,太深刻的教训. 原来以前其它目录里有.SVN目录 ,而此SVN目录COPY到真正的SVN工作目录之后,会将有用的.SVN目录覆盖. 那么一样,显然,CI,UPDATE,CO之间的命令全部异常... ...

  2. Leetcode_ Best Time to Buy and Sell Stock II

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  3. NOI2013 树的计数

    题目:http://uoj.ac/problem/122 85%做法: 动态规划. 首先重编号,BFS序变成1...n,然后DFS序相应重编号. 记pos[i]为i号点在DFS中的位置,即pos[d[ ...

  4. SAE Python使用经验 好文推荐

    SAE Python使用经验 好文推荐 SAE Python使用经验 好文推荐

  5. Oracle insert update 时间处理

    24小时表示方法:to_date(’ ::’,’yyyy-mm-dd hh24:mi:ss’) 12小时表示方法:to_date(’ ::’,’yyyy-mm-dd hh:mi:ss’) ','S75 ...

  6. (转)iOS Wow体验 - 第七章 - 操作图例与触屏人机工学

    本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第七章译文精选,其余章节将陆续放出.上一篇:Wow ...

  7. 关于DevExpress的gridControl的简单使用

    数据绑定 首先生成table,然后更改列名,最后添加一个选择列,类型为"System.Boolean",这样在绑定上gridcontrol的时候会出现一列选择框 table.Col ...

  8. zoj 3547 The Boss on Mars

    需要用到概率论的容斥定理以及计算1 ^ 4 + 2 ^ 4 + ……+ n ^ 4的计算公式1^4+2^4+……+n^4=n(n+1)(2n+1)(3n^2+3n-1)/30 #pragma comm ...

  9. [Redux] Extracting Presentational Components -- TodoApp

    Finally, I just noticed that the to-do app component doesn't actually have to be a class. I can turn ...

  10. ARM指令集——条件执行、内存操作指令、跳转指令

    ARM 汇编指令条件执行 在ARM模式下,任何一条数据处理指令可以选择是否根据操作的结果来更新CPSR寄存器中的ALU状态标志位.在数据处理指令中使用S后缀来实现该功能. 不要在CMP,CMN,TST ...