您的位置:首页 > 其它

在线广告预估ctr的AUC计算方法

2017-08-16 14:53 441 查看
一、auc选特征的原理

在优化模型的时候,我们期望能够加入足够多有典型区分度的特征。特征有良好的区分度,有助于在筛选广告阶段进行准确的排序。准确的排序意味着,在排序好的候选广告中,可以选择top1,或者top2等这样高预估ctr的广告进行展现。也就是说,加入的特征能够触发高ctr高的广告排在前面。

二、ctr的auc计算方法

(1)定义法:

     根据discrimination threshold阈值,每次在一个
pCTR
上进行划分,取划分这个
pCTR
为阈值,高于这个阈值的是预估的正样本,低于这个阈值,是预估的负样本。在这种情况下,计算当前这个划分的
tpr
fpr
。得到一个点对(
fpr
, 
tpr
)。每个划分都会得到一个点对,那么就可以绘制出ROC,进而计算出AUC。

     tpr = tp/p = 预测是正样本实际也是正样本的个数(把正样本预测为正样本的个数)/正样本的个数

     fpr = fp/N = 预测是正样本实际是负样本的个数(把负样本预测为正样本的个数)/负样本的个数

给定一组样本如下,其中正样本4个,负样本4个:

样本真实值pctr
10.9
10.8
00.7
10.5
00.4
10.3
00.2
00.1
在本例中,tp即为预测为正样本中,1的个数,fp即为预测为正样本中,0的个数

根据阈值0.9进行划分,大于等于0.9预测为正样本,小于0.9预测为负样本,tpr=1/4=0.25,fpr=0/4=0;

根据阈值0.8进行划分,大于等于0.8预测为正样本,小于0.8预测为负样本,tpr=2/4=0.5,fpr=0/4=0;

根据阈值0.7进行划分,大于等于0.7预测为正样本,小于0.7预测为负样本,tpr=2/4=0.5,fpr=1/4=0.25;

根据阈值0.5进行划分,大于等于0.5预测为正样本,小于0.5预测为负样本,tpr=3/4=0.75,fpr=1/4=0.25;

根据阈值0.4进行划分,大于等于0.4预测为正样本,小于0.4预测为负样本,tpr=3/4=0.75,fpr=2/4=0.5;

根据阈值0.3进行划分,大于等于0.3预测为正样本,小于0.3预测为负样本,tpr=4/4=1,fpr=1/4=0.25;

根据阈值0.2进行划分,大于等于0.2预测为正样本,小于0.2预测为负样本,tpr=4/4=1,fpr=3/4=0.75;

根据阈值0.1进行划分,大于等于0.1预测为正样本,小于0.1预测为负样本,tpr=4/4=1,fpr=4/4=1;

(2)Wilcoxon-Mann-Witney Test惠特尼检验的方法;

   Wilcoxon-Mann-Witney
Test就是测试任意给一个正类样本和一个负类样本,正类样本的score有多大的概率大于负类样本的score.首先对score从大到小排序,然后令最大score对应的sample 的rank为n,第二大score对应sample的rank为n-1,以此类推。然后把所有的正类样本的rank相加,再减去正类样本的score为最
小的那M个值的情况。得到的就是所有的样本中有多少对正类样本的score大于负类样本的score。然后再除以M×N



还以上面的例子来计算,(M为正样本的个数,N为负样本的个数):

样本真实值pctrrank
10.98
10.87
00.76
10.55
00.44
10.33
00.22
00.11
auc = (正样本的各个rank的和 - M*(M+1)/2)/M*N=[(8+7+5+3)-4*5/2]/4*4=13/16

也即总共有13的(正,负)的点对,正样本的ctr高于负样本的ctr

rank之和: 8 +7 + 5 + 3

                 4    3    2    1

实际:       4 + 4 + 3 + 2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: