泰尔指数r语言_【数学建模】泰尔指数及分解的计算方法与Matlab实现
补充更方便使用的R语言版本:张敬信:【R语言】泰尔指数及其分解zhuanlan.zhihu.com
前言
最近查一点泰尔指数的资料,发现无论是公式还是软件实现,都说的特别乱,看不出所以然。
特整理了该内容,并用Matlab软件给出了实现的代码。
一.泰尔指数
泰尔指数(Theil index)或者泰尔熵标准(Theil’s entropy measure)泰是由泰尔(Theil,1967)利用信息理论中的熵概念来计算收入不平等而得名。
熵在信息论中被称为平均信息量。在信息理论中,假定某事件E将以某概率p发生,而后收到一条确定消息证实该事件E的发生,则此消息所包含的信息量用公式可以表示为:
设某完备事件组由各自发生概率依次为
, 由n个事件
构成,则有
, 熵或者期望信息量等于各事件的信息量与其相应概率乘积的总和:
将信息理论中的熵指数概念用于收入差距的测度时,可将收入差距的测度解释为将人口份额转化为收入份额(类似于洛伦兹曲线中将人口累计百分比信息转化为收入累计百分比)的消息所包含的信息量。而泰尔指数只是熵指数中的一个应用最广泛的特例。泰尔指数的表达式为:
其中,
为收入差距程度的测度泰尔指数,
表示第
个体的收入,
表示所有个体的平均收入。
对于分组数据,泰尔指数有另一种表达式:
其中,
表示第
组收入占总收入的比重,
表示第
组人口数占总人口数的比重。
例1.
(I) 按公式(2)计算:
functionT=Theil2(x)%函数Theil2()计算泰尔指数, 反映收入水平的差异
%其中,x为n个个体的收入
xx=x./mean(x);
T=mean(xx.*log(xx));
主程序:
y2=[10 10 8 8 8 8 6 6 6 6 6 6 4 4 4 4 2 2];
%每个个体的收入(万美元)
T2=Theil2(y2)
运行结果:
T2 = 0.0791
(II) 按公式(3)计算:
functionT=Theil(y,p)%函数Theil()计算泰尔指数, 反映收入水平的差异
%其中,y为各组的平均收入; p为各组包含的个体数
w=y.*p/sum(y.*p);
e=p./sum(p);
T=sum(w.*log(w./e));
主程序:
y=[10 8 6 4 2]; %各组的平均收入(万美元)
p=[2 4 6 4 2]; %各组包含的个体数
T=Theil(y,p)
运行结果:
T = 0.0791
二. 泰尔指数分解法
泰尔指数作为收入不平等程度的测度指标具备良好的可分解性质,即将样本分为多个群组时,泰尔指数可以分别衡量组内差距与组间差距对总差距的贡献。假设包含
个个体的样本被分为
个群组,每组分别为
,第
组
中的个体数目为
,则有
.
用
表示个体
的收入份额(占总收入的比例),
表示第
组的收入份额(占总收入的比例)
记
与
分别为组间差距和组内差距,则可将泰尔指数分解如下:
在上式中组间差距与组内差距分别有如下表达式:
其中,
为第k组的组内差距(k=1,...K).
进一步,可以计算第k组组内差距的贡献率和组间差距的贡献率:
另外,值得注意的是组内差距项分别由各组的组内差距之和构成,各组的组内差距的计算公式与样本总体的计算公式并无二致,只是将样本容量控制在第k组的个体数目。
例2还是例1的数据,计算组间差距与组内差距,验证泰尔指数
function[Tb,Tw,T,z,Db,Dw]=TbTw(x,n)%函数TbTw()计算泰尔指数分解
%返回Tb为组间差距, Tw为组内差距, z为各个组内差距,
%返回T为泰尔指数, Db为组间贡献率, Dw为各个组内贡献率
%泰尔指数T=Tb+Tw
%x为N个个体的收入向量, 依次分为K个分组, n=[n1,...,nK]为各分组的个体数向量, sum(n)=N
K=length(n);
s=[0,cumsum(n)];
for k=1:K
X{k}=x(s(k)+1:s(k+1))./sum(x); %X{k}为第k个分组的nk个个体的收入份额(占总收入的比例)
y(k)=sum(X{k}); %y(k)为第k组的收入份额(占总收入的比例)
end
Tb=sum(y.*log(y./(n./length(x)))); %组间差距
for k=1:K
z(k)=sum((X{k}./y(k)).*log(n(k)*X{k}./y(k))); %第k组的组内差距
end
Tw=sum(y.*z); %总的组内差距为各分组组内差距的加权和
T=Tb+Tw; %泰尔指数
Db=Tb/T; %组间贡献率
Dw=y.*z/T; %各分组内的组内贡献率
主程序:
x=[10 10 8 8 8 8 6 6 6 6 6 6 4 4 4 4 2 2];
%每个个体的收入(万美元)
n=[2 4 6 4 2]; %各分组的个体数
[Tb,Tw,T,z,Db,Dw]=TbTw(x,n)
运行结果:
Tb
= 0.0791
Tw
= -3.7007e-17
T
= 0.0791
z
= 1.0e-15 *
0 0
-0.1110 0 0
Db
= 1.0000
Dw
= 1.0e-15 *
0 0
-0.4680 0 0
说明:由于该例中,每个分组内各个个体的收入是相同的,故每个分组的组内差距为0,总的组内差距Tw也为0,结果中的-3.7007e-17是由于Matlab中的双精度误差造成的,相当于是0.
例3 修改例1中的数据,让各分组的个体收入不相等,继续测试上述算法。
原第1组:10、10,改为9.5、10.5
原第2组:8、8、8、8,改为7、9、7.5、8.5
原第3组:6、6、6、6、6、6改为5、7、5.5、6.5、6、6
原第4组:4、4、4、4改为3、5、3.5、4.5
原第5组:1.5、2.5
主程序:
x2=[9.5 10.5 7 9 7.5 8.5 5 7 5.5 6.5 6 6 3 5 3.5 4.5 1.5 2.5]; %每个个体的收入(万美元)
n=[2 4 6 4 2]; %各分组的个体数
[Tb,Tw,T,z,Db,Dw]=TbTw(x2,n)
运行结果:
Tb
= 0.0791
Tw
= 0.0077
T
= 0.0868
z
= 0.0013 0.0049
0.0058 0.0197 0.0316
Db
= 0.9112
Dw
= 0.0027 0.0167
0.0223 0.0336 0.0135
作者:张敬信
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
泰尔指数r语言_【数学建模】泰尔指数及分解的计算方法与Matlab实现相关推荐
- 泰尔指数r语言_还在用Excel算区位基尼系数?用geo.gini吧!
区域经济研究中,经常需要测度产业空间集中的程度,常用的指标有区位基尼系数(Locational GiniCoefficient).泰尔指数(Theil Index)和EG指数等.这一期先讲区位基尼系数 ...
- 泰尔指数r语言_一招搞定泰尔指数及其分解
上期讲了区位基尼系数,这期讲讲泰尔指数. 泰尔指数的原理同基尼系数,都是在测度一组数据分布的差异性.但是其有着良好的可分解性质,因此当需要考察产业空间集中度在不同区域层面的差异来源时,比较常用. 一. ...
- 泰尔指数r语言_科学网-一招搞定泰尔指数及其分解-王庆喜的博文
一招搞定泰尔指数及其分解 上期讲了区位基尼系数,这期讲讲泰尔指数. 泰尔指数的原理同基尼系数,都是在测度一组数据分布的差异性.但是其有着良好的可分解性质,因此当需要考察产业空间集中度在不同区域层面的差 ...
- moran指数 r语言_新版白话空间统计(19)空间关系对莫兰指数的影响
前文再续,书接上一回. 上一回我们说到用GeoDa可以自定义空间权重矩阵和空间关系,那么空间关系到底在我们的分析中,会产生什么样的影响呢?今天我们通过一个简单的例子来给大家示例一下: 首先我们用常规的 ...
- moran指数 r语言_白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(2):不同空间关系对莫兰指数的影响...
原标题:白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(2):不同空间关系对莫兰指数的影响 上一篇,讲了R语言中的空间权重矩阵的结构,这一节讲讲R语言里面空间权重矩阵的自定义. 与Ar ...
- moran指数 r语言_使用R进行空间自相关检验
「全局溢出」当一个区域的特征变化影响到所有区域的结果时,就会产生全局溢出效应.这甚至适用于区域本身,因为影响可以传递到邻居并返回到自己的区域(反馈).具体来说,全球溢出效应影响到邻居.邻居到邻居.邻居 ...
- R语言量化技术分析的百度指数关注度交易策略可视化
全文链接:http://tecdat.cn/?p=31556 传统的经济理论认为股票市场是有效的,价格波动是对市场信息的反应,投资者能够及时处理所有实时信息并做出最优决策(点击文末"阅读原文 ...
- 图书销量时间序列预测_数学建模_Prophet实现
图书销量时间序列预测_数学建模_Prophet实现 前言 主要参考 代码 库导入与函数设置 导库 展示函数 取数据函数 训练函数 评估函数 数据预处理 数据集划分 数据分布查看 销售曲线查看 销售预测 ...
- 数学建模overleaf模板_数学建模从入门到精通必备资料,大神经验助你赢战9月数模国赛!...
假如你对自己心仪的另一半,有一个具体的判断标准,那么,你能否算出你在未来遇到理想型的概率有多大? 这个看似复杂的问题,或许可以用数学建模帮助解决,简化和抽象的能力不仅是数学建模的本质,也是申请海外名校 ...
最新文章
- CSS导航条菜单:带小三角形
- php文字超链接怎么写,php 文本URL转换为超链接功能实例
- 为什么你总成为不了架构师?
- [转]边框回归(Bounding Box Regression)详解
- 描述项目的典型用户与场景
- bizagi simulation 仿真学习
- Git笔记(5) 状态记录
- 2021 年高教社杯全国大学生数学建模竞赛题目(B 题 乙醇偶合制备 C4 烯烃)
- D-LINK二层交换机Asymmetric VLAN配置
- HWDB数据集gnt格式转为png格式
- birt字体 linux,linux下birt 图表中文乱码问题
- 四月Google份额继续上升 微软收购雅虎势在必行
- Spanning-tree fast features配置案例
- 【Mixamo】记录mixamo导出动画踩的坑
- msp430单片机c语言应用程序,MSP430单片机C语言应用程序设计实例精讲
- 【论文阅读】DeepGauge: multi-granularity testing criteria for deep learning systems.
- 斗破苍穹文字页游php_《斗破苍穹》官方网站! - 页游 - 可以阅读的网页游戏[YeGame.COM]...
- securecrt下传输大文件
- 为啥中国移动免费宽带突然不香了, 背后的猫腻,你知道吗?
- 大数开根号(蓝桥杯-矩阵翻硬币)