39322 22

[区域经济学] 一招搞定泰尔指数及其分解   [推广有奖]

  • 0关注
  • 39粉丝

贵宾

硕士生

43%

还不是VIP/贵宾

-

威望
0
论坛币
10013 个
通用积分
15.1486
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
1231 点
帖子
15
精华
1
在线时间
183 小时
注册时间
2017-4-19
最后登录
2021-11-30

楼主
R语言区域经济 在职认证  发表于 2018-1-15 16:18:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

上期讲了区位基尼系数(见https://bbs.pinggu.org/thread-6160567-1-1.html),这期讲讲泰尔指数。

泰尔指数的原理同基尼系数,都是在测度一组数据分布的差异性。但是其有着良好的可分解性质,因此当需要考察产业空间集中度在不同区域层面的差异来源时,比较常用。

一、指标计算与分解

根据Combes, Mayer, &Thisse (2008,263~265),泰尔指数的基本计算公式如下:

泰尔指数公式.png

组内泰尔指数的计算公式如下。计算时,实际上是以某组为样本群体,利用泰尔指数基本计算公式计算该组单元数值的泰尔指数,再将各组的泰尔指数加权平均得出,权重为每组单元汇总指标值的占所有单元汇总指标值的份额。


泰尔指数分解.png

如District下面还要细分,则按照以上原理一环套一环递进分解完毕即可。


泰尔指数分解体系.png



二、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



扫码或长按,关注该微信号

  

微信公众号二维码.jpg




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:泰尔指数;指数分解;产业空间集中度

泰尔指数分解体系.png (1.06 MB)

泰尔指数分解体系.png

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
kychan + 60 + 1 + 1 + 1 精彩帖子
np84 + 100 + 100 精彩帖子

总评分: 经验 + 160  论坛币 + 100  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

本帖被以下文库推荐

沙发
钱学森64 发表于 2018-1-17 15:24:40
谢谢分享

藤椅
安拉的影子 学生认证  发表于 2018-1-20 22:05:08
谢谢分享

板凳
macc891207 学生认证  发表于 2018-11-22 21:36:29
顶楼主,向楼主学习……

报纸
summer72 发表于 2019-1-12 21:52:39
LZ大人,请问“利用各组的份额将他们加权平均,还可得到组内泰尔指数”是什么意思,怎么利用各组的份额,各组的份额是什么份额,比如利用全国数据计算出泰尔指数,其中组间差距在结果中直接能看到,现在想知道如果按三大地带分,怎么计算每一个地带的泰尔指数对组内泰尔指数的贡献率?看了一晚上也没能参透其中的奥秘,望LZ指点

地板
岁月如诗 发表于 2019-1-22 20:55:20
谢谢分享

7
渔舟唱晓 发表于 2019-2-28 16:39:40
非常有用,如果半年前写小论文的时候就有代码就好了。写毕业论文我才看见居然关注公众号就能获取R代码,我真是太眼瞎了。非常感谢楼主!

8
momingqimiao7 在职认证  学生认证  发表于 2019-5-2 08:44:03
谢谢分享

9
zcsllin 发表于 2019-9-17 15:48:41

10
云上的彩虹 发表于 2019-9-19 21:48:25
感谢分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-16 21:59