登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

生活也是大事业

阿波的学习、工作和生活

 
 
 
 
 

日志

 
 
关于我

江浙沪,数学系,天蝎座O型,懒洋洋,傻乎乎

文章分类

ROC曲线的进一步学习(关于那条对角线)  

2010-05-26 15:00:20|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

胡江堂的文章中说,ROC曲线中那条对角线是一个baseline,也就是一个基准,是仅仅使用随机指派进行分类时产生的。由于此时的TPR恒等于FPR,于是这个基准正好是一条对角线,它代表了随机分类的效果。当ROC曲线在这条基准线的上方时,说明logistic回归的效果好于没有模型的情况,也就是预测效果有一定的提升。而ROC曲线越远离这个基准线,则表明模型预测效果越好。

事实上,假设在10000个人中平均有3000个人有违约风险(纯属假设),但我们并不知道这些人的具体特征,所以我们就采取一个直观上最简单的策略——从10000个人中随机选取3000人,作为我们的屏蔽对象,而其他7000人则放行。我们当然期望原本的那3000个危险分子尽可能多地被我们拦住(TPR越大越好),而那7000个良民尽量不要被误杀,以免造成用户流失与公关危机(FPR越小越好)。

此时,被预测为“危险分子”的3000人中应该有30%是真的有违约风险,也就是说(d/b)=(c+d)/(a+b)。从这个角度很容易理解“基准”的含义,因为这里没有得到任何提升。同时可以推出d/(c+d)=b/(a+b),也就是TPR=FPR。

看到这里我们应该发现,其实“TPR=FPR”与我们在随机分类中是否考虑先验分布并没有关系。任何不建立模型而直接进行随机分类的情况都会导致TPR=FPR,而随机采样的频率设置则起到了类似于阈值的作用(此时TPR=FPR=采样中的正类频率)。

事实上,这里的正类频率其实就是前面lift图中曾经提到的正例比例depth,只不过这里的depth不再是模型的结果,而是人为的设定。一种直观的解释是如下进行的随机采样:将全部的10000个人随机排序,将第i个人的“正例度”定义为pi=i/10000,然后设定一个depth阈值p0(例如p0=0.4),将pi>(1-p0)的那些样本归类为正例,其余则归为负例。在这种情况下,分类结果中的正类频率为p0,且TPR=FPR=p0。与logistic回归模型相类比,此处的pi对应于logistic回归得到的概率p,p0对应于正例比例depth,而(1-p0)则对应于logistic回归的阈值。可以看出,“depth”与“阈值”的反比例关系仍然成立,而pi的线性性质使得这个反比例关系成为了完全的线性关系。

下面我们来模拟这个随机分类的过程。

 

a=rep(0,10000)

i=sample(10000,3000)

a[i]=1

table(a)

a
   0       1
7000 3000

m=data.frame(a1=a,a2=0)

i=sample(10000,5000)

m[i,2]=1

table(m)

    a2
a1     0    1
  0 3513 3487
  1 1487 1513

1513/3487-30/70

0.005325904

1513/3000-3487/7000

0.006190476

 

下面我们来画这个基准线

cyb=function(N=10000,r=0.3){

a1=rep(0,N)

i.a1=sample(N,N*r)

a1[i.a1]=1

TPR=rep(0,N)

FPR=rep(0,N)

for(k in 1:N){

a2=rep(0,N)

i.a2=sample(N,k)

a2[i.a2]=1

TPR[k]=sum(a1*a2)/sum(a1)

FPR[k]=sum(a2*(1-a1))/sum(1-a1)}

plot(FPR,TPR,type="l",col=2)}

当N分别取100、1000、10000,风险的先验概率为30%时,基准线为

cyb(N=100,r=0.3)

ROC曲线的进一步学习(关于那条对角线) - 皮皮米菲兔 - 生活也是大事业

 

cyb(N=1000,r=0.3)

ROC曲线的进一步学习(关于那条对角线) - 皮皮米菲兔 - 生活也是大事业

 

cyb(N=10000,r=0.3)

ROC曲线的进一步学习(关于那条对角线) - 皮皮米菲兔 - 生活也是大事业

 

当N取1000,风险的先验概率为20%、65%时,基准线为

cyb(N=1000,r=0.2)

ROC曲线的进一步学习(关于那条对角线) - 皮皮米菲兔 - 生活也是大事业

 

cyb(N=1000,r=0.65)

ROC曲线的进一步学习(关于那条对角线) - 皮皮米菲兔 - 生活也是大事业

 

  评论这张
 
阅读(3139)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018