基尼系数及应用

2020-11-06 13:00 刘飘飘陌上花开

​本文从基尼系数定义、洛伦兹曲线定义、gini系数应用案例、gini系数python和excel计算四部分展开说明,预计用时3分钟。

基尼系数及应用

基尼系数:G=SA/(SA+SB)

如上图

  1. 基尼系数定义 基尼系数定义:基尼系数是指国际上通用的、用以衡量一个国家或地区居民收入差距的常用指标。基尼系数最大为“1”,最小等于“0”。基尼系数越接近0表明收入分配越是趋向平等。国际惯例把0.2以下视为收入绝对平均,0.2-0.3视为收入比较平均;0.3-0.4视为收入相对合理;0.4-0.5视为收入差距较大,当基尼系数达到0.5以上时,则表示收入悬殊。对于中国的收入GINI系数,还引发一段影响较大的争议:西南财经大学、人口统计局、北大分别给出了0.61、0.46、0.51的中国的收入gini系数。不管是哪个数据,抽样差异如何,结果都可以符合你的认知,中国存在“贫富差异”的问题(补充资料:中国储蓄率50%,中国资产 Gini 0.73,美国储蓄率6%,收入基尼系数0.45,资产基尼系数0.78。说明国际上资产贫富悬殊,资产的积累不是一辈子可以发生改变的,但是劳动可以改变收入,从而提升资产储备)。GINI系数也会被应用在公司、平台等资源分配的均衡性评估。
  2. 洛伦茨曲线定义:20世纪初,统计学家洛伦茨提出了洛伦茨曲线,将社会总人口按收入由低到高的顺序平均分为10个等级组,每个等级组均占10%的人口,再计算每个组的收入占总收入的比重。然后以人口累计百分比为横轴,以收入累计百分比为纵轴,绘出一条反映居民收入分配差距状况的曲线,即为洛伦茨曲线。
  3. gini系数应用:评估资源分配平衡性实际案例:比如,某公司要面对全量客户做一项客户福利。规则如下,如何评估这个活动是否很健康。
  4. 1.活动时间维持6个月;2.客户每天都可以报名参加;3.机会有限即福利资源,每天只有1000个(1/10)客户可以获取奖励;4.奖励是个大礼包,需要用户领取且在当天使用。数学问题:如何评估资源的有效分配?如何才能做到有效分配?目标2个: 1.福利礼包即资源分配均匀:尽可能分散。(人人有机会抢到,而不是小部分人重复抢到——现实是抢到的人有技巧,尝到甜头后,抢到概率会更高,所以更加需要规则去限制); 2.福利礼包资源分配有效:a、得到资格用户尽可能完成购买(抢到不使用,资源浪费);b、得到资格的用户必须是合格的客户,黑灰名单客户、恶意抢到不使用客户等。解决方式:评估指标2个。使用gini系数评估资源分配是否平等,使用资源利用率评估资源是否被有效利用。 1.抢到/参与用户gini系数:时间周期:周/月(活动周期内) 横轴是抢到资格人,纵轴是抢到的福利个数,查看gini系数。根据福利个数分层,查看基尼系数分布;gini=0.58,说明分配资源不平衡,小部分用户重复抢到福利。 2.资源有效利用率(辅助):日维度 资源有效利用定义是:抢到福利礼包后指定时间可以使用;抢到的用户是健康的客户,降低非黑名单用户等其他不符合预期用户比例。暂定公式资源有效利用率=(抢到福利用户-抢到未使用用户*权重1-抢到黑名单用户*权重2-抢到灰名单用户*权重3-……)/抢到福利用户如果资源有效利用率<0.5,说明存在活动的补贴资源浪费掉了一半,也是不合理的。

4.gini系数代码和excel计算方式

4.1gini系数python计算

#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Tue Jul  2 15:10:37 2019​@author: cainiao"""​# coding=utf-8# !/usr/bin/pythonfrom scipy.integrate import odeintimport numpy as npimport pandas as pdfrom matplotlib import pyplot as pl​def main():    data=(pd.read_csv('/Users/jinzhi/Desktop/gini.txt',encoding='UTF-8',sep='\t')).sort_values(by=['money1'],ascending=True)    wealths=data['money1']    pl.rcParams['font.sans-serif'] = ['SimHei']    pl.rcParams['axes.unicode_minus'] = False    gini(wealths=wealths)​​# 计算基尼系数的简单方法def gini(wealths):    # 计算数组累计值,从 0 开始    wealths=wealths    #wealths = [1.5, 2, 3.5, 10, 4.2, 2.1, 1.1, 2.2, 3.1, 5.1, 9.5, 9.7, 1.7, 2.3, 3.8, 1.7, 2.3, 5, 4.7, 2.3, 4.3, 12]    cum_wealths = np.cumsum(sorted(np.append(wealths, 0)))    # 取最后一个,也就是原数组的和    sum_wealths = cum_wealths[-1]    # 人数的累积占比    xarray = np.array(range(0, len(cum_wealths))) / np.float(len(cum_wealths) - 1)    # 均衡收入曲线    upper = xarray    # 收入累积占比    yarray = cum_wealths / sum_wealths    # 绘制基尼系数对应的洛伦兹曲线    fig, ax = pl.subplots()    line1, = ax.plot(xarray, yarray, label='Line of Equality(45Degree)')    line2, = ax.plot(xarray, upper, label='Lorenz Curve')    ax.set_title('gini')    ax.set_xlabel(u'users')    ax.set_ylabel(u'money')    ax.plot(xarray, yarray)    ax.plot(xarray, upper)    #ax.set_xlabel('nums')    #ax.set_ylabel('money')    ax.legend()    pl.show()    # 计算曲线下面积的通用方法    B = np.trapz(yarray, x=xarray)    # 总面积 0.5    A = 0.5 - B    G = A / (A + B)    #return(G)    print (G)    if __name__ == '__main__':    main()  

4.2gini系数excel计算

基尼系数及应用

1.将已知样本数据(收入数值)在EXCEL表中按照从小到大自动排序,形成第一列数据,字段名称“收入排序”

2.第二列数据字段名称设为“人数累计”,即从1开始逐个向下累加,每次累加1人

3.第三列数据字段名称设为“收入累计”,使用EXCEL公式表示:

本单元格数据=上单元格数据+同行的“收入排序”单元格数据

4.第四列数据字段名称设为“人数百分比”,用同行的“人数累计”单元格数据除以人员总数

5.第五列数据字段名称设为“收入百分比”,用同行的“收入累计”单元格数据除以收入总数

6.第六列数据字段名称设为“梯形面积”,以S2为例,S2=1/2*(收入百分比1+收入百分比2)*(人数百分比2-人数百分比1),按照前述的计算原理编辑公式即可,通过以上步骤,最后将“梯形面积”字段的数值累加,即为前文所述的B面积

7.用直角三角形面积(工资百分比*人数百分比)减去B面积即得A面积,则基尼系数可得。

本文地址:http://www.356368.com/news/118592.html

除非注明,否则均为356创业网原创文章,转载请注明出处!

延伸 · 阅读