Gini coefficient三种计算方法

看到kaggle的某个比赛评价指标是normalized gini coefficient,我不确定这和我理解的gini coefficient是同一个东西,于是我进行了一番googling,最终发现这个normalized  gini coefficient就是我以往知晓的gini coefficient,并且让我对gini coefficient的理解更上一层楼。
下面归纳一下三个角度对gini coefficient的理解以及与之对应的三种计算方法。

1. gini coefficient第一种计算方法其实本质就和AUC的计算方法一致,只是X轴和Y轴互换,图像相对于y = x对称,如图:
这里的bad和good是credit risk领域的概念,对应positive和negative,observations已经按照prediction probability从高到低排序, cumulative bad %实际上就是TPR,cumulative good %就是FPR,gini coefficient = A/(A+B) = A/0.5 = 2A,不难得到2AUC - 1 = Gini coefficient

2. 第二种计算方式和理解角度与kaggle,以及我前同事的计算方式是一致的(但当时我并没能理解)。observations的probability按照从小到大排序,X轴就是proportion,从0到100%,y轴是actual value的加和cumulative share,如图:
这是Predictions rank order后产生的图,橘色部分面积A
实际的actual value也可以看成probability进行排序,所以理论的最大阴影面积并不是0.5,
这是理论上理论上最大的gini,图中橘色部分面积B,gini coefficient = A/B

3. 第三种理解角度和计算方式,probabilities从高到低排序,比如有15个observations
此时要用类似于冒泡排序的方法,如上图的推演,10次后可以把好坏进行rank order,再考虑从一个随机的状态平均需要多少次才能把好坏rank order?6个bad,9个good,每个bad平均需要9/2次交换才能得到rank order的理想状态,6*(9/2) = 27,而gini = (27-10)/27也就是从一个random state到state (1)需要17次swap,除以从随机状态到理想状态的平均次数27次得到gini coefficient

所以,kaggle上提到的normalized gini coefficient就是按照第二种思路,他认为阴影面积(橘色部分)就是gini coefficient,然后第二幅图是理论的最大gini coefficient,prediction除以理论最大得到的相当于normalization到0-1区间,其实我觉得kaggle的这种说法欠妥,我查的资料,包括wiki的资料gini coefficient又名gini ratio,本来就是一个0-1的值。

另外,补充一下,去网络上搜索gini coefficient的概念,最多的是经济学的解释,按照收入从低到高排序,X轴是cumulative share,Y轴是income的cumulative share,如图:
A/(A+B)就是gini coefficient,从经济学到我们数据挖掘这个领域的问题,只能说类似,从上面的解释不难看出,已经存在一些变化。













留言

熱門文章