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

区位基尼系数_基尼系数直接计算法转载于: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%,从相对意义上来说,x和y的分布一致,因此产业在这两个区域间的空间分布是均衡的,即不存在产业空间集中。

 

三、计算公式

绝对区位基尼系数实际上是相对基尼系数的简化版本。在相对区位基尼系数计算公式中,如果将作为参照分布的向量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.

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

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

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


相关推荐

  • wptx64能卸载吗_Win10如何卸载应用?Win10内置应用卸载方法

    wptx64能卸载吗_Win10如何卸载应用?Win10内置应用卸载方法Win10如何卸载应用?Win10默认预装集成了很多应用,这是大多数用户都了解的共识,从个人角度上来看,其他还是很好看的,如果真的需要使用以下Win10内置应用卸载方法来处理,可能会让你失望的,毕竟TA们占用的资源并不多。Win10内置应用卸载方法:一、手动卸载法(针对可卸载的):1、卸载Win10应用最简单的方式就是在“开始”菜单上找到这些内置应用的动态磁铁,然后鼠标右击直接点击卸载即可。当…

    2022年5月2日
  • Unity+OpenCV 人脸识别追踪

    Unity+OpenCV 人脸识别追踪项目需要一个人脸识别追踪的效果,所以查找了一些资料,自己做了一个功能,基本效果已经实现了。首先项目需要OpenCV的开发环境,所以首先一定要在开发电脑上装上OpenCV的开发环境,流程很简单,直接去http://opencv.org/downloads.html官网下载OpenCV的安装文件就可以了,然后配置电脑的环境变量。我的电脑是windows操作系统配置好就是这个样子,然后要把用到的

    2022年5月29日
  • oracle级plsql安装教程,PLSQL 数据下载库安装使用教程,步骤解析

    oracle级plsql安装教程,PLSQL 数据下载库安装使用教程,步骤解析安装Oracle数据库一、首先安装Oracle数据库*64。二、下载并安装安装PLSQLDeveloper根据计算机的系统位数,从下载的安装包中选择合适的程序,双击“运行”以打开下一个PLSQL软件安装向导。四、根据协议,选中“我接受…”选项,然后单击以下内容。五、选择默认情况下安装在C盘目录中的安装位置,单击“更改”按钮自定义软件安装路径,确认后单击“下一步”。选择安装方式,标准(程序设置…

    2022年6月22日
  • node 16.X 或更高版本 fibers 出错 is missing.「建议收藏」

    node 16.X 或更高版本 fibers 出错 is missing.「建议收藏」**node16.X或更高版本fibers出错**网上找了好久都说是node版本的问题之前确实运行这个项目是没问题的也确实是升级node之后才产生的这个问题;报错*node_modules\fibers\bin\win32-x64-93\fibers.node`ismissing.Cannotfindmodule’E:\project\node_modules\fibers\bin\win32-x64-93\fibers’*根据路径打开文件确实没有发现这个文件

    2022年11月1日
  • 宋宝华: 纪念金庸先生——程序员的武侠世界

    在漫天的星河中,有这样一颗星,他朴实无华,却又熠熠生辉,照亮了无数人的人生。他就是金庸先生。随着一代大侠的驾鹤西去,“飞雪连天射白鹿,笑书神侠倚碧鸳”,成为绝响。 每一个…

    2022年4月17日
  • 数据结构之排序算法建议收藏

    排序(Sorting),特别是高效的排序一直是计算机工作学习和研究的重要课题之一,排序有内部排序和外部排序之分,若整个排序过程不需要访问外存便能完成,则称此类排序为内部排序,反之则为外部排序。本篇将对

    2021年12月19日

发表回复

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

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