泰尔指数脚本:
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)


雷达卡



京公网安备 11010802022788号







