我给黄小邪同学的置顶博文《中科院研究生入学考试的Lorenz曲线》(http://blog.sciencenet.cn/home.php?mod=space&uid=480705&do=blog&id=706263) 留言说:“建议模拟一个李小文老师所假设的双峰分布(其实可以做N峰分布,N大于等于2),作个2分,5分,10分,20分的对比,再看看结果。”

国内已经是半夜了,我想黄小邪未必看得到我的留言,就算看得到,也未必会按我的建议来实施。所以,我就花点时间自己试一试。数字处理图像处理,我都不是专家,比黄小邪老师差很多。下面的图不好看,仅仅是个示意而已。

Lorenz曲线和Gini系数的计算方法如下图所示:

我自己编了一个收入分布,大致符合李小文老师所说的“双峰”。原始数据为(a到j共10组,每一组收入占总收入的百分比):f(x)

a3

b7

c15

d13

e3

f7

g17

h23

i9

j3

这是一个未经过排序的分布,呈现双峰特性。如下图的f(x)。然后我对这个数据进行排序,计算累积百分比,并根据10分法,5分法,2分法分别做了Lorenz曲线,见a2,a5,a10。因为累积,因为自少向多的排序,Lorenz曲线里面,原始数据的两个峰不见了。

再下一步,就是计算Gini系数了。计算Gini系数的关键,是B的面积。有了原始数据,计算这个B的面积并不难,不用什么高深的公式,就是一个三角形的面积加上若干梯形面积而已。用Excel计算,甚至手算,都不是难事儿。

计算结果如下: 10分法,Gini系数等于0.358; 5分法,Gini系数等于0.344; 2分法,Gini系数等于0.270。可见,分得越细,Gini系数越大;分得越粗,Gini系数越小。

分组数量对Gini系数的影响,是与原始数据的分布密切相关的。如果原始数据是一个正态分布,而且标准差很小的话,那么分组数量应该对Gini系数的数值影响不大;理论上说,标准差越大,分组数量对Gini系数的数值的影响应该越大。对于非正态分布,比如多峰情况,就要具体问题具体分析了。

不管怎么说,通过上面这个双峰的假设例子,我们可以看到,笼统地讲Gini系数是具有很大欺骗性的。分组的数量,可以 significantly 影响Gini系数的数值。这是Gini系数的一个局限性。

上述计算未经过仔细验证,如有错误,责任在我。希望本文能对李小文老师所讨论的问题有些许贡献,也欢迎行家批评指正。

(注: 文中的数据,应为百分比,为了图省事,用了100以内的整数。这不影响最后的结果。)

补充一个极端情况: 根据李小文老师在留言7里的意思构想一个场景,即99%的穷人拥有90%的收入,1%的富人拥有10%的收入。Lorenz曲线及GINI系数计算如下图所示:

转载本文请联系原作者获取授权,同时请注明本文来自李宁科学网博客。

链接地址:http://blog.sciencenet.cn/blog-71485-706483.html

上一篇:聊聊应聘美国大学教职的校园面试

下一篇:当年那些中途退出的博士生们

Java曲线之削峰填谷,科学网—Lorenz曲线之削峰填谷 - 李宁的博文相关推荐

  1. Java对象的两大特征_科学网—Java 面向对象的四个特征 - 李玖栋的博文

    1.抽象: 抽象--就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.(就是把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来一般叫做类或者接口.)抽象并不打 ...

  2. pfamscan 的使用_科学网—[转载]InterProScan的使用教程 - 黄顺谋的博文

    InterPro是一个数据库,其提供蛋白序列的功能分析并归纳为一个个蛋白家族,同时还预测了presence of domains和important sites.为了将蛋白分类,InterPro使用先 ...

  3. 改进euler方法 c语言,科学网—计算方法:Euler法及其改进 - 张江敏的博文

    考虑常微分方程 欧拉曾给过一个算法,这个算法是所有数值求解常微分方程的算法中最简单最直观的.即 这个算法可以想象精度非常差.这点可以通过考虑一类特殊情况非常明显地看到.假设f仅是x的函数,这时方程可以 ...

  4. 数学怎样用计算机上,科学网—数学软件——计算机上的数学 - 王东明的博文

    著名数学家吴文俊先生曾预言:"在不久的将来,电子计算机之于数学家,势将如显微镜之于生物学家,望远镜之于天文学家那样不可或缺."如今这个预言已成为现实,计算机的应用已深入到自然科学的 ...

  5. g2 折线图点与点之间直线_科学网—ggplot2实现散点折线图 - 肖斌的博文

    准备的数据: 第一列是时间,第二列是样本,第三列是具体数值.横轴标为时间,纵坐标为具体数值,图中不同颜色展示不同样本. 具体的代码: library(ggplot2) png("./xyz. ...

  6. python求组合数c_科学网—Python 组合函数 C(n,m) - 杨玠的博文

    Python 中组合函数 C(n,m) = n!/(m!*(n-m)!) 有两个: 1.itertools.combinations 返回一个对象,其自带指针函数 因此有可以使用 for,例如 a = ...

  7. vs2019安装rdlc_科学网—vs2019 完全安装到D盘 - 刘航宇的博文

    第一步从微软官网下载 Visual Studio Community 2019(其他版本类似) 运行下载的安装程序,到选择安装的组件时退出程序 第二步:使用 mklink 创建链接原理:这一步的目的是 ...

  8. python字母频率_科学网-Python统计字母频数和频率-吕波的博文

    方案一 统计字符串中的字母频数 import collections import re d = collections.defaultdict(int) S = "testTypecopy ...

  9. ieee期刊的科技写作思路曹文平_科学网—怎样向IEEE期刊投稿* - 吴雄君的博文

    * 作者郭更生教授:曾任IEEE Transactions on Communications Magazine总编,IEEE Communications Magazine高级技术编辑,台湾某大学教 ...

  10. matlab求cos角,科学网—MATLAB求太阳高度角的小程序 - 张乐乐的博文

    参考链接:http://bbs.06climate.com/forum.php?mod=viewthread&tid=36366 代码部分: function HSI=calHSI(year, ...

最新文章

  1. 小米十年,雷军的一往无前
  2. OpenCV 相机校正
  3. 阿波罗数据集怎么下载_从2D images 到3D估计:现有最大规模数据集 ApolloCar3D
  4. discuz php如何开发,Discuzx2开发标准流程
  5. Linux线程同步读写锁 rwlock
  6. Fiddler中文乱码
  7. Sopcast for linux更新至3.01!
  8. 关于一个博客系统的 整体架构与技术
  9. KeyError: 0 与 KeyError: 1(附例子)
  10. python+matplotlib绘制南丁格尔玫瑰图
  11. keras导入VGG16下载太慢解决办法
  12. 最小生成树——Prim算法
  13. 【Spring】SpringBoot 配置 log4j2 日志
  14. 互联网摸鱼日报(2022-12-21)
  15. 【C语言】 输出乘法口诀表
  16. 学习笔记 -- 证明旋转矩阵为正交阵
  17. 怎么样才能学好java_论新手该如何学习java?
  18. ORA-00257: archiver error. Connect internal only, until freed 错误解决方案
  19. 使用html+css实现一个静态页面——我的家乡-杭州(7页) HTML+CSS+JavaScript 大学生家乡网页作品 老家网页设计作业模板 学生网页制作源代码下载
  20. java定义包的关键字_如何定义包,关键字是什么?

热门文章

  1. 2021年中式面点师(中级)最新解析及中式面点师(中级)模拟考试题库
  2. SpringMVC(07) -- RESTful
  3. 【分析】Ceph数据一致性检查 - Scrub的执行
  4. 网络图片地址直接转Base64
  5. 客户合并修改需求 @熊哥
  6. Gym 100015 F Fighting for Triangles 博弈,状压dp
  7. java中explain什么意思_Explain关键字解析
  8. 计算机原始时代到现在著名的黑客
  9. 多重影分身之术!快来领取属于自己的个人智能助手!
  10. Hive 连接 secured ES 踩坑日记