Matlab学习系列33. 泰尔指数及分解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
33. 泰尔指数及分解
一.泰尔指数
泰尔指数(Theil index )或者泰尔熵标准(Theil ’s entropy measure)泰是由泰尔(Theil,1967)利用信息理论中的熵概念来计算收入不平等而得名。
熵在信息论中被称为平均信息量。在信息理论中,假定某事件E 将以某概率p 发生,而后收到一条确定消息证实该事件E 的发生,则此消息所包含的信息量用公式可以表示为:
1
h()ln()p p
=
设某完备事件组由各自发生概率依次为12(,,
,)n p p p 由n 个事件
12(,,,)n E E E 构成,则有1
1n
i i p ==∑,熵或者期望信息量等于各事件的信息
量与其相应概率乘积的总和:
111
1
()()log()log()n
n
n
i i i i i i i i i H x p h p p p p p ======-∑∑∑ (1)
将信息理论中的熵指数概念用于收入差距的测度时,可将收入差距的测度解释为将人口份额转化为收入份额(类似于洛伦兹曲线中将人口累计百分比信息转化为收入累计百分比)的消息所包含的信息量。而泰尔指数只是熵指数中的一个应用最广泛的特例。泰尔指数的表达式为:
11ln()n i
i i y y T n y y
==∑ (2)
其中,T 为收入差距程度的测度泰尔指数,i y 表示第i 个体的收入,y 表示所有个体的平均收入。
对于分组数据,泰尔指数有另一种表达式:
1
ln(
)k
i
i i i
w T w e ==∑ (3)
其中,i w 表示第i 组收入占总收入的比重,i e 表示第i 组人口数占总人口数的比重。
例1.
(I) 按公式(2)计算:
function T=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)计算:
function T=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
二. 泰尔指数分解法
泰尔指数作为收入不平等程度的测度指标具备良好的可分解性质,即将样本分为多个群组时,泰尔指数可以分别衡量组内差距与组间差距对总差距的贡献。假设包含n 个个体的样本被分为K 个群组,每组分别为(1,
,)k g k K =,第k 组
k g 中的个体数目为k n ,则有1
K
k k n n ==∑,i y 表示个体i 的收入份额(占总收入的
比例), k y 表示第k 组的收入份额(占总收入的比例),记b T 与w T 分别为组间差距和组内差距,则可将泰尔指数分解如下:
1
1
ln
(ln )1k
K
K
k i i k
b w k k k k i g k k k
y y y y T T T y y n n
y n ==∈=+=+∑∑∑
(4) 在上式中组间差距b T 与组内差距w T 分别有如下表达式:
1
ln
K
k b k k k y T y n n
==∑ (5)
1
(ln )1k
K
i i k
w k k i g k k
y y y T y y n =∈=∑∑
(6) 另外,值得注意的是组内差距项分别由各组的组内差距之和构成,各组的组
内差距的计算公式与样本总体的计算公式并无二致,只是将样本容量控制在第k 组的个体数目k n 。
例 2 还是例1的数据,计算组间差距b T 与组内差距w T ,验证泰尔指数
b w T T T =+
function [Tb,Tw]=TbTw(x,n)
%函数TbTw()计算泰尔指数分解, 返回Tb 为组间差距, Tw 为组内差距 %泰尔指数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); %总的组内差距为各分组组内差距的加权和 主程序:
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]; %各分组的个体数