Delong检验

Delong检验

一、Delong检验的作用

用于比较两个ROC曲线的性能,Delong检验是用于AUC面积的显著性检验的。如果两个模型的AUC大小有异但是没有通过Delong检验,那么也不能说明这两个模型有显著的不同。

总之,Delong检验就是一种统计学上用于检验AUC显著性的检验方法。

博客原文

二、Delong检验的原理

Delong检验本质上是构造一个变量,这个变量涉及了用于比较的两个AUC值,并且是服从或近似服从正态分布的。然后利用正态分布对其做一个假设检验。

1.符号参数的解释

符号含义
m实际正类数量
n实际负类数量
x i A x_{i}^{A} xiA模型A中,正类样本 x i x_i xi被识别为正类的概率(分数)
y j B y_{j}^{B} yjB模型B中,负类样本 y j y_j yj被识别为正类的概率(分数)
θ ^ \hat{\theta} θ^估计AUC

2. AUC的计算

θ ^ = 1 n m ∑ i = 1 m ∑ j = 1 n φ ( x i , y j ) \begin{align} \hat{\theta} = \frac{1}{nm}\sum_{i=1}^{m} \sum_{j=1}^{n} \varphi (x_i,y_j ) \end{align} θ^=nm1i=1mj=1nφ(xi,yj)
φ ( x , y ) = { 1 ,  x > y 1 2 ,  x = y 0 ,  x < y \begin{align} \varphi (x,y ) = \begin{cases} 1 & \text{, } x > y \\\\ \frac{1}{2} & \text{, } x = y \\\\ 0 & \text{, } x < y \end{cases} \end{align} φ(x,y)= 1210x>yx=yx<y

这个公式的简单理解见下图
p1

当 X < Y 时,说明模型负类被预测为正类的概率大于正类被预测为正类的概率,因此我们惩罚模型不良预测使AUC + 0
当 X > Y 时,说明模型负类被预测为正类的概率小于正类被预测为正类的概率,模型进行了良好的预测,因此对模型进行奖励使得AUC + 1/mn
当 X = Y 时,说明以上两种可能性各占50%,因此给予AUC一半的分数,即AUC + 1/2mn

以上的解释只是一个简单的理解,这个估计AUC的期望的值等于ROC曲线中的面积计算得到的值,具体的数学推导我还没有找到。

[这里缺少一个数学证明]

3. 构造统计量进行检验

然后利用 θ ^ \hat{\theta} θ^构造一个服从正态分布的统计量。这里用 θ ^ ( A ) \hat{\theta}(A) θ^(A) 表示模型A的经验AUC,用 θ ^ ( B ) \hat{\theta}(B) θ^(B) 表示模型B的经验AUC。

有统计量z:
z = θ ^ ( A ) − θ ^ ( B ) V a r ( θ ^ ( A ) − θ ^ ( B ) ) = θ ^ ( A ) − θ ^ ( B ) V a r ( θ ^ ( A ) ) + V a r ( θ ^ ( B ) ) − 2 C o x ( θ ^ ( A ) , θ ^ ( B ) ) \begin{align} z = \frac{\hat{\theta}(A) - \hat{\theta}(B)}{\sqrt{Var(\hat{\theta}(A) - \hat{\theta}(B))}} = \frac{\hat{\theta}(A) - \hat{\theta}(B)}{\sqrt{Var(\hat{\theta}(A))+Var(\hat{\theta}(B))-2Cox(\hat{\theta}(A),\hat{\theta}(B))}} \end{align} z=Var(θ^(A)θ^(B)) θ^(A)θ^(B)=Var(θ^(A))+Var(θ^(B))2Cox(θ^(A),θ^(B)) θ^(A)θ^(B)
这个z统计量是近似服从标准正态分布的。

[这里缺少一个数学证明]

检验的假设为 H 0 : θ ( A ) = θ ( B ) ,   H 1 : t h e t a ( A ) ≠ θ ( B ) H_0:\theta(A) =\theta(B),\ H_1:\\theta(A)\ne \theta(B) H0:θ(A)=θ(B), H1:theta(A)=θ(B)
∣ z ∣ > 1.96 \left | z \right | > 1.96 z>1.96 时,在显著性p<0.05的双边检验中,拒绝零假设,A,B两模型的AUC具有显著性差别。

4. 方差与协方差的计算

(1)方差计算

delong检验中的方差是通过分别计算正类和负类的方差,然后通过加权来得出最后的方差。
首先是定义了结构组件, v 01 v_{01} v01 v 10 v_{10} v10,公式如下:

v 10 A ( x i ) = 1 n ∑ j = 1 n φ ( x i , y j )   , i = 1 , 2 , . . . , m v_{10}^{A}(x_i) = \frac{1}{n}\sum_{j=1}^{n}\varphi (x_i, y_j) \ ,i=1,2,...,m v10A(xi)=n1j=1nφ(xi,yj) ,i=1,2,...,m
v 01 A ( y j ) = 1 m ∑ i = 1 m φ ( x i , y j )   , j = 1 , 2 , . . . , m v_{01}^{A}(y_j) = \frac{1}{m}\sum_{i=1}^{m}\varphi (x_i, y_j) \ ,j=1,2,...,m v01A(yj)=m1i=1mφ(xi,yj) ,j=1,2,...,m

如图所示,图中的 v 10 A ( x 1 ) v_{10}^{A}(x_1) v10A(x1) 的值为 1 4 \frac{1}{4} 41 v 01 A ( y 1 ) v_{01}^{A}(y_1) v01A(y1) 的值为 2 3 \frac{2}{3} 32

结构组件

有了结构组件后,利用结构组件计算方差分量 S 10 ( A , A ) S_{10}^{(A,A)} S10(A,A) 的含义为A模型 10 部分的方差分量, S 01 A , A S_{01}^{A,A} S01A,A 的含义为A模型 01 部分的方差分量,计算的公式为

S 10 ( A , A ) = 1 m − 1 ∑ i = 1 m [ v 10 A ( x i ) − θ ^ ( A ) ] 2 S_{10}^{(A,A)} = \frac{1}{m-1}\sum_{i=1}^{m}[v_{10}^{A}(x_i)-\hat{\theta}(A)]^2 S10(A,A)=m11i=1m[v10A(xi)θ^(A)]2
S 01 ( A , A ) = 1 n − 1 ∑ j = 1 n [ v 01 A ( y j ) − θ ^ ( A ) ] 2 S_{01}^{(A,A)} = \frac{1}{n-1}\sum_{j=1}^{n}[v_{01}^{A}(y_j)-\hat{\theta}(A)]^2 S01(A,A)=n11j=1n[v01A(yj)θ^(A)]2

然后进行加权相加,A模型的方差 S ( A , A ) S^{(A,A)} S(A,A)

S ( A , A ) = 1 m S 10 ( A , A ) + 1 n S 01 ( A , A ) S^{(A,A)} = \frac{1}{m}S_{10}^{(A,A)} + \frac{1}{n}S_{01}^{(A,A)} S(A,A)=m1S10(A,A)+n1S01(A,A)

B模型的计算相同

(2)协方差的计算

协方差的计算与方差类似,也是先计算分量,然后进行加权

S 10 ( A , B ) = 1 m − 1 ∑ i = 1 m [ v 10 A ( x i ) − θ ^ ( A ) ] [ v 10 B ( x i ) − θ ^ ( B ) ] S_{10}^{(A,B)} = \frac{1}{m-1}\sum_{i=1}^{m}[v_{10}^{A}(x_i)-\hat{\theta}(A)][v_{10}^{B}(x_i)-\hat{\theta}(B)] S10(A,B)=m11i=1m[v10A(xi)θ^(A)][v10B(xi)θ^(B)]

S 01 ( A , B ) = 1 n − 1 ∑ j = 1 n [ v 01 A ( y j ) − θ ^ ( A ) ] [ v 01 B ( y j ) − θ ^ ( B ) ] S_{01}^{(A,B)} = \frac{1}{n-1}\sum_{j=1}^{n}[v_{01}^{A}(y_j)-\hat{\theta}(A)][v_{01}^{B}(y_j)-\hat{\theta}(B)] S01(A,B)=n11j=1n[v01A(yj)θ^(A)][v01B(yj)θ^(B)]

S ( A , B ) = 1 m S 10 ( A , B ) + 1 n S 01 ( A , B ) S^{(A,B)} = \frac{1}{m}S_{10}^{(A,B)} + \frac{1}{n}S_{01}^{(A,B)} S(A,B)=m1S10(A,B)+n1S01(A,B)


参考链接

[1] 简述
[2] 算法
[3] Delong检验原理
[4] Delong检验具体例子
[5] Comparing Two ROC Curves-Paired Design
[6] 博客原文


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值