matlab计算基尼系数并分解_matlab斐波那契数列的第n项

matlab计算基尼系数并分解_matlab斐波那契数列的第n项前两天想偷个懒在网上找了好久关于求基尼系数的现成公式,结果很令人失望,于是只好奋发图强自己动手啦。​开始之前还是先脑补一些什么是基尼系数?—————————————————————————————-​居民收入分配的差异程度,是当前人们所普遍关心的一个问题。收入分配差异的合理与否,一方…

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

Jetbrains全系列IDE稳定放心使用

a4c26d1e5885305701be709a3d33442f.png

前两天想偷个懒在网上找了好久关于求基尼系数的现成公式,结果很令人失望,于是只好奋发图强自己动手啦。

​开始之前还是先脑补一些什么是基尼系数?

—————————————————————————————-​

a4c26d1e5885305701be709a3d33442f.png

居民收入分配的差异程度,是当前人们所普遍关心的一个问题。收入分配差异的合理与否,一方面可以反映按劳分配原则的实现情况;另一方面是保障居民生活和社会稳定的重要条件。衡量收入差异状况最重要、最常用的指标是基尼系数(即吉尼系数)。

基尼系数(Gini

coefficient)是20世纪初意大利经济学家基尼根据洛伦茨曲线提出的判断分配平等程度的指标(如下图),设实际收入分配曲线和收入分配绝对平等曲线之间的面积为A,实际收入分配曲线右下方的面积为B。并以A除以(A+B)的商表示不平等程度。这个数值被称为基尼系数或称洛伦茨系数。如果A为零,基尼系数为零,表示收入分配完全平等;如果B为零则系数为1,收入分配绝对不平等。该系数可在零和1之间取任何值。收入分配越是趋向平等,洛伦茨曲线的弧度越小,基尼系数也越小,反之,收入分配越是趋向不平等,洛伦茨曲线的弧度越大,那么基尼系数也越大。

a4c26d1e5885305701be709a3d33442f.png洛仑兹曲线

图中,0M为45度线,在这条线上,每10%的人得到10%的收入,表明收入分配完全平等,称为绝对平等线。OPM表明收入分配极度不平等,全部收入集中在1个人手中,称为绝对不平等线。介于二线之间的实际收入分配曲线就是洛伦茨曲线。它表明:洛伦茨曲线与绝对平等线OM越接近,收入分配越平等;与绝对不平等线OPM越接近,收入分配越不平等。

​计算基尼系数,可以用收入分组数据计算,也可用分户数据计算。但要注意的是,无论分组还是分户计算,均应先对数据按收入从低到高排序,分组计算时,一般应使分组的组距相等。用分组数据计算的基尼系数要明显小于分户数据的计算值,特别是当分组的组数不多时,差距更大。用分户数据计算基尼系数时,采用的计算指标不同,也会出现不同的结果。一般有两种计算方法,一种方法是按户总收入排序,按户计算基尼系数,此时,为每户收入占总收入的比例,为调查户数的倒数;另一种计算方法是按每户家庭的人均收入排序,此时,为每户人口占全部人口的比例,为本户人均收入占人均收入之和的比例。这两种计算方法,结果是有差异的,按人均收入计算的基尼系数要大于按户收入计算的基尼数据。在用基尼系数时进行不同地区、不同时期的收入差距比较时,应注意计算方法的一致性,不同计算方法得出的基尼系数是没有可比性的。

国际上通常用基尼系数来判定收入分配均等程度。基尼系数是界于0-1之间的数值,当基尼系数为0时,表示绝对平等;基尼系数越大,不均等程度越高;当基尼系数为1时,表示绝对不平等。市场经济国家衡量收入差距的一般标准为:基尼系数在0.2以下表示绝对平均;0.2-0.3之间表示比较平均;0.3-0.4之间表示较为合理;0.4-0.5之间表示差距较大;0.5以上说明收入差距悬殊。例如:依据全国城市住户调查收入分组资料,计算出的基尼系数1978年为0.16,1988年为0.23,2000年为0.32,说明1978年我国城市居民个人收入差距不大,比较平均;1988年以后城市居民个人收入差距已经开始拉开,到2000年城市居民个人收入差距逐步拉大。

用基尼系数分析居民收入的差异,是一种比较普遍的方法。其特点:一是方法本身具有科学性,基尼系数的计算是将社会经济现象数学化了的办法,能从整体上反映居民集团内部收入分配的差异程度。二是基尼系数反映收入分配的差异程度精确、灵敏,可以反映差异程度细微的和连续的变化。三是在经济工作中可以作为一个综合经济参数纳入国家的计划管理和宏观调控之中。四是基尼系数在国际上应用广泛,便于在实际工作加强横向联系比较,学习和借鉴外地区和国外的经验。

—————————————————————————————-​

如何计算基尼系数呢?过程很复杂,但是方法其实很简单

a4c26d1e5885305701be709a3d33442f.png

​首先计算A+B的面积,结果为1/2。

其次计算B的面积。由于洛伦茨曲线是一条不规则的曲线,无法直接计算B的面积,因此采用近似梯形的面积来代替。假定全部人口平均分为n组,以累计到第i组人口总收入占全部人口总收入的比重Wi为下底,以累计到第i-1组人口总收入占全部人口总收入的比重Wi-1为上底,以每组人口占全部人口的比例即1/n为高,计算一个个小梯形的面积,并加总,即得到近似B的面积:

B = Σ[ 1/2 ×1/n

×(Wi-1

+  Wi)]

其中,i从1到n-1

最后,再将上述推导结果代入基尼系数定义式,进行推导

a4c26d1e5885305701be709a3d33442f.png

化简整理,即得一个简便易学易用的基尼系数计算公式:

a4c26d1e5885305701be709a3d33442f.png

公式中:是按收入分组后各组的人口数占总人口数的比重;是按收入分组后,各组人口所拥有的收入占收入总额的比重;是从i=1到i的累计数,如,=Y1+Y2+Y3….+Yi。

​其中Wi表示从第1组累计到第i组的人口总收入占全部人口总收入的百分比。

—————————————————————————————-

总之,基尼系数其实就是用洛仑兹曲线与对角线组成图形面积与等边直角三角形面积的比。懒得自己写代码研究的同学们,下面是福利。Matlab公式源码如下,有需要的朋友可以直接copy使用啦:​

function Gini=Gini_coef(NumArr)

NumArrSorted=sort([0,NumArr]);

NumArrPercent=NumArrSorted/sum(NumArrSorted);

NumArrSortedLen=length(NumArrSorted);

NumArrAcc=zeros(1,NumArrSortedLen);

for i=1:NumArrSortedLen

NumArrAcc(i)=sum(NumArrPercent(1:i));

end

x1=linspace(0,1,NumArrSortedLen);

x2=0:(1/NumArrSortedLen/10):1;

cfithandle=fit(x1′,NumArrAcc’,’smoothingspline’);

d=cfithandle(x2);

% 生产图形

% figure

% plot(x1,x1,’b-.’,x1,NumArrAcc,’*’,x2,d,’-‘)

% % plot([0,1],[0,1],x1,y,[‘-‘])

% title(‘洛伦兹曲线’)

% xlabel(‘人口百分比累计’)

% ylabel(‘收入百分比累计’)

% axis equal

% axis([0,1,0,1])

% grid on

%计算基尼系数

area1=trapz(x2,d);

area2=trapz(x1,x1);

Gini=roundn(1-area1/area2,-4);

上面代码注释部分放开可以直接生成洛仑兹曲线图形并且是已经fit过的。

​我自己还另外写了一份python的,有需要的私信我吧​

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 苹果手机绕ID解锁_怎么绕过id

    苹果手机绕ID解锁_怎么绕过id小伙伴们注意:公众号的推送机制不再按照时间前后推送了,微信公众号信息流乱序。君哥建议大家把科技毒瘤君公众号置顶(设为星标⭐),以便第一时间看到推送,非常感谢~,方法如下图:记得我写过几篇…

    2022年9月22日
    4
  • 免费ASP空间

    免费ASP空间free免费asp空间的申请方法;free免费asp空间的ftp使用方法;sise.host3v.vip/1

    2022年7月2日
    20
  • Java学习之Spring Boot入门

    Java学习之SpringBoot入门0x00前言学习完ssm的整合后,开始来学习SpringBoot,在前面学习Spring的时候会发现使用Spring开发中配置Spring的环境会非常的

    2021年12月12日
    56
  • rabbitmq高可用集群搭建_mongodb高可用架构

    rabbitmq高可用集群搭建_mongodb高可用架构RabbitMQ高可用集群搭建1集群简介1.1集群架构​ 当单台RabbitMQ服务器的处理消息的能力达到瓶颈时,此时可以通过RabbitMQ集群来进行扩展,从而达到提升吞吐量的目的。RabbitMQ集群是一个或多个节点的逻辑分组,集群中的每个节点都是对等的,每个节点共享所有的用户,虚拟主机,队列,交换器,绑定关系,运行时参数和其他分布式状态等信息。一个高可用,负载均衡的RabbitMQ集群架构应类似下图:这里对上面的集群架构做一下解释说明:​ 首先一个基本的Rabbi

    2025年10月21日
    4
  • python,java,c语言哪个好_小萌新

    python,java,c语言哪个好_小萌新大学那会也被这个问题被困惑了大半年,直到毕业拿了几个大厂offer才发现语言的选择也就那一回事,我猜不少人刚入门的人依然被这个问题困扰着,所以决定认真分享一波我的经历。如果你还处于大一,大二,或者刚刚入门阶段,那么我认为,语言的选择并不重要,更重要的是底层/通用基础的学习,例如数据结构,算法,计算机网络这些,因为这些语言,是存在很多相同的特性的,例如你学习了C++,后面要转Java,那么其实还是可以很快就上手的。而且,等到了差不多毕业去应聘校招的时候,其实公司并不会对语言有严格的要求,例如你要面

    2025年8月21日
    4
  • 最新手机号段 归属地数据库(20191210,共439265条,包括最新的号段)

    最新手机号段 归属地数据库(20191210,共439265条,包括最新的号段)最新手机号段归属地数据库最新手机号段归属地数据库最新手机号段归属地数据库1、提供三大运营商及虚拟运营商的号段数据库,共439265条数据,最后更新时间:2019-12-10最新手机归属地数据库,号码归属地数据库,txt格式、sql、exel三种格式。自己买的,花了60元。包括最新的165、166、172、173、175、176、177、178、198、199。这里是txt格式,其…

    2022年7月22日
    17

发表回复

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

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