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

【基尼系数】基尼系数的计算方法与计算案例洛伦茨曲线和基尼系数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

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

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

(0)
上一篇 2022年10月13日 下午4:00
下一篇 2022年10月13日 下午4:00


相关推荐

  • Glup 构建工具

    Glup 构建工具将开发流程中让人痛苦或耗时的任务自动化 从而减少你所浪费的时间 创造更大价值 环境搭建 sudo npminstallgu cli g 全局环境 npminstallgu D 本地开发环境 gulphelp 以上是对 gulp 环境的搭建项目准备你可以自己写几个文件测试文件 ps scss 文件 html 里还是要引用对应的 css 文件 我这

    2026年3月19日
    2
  • 安装 | 最新MATLAB 2020b(64位)安装教程完整版[通俗易懂]

    安装 | 最新MATLAB 2020b(64位)安装教程完整版[通俗易懂]博主github:https://github.com/MichaelBeechan博主CSDN:https://blog.csdn.net/u011344545精简安装链接:https://blog.csdn.net/u011344545/article/details/109728674下载链接链接:https://pan.baidu.com/s/1g61g2qJO2MtZVkeMsuxhuQ提取码:打赏连接:https://blog.csdn.net/u011344545/article/

    2022年5月10日
    67
  • 关于计算机教育论文参考文献,计算机教育论文参考文献范文 哪里有计算机教育参考文献…

    关于计算机教育论文参考文献,计算机教育论文参考文献范文 哪里有计算机教育参考文献…

    2021年11月27日
    50
  • Python处理xml文件_文件格式怎么转换

    Python处理xml文件_文件格式怎么转换由于项目组中原来的文件使用的XML格式作为配置,扩展性很好,但是编辑与阅读不是很直观,特别一些规则的二维表,所以为了方便阅读与编辑,花了一些时间写了一个Python脚本,以实现将XML文件转为Excel文件。这里支持XML文件转为一个Sheet或者多个Sheet:如果第二层所有标签都相同则会转为一个Sheet,所有第二层的标签都会作为行数据如果第二层的标签有多种,则会把第二层的不同标签作为…

    2022年8月22日
    7
  • 傅里叶变换、拉普拉斯、Z变换、离散傅里叶变换的关系[通俗易懂]

    傅里叶变换、拉普拉斯、Z变换、离散傅里叶变换的关系[通俗易懂]本帖子为本人基于网络资源整理的笔记,很大部分来源于帖子:傅里叶变换https://blog.csdn.net/shenziheng1/article/details/53363436傅里叶变换了解三种变换前我们先要简单的了解一下时域和频域的概念:**什么是傅里叶变换高等数学中一般是从周期函数的傅里叶级数开始介绍的,这里也不例外。简单的说,从高中我们就学过一个理想的波可…

    2025年7月11日
    5
  • 【STM32H7的DSP教程】第50章 STM32H7的样条插补实现,波形拟合丝滑顺畅[通俗易懂]

    【STM32H7的DSP教程】第50章 STM32H7的样条插补实现,波形拟合丝滑顺畅[通俗易懂]完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547第50章STM32H7的样条插补实现,波形拟合丝滑顺畅本章节讲解样条插补,主要用于波形拟合,平滑过渡。目录50.1初学者重要提示50.2样条插补介绍50.3样条插补实现50.3.1函数arm_spline_init_f3250.3.2函数arm_spline_f3250.3.3使用样条插补函数的关键点50….

    2025年9月25日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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