区位基尼系数_基尼系数直接计算法

区位基尼系数_基尼系数直接计算法转载于:http://blog.sciencenet.cn/blog-3376208-1093109.html区域经济研究中,经常需要测度产业空间集中的程度,常用的指标有区位基尼系数(LocationalGiniCoefficient)、泰尔指数(TheilIndex)和EG指数等。这一期先讲区位基尼系数的计算方法及其实现函数,后几期再陆续介绍泰尔指数和EG指数。用Excel算区位基尼系数,尽管也可实现,但非常笨拙,而且可重复性差。然而,其计算方法是非常简单的,用R语言写一个函数来实现之,犹如杀

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

Jetbrains全系列IDE稳定放心使用

转载于:http://blog.sciencenet.cn/blog-3376208-1093109.html

区域经济研究中,经常需要测度产业空间集中的程度,常用的指标有区位基尼系数(Locational GiniCoefficient)、泰尔指数(Theil Index)和EG指数等。这一期先讲区位基尼系数的计算方法及其实现函数,后几期再陆续介绍泰尔指数和EG指数。

用Excel算区位基尼系数,尽管也可实现,但非常笨拙,而且可重复性差。然而,其计算方法是非常简单的,用R语言写一个函数来实现之,犹如杀鸡用牛刀。看完本文后,用本人写的geo.gini()函数来计算,也就是一行代码的事。如果有数十个行业,用sapply跑一遍循环,什么结果都有了,彻底将你从繁琐的计算中解脱出来!

 

一、原理

基尼系数本来是用来测度居民家庭收入分布差距的,其本质思想与变异系数、赫芬达尔指数等并无二致,无非是考察一组数值的差异性,并使得基于不同数值向量计算出的结果可比较。利用其原理来测度产业空间集中度,就是所谓的区位基尼系数。

为什么区位基尼系数可以用来衡量产业空间集中度呢?这里得建立一个基本认识:测度产业空间集中,也就是测度产业空间分布的不均衡性。假设产业i中的全部企业落在n个区域,那么这些区域就形成对产业i经济活动的一个空间分割。如果产业分布在空间上是均衡的,那么每一区域的产业份额都是1/n;如果分布不均衡,就意味着有些区域的产业份额小于1/n,有些区域大于1/n,大于1/n说明产业i在这些区域有集中。由于所有区域的产业份额加总为1,一些区域份额越小,另一些区域份额就越大,也就是产业i在这些区域越为集中。这种差距进一步拉大,比如说达到极端状态,就意味着产业i全部集中在某一区域,该区域占比为1,其他区域均为0。直观来看,区位基尼系数应该位于两种状态值:完全均衡和完全集中之间,从一端单调增长到另一端。

 

二、绝对值和相对值

区位基尼系数有绝对和相对两种。如上所述,如果将产业i的经济活动在各区域间进行分割,就形成了产业i的空间分布数值向量x;如果将总体经济活动(产业大类或全体产业)在各区域间进行分割,就形成了总体经济活动的空间分布数值向量y。经济活动规模一般用劳动力人数、产值、增加值等指标来衡量。绝对区位基尼系数是不考虑y,将每个区域作为个体单位,仅利用x向量来计算。这实际上是假设每个区域的总体经济活动份额是相等的,均为1/n。相对区位基尼系数则考虑了区域异质性,即与y的分布相比较,x的分布差异状况。以一个两区域的空间分割来说,如果两个区域的产业份额分别为20%和80%,从绝对意义上来说,肯定有产业空间集中;但如果这两个区域的总体经济活动份额也是20%和80%,从相对意义上来说,xy的分布一致,因此产业在这两个区域间的空间分布是均衡的,即不存在产业空间集中。

 

三、计算公式

绝对区位基尼系数实际上是相对基尼系数的简化版本。在相对区位基尼系数计算公式中,如果将作为参照分布的向量y简化为y = [1/n, 1/n,…, 1/n],即得到绝对区位基尼系数。

Krugman(1991)年阐述了相对区位基尼系数的计算方法,先根据各区域的区位商值将各区域的总体经济活动份额和产业份额排好序,然后计算它们的累积和,据此得到洛伦兹曲线,就可以按基尼系数原理算出结果了。

相对区域基尼系数的计算公式有两个版本。一个见Combes、Mayer & Thisse(2008),直接根据求S1和S2的面积推导求出;另一个见Kim、Barkley & Henry(2000),先将各区域区位商用它们的平均值标准化之,然后再两两相减取平均值求出。

 

四、函数实现

根据以上公式,编写计算区位基尼系数的函数geo.gini(),其参数设定说明如下:

geo.gini(x, y = NULL, type =”cmt”)

其中:(1)x为各区域产业经济活动规模数值向量;(2)y为各区域总体经济活动规模数值向量;(3)type为计算公式类型,取值为“cmt”或“kbh”,默认为“cmt”;

需要注意的是:(1)x、y向量不能含缺失值,且和大于0;(2)y默认为NULL,即不作设定,此时简化为绝对指标;(3)kbh法乘以2,将其结果调整为在0~1间取值,以与cmt法一致。

让我们先用两组简单的数值试一下:

代码1

# 函数测试

> x <- c(1, 5, 4)

> y <- c(30, 50, 20)

> geo.gini(x, type = “cmt”)

[1] 0.2666667

> geo.gini(x, type = “kbh”)

[1] 0.4

> geo.gini(x, y, type =  “cmt”)

[1] 0.3

> geo.gini(x, y, type = “kbh”)

[1] 0.5

接下来用实际数据来试一下。数据“中国省份制造业数据_2012_2013.csv”包含了中国大陆31个省份2012-2013年29个制造业的就业数据,其前两列分别为省份和年份,第三列为各省份的就业总数,可作为参照分布,后面列均为各个制造业就业数。读入数据后,用geo.gini()函数算出每年各产业的区位基尼系数,并导出结果文件为“gini_results.csv”,代码如下:

代码2

# 将存放数据和代码的文件设为工作文件夹,这里假定为”D:\\locational_gini”

# 注意分隔路径要用“\\”而不是“\”

> setwd(“D:\\locational_gini”)

# 读入数据,并将数据按年份分拆

> mydata <- read.csv(“中国省份制造业数据_2012_2013.csv”,  stringsAsFactors = F)

> yearly.data <- split(mydata,  mydata$年份)

# 一次性计算所有年份、所有产业的相对区位基尼系数

> gini.results <- sapply(yearly.data,  function(xx) {

sapply(xx[,-(1:3)], geo.gini, y = xx[[3]])

})

 # 看一下结果

 > gini.results

                                                                           2012        2013

农副食品加工业                     0.4220937 0.3848262

食品制造业                         0.3060742 0.2801282

……                                 ……        ……

工艺品及其他制造业                  0.3399786 0.3717040

废弃资源和废旧材料回收加工业          0.3669596 0.3695507

# 写出结果文件至工作文件夹,大功告成!

> write.csv(gini.results,  “gini_results.csv”)

 

参考文献:

[1]       Combes, P.-P., Mayer, T., & Thisse, J.-F. 2008. Economicgeography: The integration of regions and nations: Princeton UniversityPress.

[2]       Kim, Y., Barkley, D. L., & Henry, M. S. 2000.Industry characteristics linked to establishment concentrations in nonmetropolitanareas. Journal of Regional Science, 40(2): 234-259.

[3]     Krugman, P. 1991. Geographyand Trade: MIT Press.

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

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

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

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

(0)


相关推荐

  • java全局变量和局部变量的区别_全局变量和局部变量的定义

    java全局变量和局部变量的区别_全局变量和局部变量的定义全局变量是一个运行时刻实体,它在程序的整个执行过程中都存在。全局变量生命周期为程序开始到程序结束。全局变量显示初始化时,或者未初始化时,在程序映像中有不同的分区:已初始化的全局变量是可执行模块的一部分。未初始化的全局变量则不是可执行模块的一部分,只有当定义它们的程序被调用时(即执行时),才分配空间,声明或定义时并不分配。未初始化的全局变量在运行时被初始化为0或null。

  • 关于ARM2440中断源个数的一点想法[通俗易懂]

    关于ARM2440中断源个数的一点想法[通俗易懂]关于ARM2440中断源个数的一点想法

  • nginx需要修改服务端口,需要修改哪个配置文件_centos7 ssh端口修改

    nginx需要修改服务端口,需要修改哪个配置文件_centos7 ssh端口修改1.我想让一个demo站点直接域名访问,不带端口,所以想用80端口启动对应前端工程。发现80被nginx占用:2.修改nginx端口,只需要修改其监听的端口就行了。找到nginx的配置文件,并编辑listen后面的端口号就行了。如我把原本的80改为了8082:3.重新加载nginx配置、重启nginx都行。…

  • 自监督学习之对比学习

    自监督学习之对比学习对比学习一般是自监督学习的一种方式什么是自监督学习自监督学习主要是利用辅助任务(pretext)从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习到对下游任务有价值的表征。(也就是说自监督学习的监督信息不是人工标注的,而是算法在大规模无监督数据中自动构造监督信息,来进行监督学习或训练。因此,大多数时候,我们称之为无监督预训练方法或无监督学习方法,严格上讲,他应该叫自监督学习)。  原文作者:自编码器个人认为可以算作无监督学习,也可以算作自监督学.

  • javacomparator_mybatis是做什么的

    javacomparator_mybatis是做什么的Myabatis-Plus集成异常下面贴出错误信息:java.lang.NoSuchMethodError:com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(Ljava/lang/CharSequence;)Z11:29:34.886[main]DEBUGorg.springframework.boot.context.logging.ClasspathLoggingApplicationListener-Appli

  • Java的定时器_JAVA定时任务

    Java的定时器_JAVA定时任务总结一下我使用过的4种类型的定时器:@Scheduled注解、quartz、newTimer().schedule、使用线程控制。1.@Scheduled注解@Scheduled注解是最简单的方式,只需要启用定时器,在方法上添加注解即可。在spring配置中加入:&lt;!–启用注解定时器–&gt; &lt;task:annotation-driven/&gt;…

发表回复

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

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