||
一招搞定泰尔指数及其分解
上期讲了区位基尼系数,这期讲讲泰尔指数。
泰尔指数的原理同基尼系数,都是在测度一组数据分布的差异性。但是其有着良好的可分解性质,因此当需要考察产业空间集中度在不同区域层面的差异来源时,比较常用。
一、指标计算与分解 |
根据Combes, Mayer, &Thisse (2008,263~265),泰尔指数的基本计算公式如下:
上式中,R为地区数目,s为产业部门(sector);为r地区s产业在全部产业中所占的份额,为地区r的经济总量在所有地区经济总量中所占的份额。可设定所有地区经济总量的份额均为1/R,则算出的指标为绝对指标。
泰尔指数可分解为组间差异和组内差异。比如说在测度我国区域经济发展的不均衡性时,就可将之分解为地带间的不均衡性和地带内的不均衡性。先在省级层面上计算各省份人均GDP的泰尔指数,应该可以发现,省级差异还是比较大的。接下来将大陆31个省份分成东、中、西部三组地带,那么,可以计算三组间人均GDP的泰尔指数,此即为组间泰尔指数;还可以就每一组分别计算组内省份间人均GDP的泰尔指数,利用各组的份额将它们加权平均,得到组内泰尔指数。结果或许可以表明,各省份间人均GDP的差异性,主要来自东、中、西部三地带间的差异(即组间差异),而在每个地带内部,省份间的差异性并不大。产业空间集中度的分解类同此理。
组间泰尔指数的计算公式如下。计算时,将组内单位指标数值汇总到组层面,将每组看成观测单元,在组层面上利用泰尔指数基本计算公式即可算出。
,
组内泰尔指数的计算公式如下。计算时,实际上是以某组为样本群体,利用泰尔指数基本计算公式计算该组单元数值的泰尔指数,再将各组的泰尔指数加权平均得出,权重为每组单元汇总指标值的占所有单元汇总指标值的份额。
,
。这一分解为一层分解。如有多个层级的分组,如先地带分组,地带内的省里面又有市级分组,市级分组里面又有县级分组,…,形成一个嵌套多层级分组体系,则泰尔指数的分解可依据链式法则递进分解。如下图所示(Akita, 2003)。第一层次的分解在“国家(Country)→ 地带(Region,分组变量)→ 省(Province,观测单元)”之间展开。首先是不分组,计算省级层面的总泰尔指数,然后计算地带间的组间泰尔指数,再次计算Region1组内Province1、Province2、Province3的泰尔指数,其他各组依此计算,这样会得到各组的泰尔指数,再加权平均为总的组内泰尔指数。如此,即实现第一层次的分解。
如果Province下面还分地区(District),则可将每组看成一个样本群体继续分解。如以上计算出的Region1的组内泰尔指数,在将Region1看成一个样本群体后,可在“Region1 → Province1:Province3 → District1:District10”这个体系内,利用以上第一层次的分解原理继续分解。其他Region组照此进行。然后依据加权平均法则,把各组的Province层面组间泰尔指数进行加权平均(权重为Region的份额),即得到Province组间泰尔指数。总的泰尔指数最后分解为:Region组间泰尔指数+Province组间泰尔指数+Province内部以District为单元计算出的组内泰尔指数(将各Province组的组内泰尔指数加权平均得之)。
如District下面还要细分,则按照以上原理一环套一环递进分解完毕即可。
二、R语言函数实现 |
根据以上公式和分解原理,编写计算并分解泰尔指数的函数geo.theil(),其参数设定说明如下:
geo.theil(x, y = NULL, group = NULL)
其中,
x为各区域产业经济活动规模数值向量;
y为各区域总体经济活动规模数值向量;
x、y向量不能含缺失值,不能有负值,y向量和大于0;
y默认为NULL,即不作设定,此时简化为绝对指标;
group为分组指示向量。如分组在两层以上,则group为两列以上的矩阵或数据框,层级由高到低排。
让我们用数据测试一下:
代码1 |
# 载入geo.theil函数 > source("geo_theil.R") # 代码测试,geo.theil和ineq包的Theil结果相同 > a <- 1:5 > geo.theil(a) [1] 0.1196876 > ineq::Theil(a) [1] 0.1196876 > REAT::theil(a) [1] 0.1411139 |
接下来用实际数据来试一下。数据“manufacture2007.csv”包含了中国大陆省、市、县级2007年30个制造业的规模以上工业增加值数据,其前三列分别为省、市、县,最后一列为各区域单元全部制造业的工业增加值总和,可作为参照分布,其余列均为各个制造业工业增加值。读入数据后,用geo.theil()函数算出各产业的泰尔指数并在省、市两级层面分解,导出结果文件为“theil_results.csv”,代码如下:
代码2 |
# 设置代码和数据所在的工作文件夹,这里假设为"D:\\theil",注意地址分隔符用"\\"而不是"\" > setwd("D:\\theil") # 载入geo.theil函数 > source("geo_theil.R") # 读入数据 > mydata <- read.csv("manufacture2007.csv") # 看两位数代码为13的制造业在省级层面的分解 > t13.1 <- with(mydata, geo.theil(x = X13, y = total, group = 省)) > t13.1 total group1 within 1.0547998 0.2547051 0.8000947 # 看两位数代码为13的制造业在省级和市级层面的分解 > t13.2 <- with(mydata, geo.theil(x = X13, y = total, group = cbind(省, 市))) > t13.2 total group1 group2 within 1.0547998 0.2547051 0.3106503 0.4894444 # 批量计算所有制造业在省、市层面的分解 > theil.results <- lapply(mydata[,4:(ncol(mydata)-1)], geo.theil, mydata$total, mydata[,c("省","市")]) > theil.results <- do.call(rbind, theil.results) > theil.results total group1 group2 within X13 1.0547998 0.25470508 0.3106503 0.4894444 X14 1.1200430 0.18545063 0.2821592 0.6503204 …… X42 1.3465432 0.27674943 0.5073413 0.7699828 X43 3.0207135 0.50584180 0.8718032 1.3451203 # 写出结果文件至工作文件夹 > write.csv(theil.results, "theil_results.csv") |
参考文献:
[1] Akita, T. 2003.Decomposing regional income inequality in China and Indonesia using two-stagenested Theil decomposition method. Annals of Regional Science, 37(1): 55-77.
[2] Combes, P.-P., Mayer,T., & Thisse, J.-F. 2008. Economic geography: The integration of regionsand nations: Princeton University Press..
数据和代码请关注微信公众号:“思达区域经济研究方法” , SDAR-workshop
扫码或长按,关注该微信号 |
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-5 22:25
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社