【基尼系数】基尼系数的计算方法与计算案例

【基尼系数】基尼系数的计算方法与计算案例洛伦茨曲线和基尼系数1905年,统计学家洛伦茨提出了洛伦茨曲线,如图一。将社会总人口按收入由低到高的顺序平均分为10个等级组,每个等级组均占10%的人口,再计算每个组的收入占总收入的比重。然后以人口累计百分比为横轴,以收入累计百分比为纵轴,绘出一条反映居民收入分配差距状况的曲线,即为洛伦茨曲线。为了用指数来更好的反映社会收入分配的平等状况,1912年,意大利经济学家基尼根据洛伦茨曲线计算出一…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

洛伦茨曲线和基尼系数

1905年,统计学家洛伦茨提出了洛伦茨曲线,如图一。将社会总人口按收入由低到高的顺序平均分为10个等级组,每个等级组均占10%的人口,再计算每个组的收入占总收入的比重。然后以人口累计百分比为横轴,以收入累计百分比为纵轴,绘出一条反映居民收入分配差距状况的曲线,即为洛伦茨曲线。

image

为了用指数来更好的反映社会收入分配的平等状况,1912年,意大利经济学家基尼根据洛伦茨曲线计算出一个反映收入分配平等程度的指标,称为基尼系数(G)。在上图中,基尼系数定义为:

 Q                                                  式(1)

当A为0时,基尼系数为0,表示收入分配绝对平等;当B为0时,基尼系数为1,表示收入分配绝对不平等。基尼系数在0~1之间,系数越大,表示越不均等,系数越小,表示越均等。

基尼系数的计算方法详解

式(1)虽然是一个极为简明的数学表达式,但它并不具有实际的可操作性。为了寻求具有可操作性的估算方法,自基尼提出基尼比率以来,许多经济学家和统计学家都进行了这方面的探索。主要有以下四种计算方法

1.直接计算法

直接计算法在基尼提出收入不平等的一种度量时,就已经给出了具体算法,而且这种算法并不依赖于洛伦茨曲线,它直接度量收入不平等的程度。定义

2                          式(2)

式中,△是基尼平均差,∣Yj-Yi∣是任何一对收入样本差的绝对值,n是样本容量,u是收入均值。定义

3                                 式(3)

将公式带入后可得到基尼系数的计算方法为:

4                  式(4)

直接计算法只涉及居民收入样本数据的算术运算,很多学者认为理论上看,只要不存在来源于样本数据方面的误差,就不存在产生误差的环节。

2.拟合曲线法

拟合曲线法计算基尼系数的思路是采用数学方法拟合出洛伦茨曲线,得出曲线的函数表达式,然后用积分法求出B的面积,计算基尼系数。通常是通过设定洛伦茨曲线方程,用回归的方法求出参数,再计算积分。例如,设定洛伦茨曲线的函数关系式为幂函数:
5                                                                    式(5)

根据选定的样本数据,用回归法求出洛伦茨曲线,例如,α=m,β=n.求积分

6                                           式(6)

计算

  式(7)

拟合曲线法的在两个环节容易产生谬误:一是拟合洛伦茨曲线,得出函数表达式的过程中,可能产生误差;二是拟合出来的函数应该是可积的,否则就无法计算。

 

7    式(7)

拟合曲线法的在两个环节容易产生谬误:一是拟合洛伦茨曲线,得出函数表达式的过程中,可能产生误差;二是拟合出来的函数应该是可积的,否则就无法计算。

3.分组计算法

这种方法的思路有点类似用几何定义计算积分的方法,在X轴上寻找n个分点,将洛伦茨曲线下方的区域分成n部分,每部分用以直代曲的方法计算面积,然后加总求出面积。分点越多,就越准确,当分点达到无穷大时,则为精确计算。

image

假设分为n组,每组的收入为Yi,则每个部分P的面积为:

8                    式(8)

加总得到

9            式(9)

详细解答参看附件

基尼系数案例

基尼系数计算步骤:

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

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

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

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

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

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

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

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

 

下面是基尼系数的测试案例,具体Excle公式参看附件

image

 

使用Python代码实现如下:

#-*- coding:utf-8 -*-
#!/usr/bin/python
from scipy.integrate import odeint
import numpy as np 
from matplotlib import pyplot as pl 

#解决matplotlib显示中文乱码问题
pl.rcParams['font.sans-serif'] = ['SimHei']
pl.rcParams['axes.unicode_minus'] = False
fig, ax = pl.subplots()

#计算基尼系数
def Gini():
    # 计算数组累计值,从 0 开始
    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
    # 绘制基尼系数对应的洛伦兹曲线
    ax.plot(xarray, yarray)
    ax.plot(xarray, upper)
    ax.set_xlabel(u'人数累积占比')
    ax.set_ylabel(u'收入累积占比')
    pl.show()
    # 计算曲线下面积的通用方法
    B = np.trapz(yarray, x=xarray)
    # 总面积 0.5
    A = 0.5 - B
    G = A / (A + B)
    return G

a=Gini()
print(a)

 

运行结果为:

Figure_1

计算结果为:0.370254081731

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/182400.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • WebStorm提示代码快捷键[通俗易懂]

    WebStorm提示代码快捷键[通俗易懂]刚开始用WebStorm,发现默认的提示功能Ctrl+space代码提示无效,修改为Alt+/。File—>Settings(Ctrl+Alt+s)—>Keymap添加快捷键时(这里以Alt+斜杠为例),直接按住Alt和斜杠键即可(不是手打字符上去的)。在需要提示的位置Alt+/ 就会出现提示代码。群中更多更全,加群获取下载。…

  • deepfakes视频的网站_惊了,DeepFakes不仅骗过人,还能骗过人脸识别系统?![通俗易懂]

    deepfakes视频的网站_惊了,DeepFakes不仅骗过人,还能骗过人脸识别系统?![通俗易懂]原标题:惊了,DeepFakes不仅骗过人,还能骗过人脸识别系统?!选自arXiv作者:PavelKorshunov、SebastienMarcel机器之心编辑部今年年初,DeepFakes技术火爆全网,它可以轻松替换视频中的人脸。网络上各种恶搞视频(其中大量是色情视频)让人分不清真真假假,那么人脸识别系统能够检测出哪些是DeepFakes生成的视频吗?这项研究告诉我们不太行……自动视…

  • dcgan(bigbang)

    来源:https://github.com/aymericdamien/TensorFlow-Examples#tutorials”””DeepConvolutionalGenerativeAdversarialNetwork(DCGAN).Usingdeepconvolutionalgenerativeadversarialnetworks(DCGAN)toge…

  • ubuntu如何更新_ubuntu更新软件包列表命令

    ubuntu如何更新_ubuntu更新软件包列表命令ubuntu怎么更新?ubuntu更新命令及方法安装Ubuntu系统后,第一件事就是更新系统源。由于系统安装的默认源地址在英国,作为Ubuntu的主源,国内连接速度非常慢,所以我们要将它换成就近的

  • 多个checkbox实现单选的checkbox

    多个checkbox实现单选的checkbox将多个checkbox添加进一个list中,设置监听,当有一个checkbox被选中时,循环list,将其他checkbox的选中状态设置为false: privateListboxList; privateCheckBoxgroupBox; privateCheckBoxsortBox; privateCheckBoxnearBox; privat

  • 滑雪教学视频高级双板_双板滑雪中级技巧

    滑雪教学视频高级双板_双板滑雪中级技巧转载于:http://www.cnblogs.com/1-2-3/archive/2012/03/08/ski-vidio.html1. 央视教学片http://www.youku.com/playlist_show/id_1526075_ascending_1_mode_pic_page_1.html  共21集,讲解非常详尽,但是从另一方面讲,它太长了,掺杂了各种花里胡哨的东西

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号