相关理论
泰尔指数(Theil,1967)(也有人译为“泰尔系数”,但我倾向于“泰尔指数”)是分析区域收入水平差异的一个重要工具,而区域差距又是一个重要的热点话题,所以,泰尔指数频繁出现在学术文献中,成为分析区域差异不可或缺的一个工具。
然而,在许多相关文献中,往往只是给出了这个公式,且许多公式有错误,并且没有给出对公式的解释,也没有给出计算过程,而只给出计算出来的泰尔指数结果。这对于想要学习泰尔指数的人来说非常不便。
学金融的同学近期在搞毕业论文,让我帮忙做数据分析,过程中加深了对泰尔指数的理解,同时用python进行实现。
泰尔指数用来衡量一个国家地区间的收入差异(或其它差异),代数公式:
T是泰尔指数,Ii是第i个地区的收入,I是总收入,Pi是地区i的人口,P是总人口。
文字公式:各地区的收入份额与人口份额之比的对数的加权和,权数为收入份额。
公式理解:泰尔指数大于等于0,越小差异越小。
如果收入份额与人口份额相等,则对数中的真数(即份额比)为1,则对数值为0,泰尔指数也就为0,表明地区之间没有任何差异。
如果份额比大于1,表明该地区发达,相应的对数值大于0;如果份额比小于1,表明该地区落后,相应的对数值小于0。
代码实现
# -*- coding: utf-8 -*-
"""
Created on Tue Wes 29 21:53:47 2019
@author: slash
"""
import pandas as pd
import numpy as np
import math
import xlrd
from xlwt import *
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
# Unicode minus
matplotlib.rcParams['axes.unicode_minus'] = False
def Theil(number,GDP):
T = 0
_sum_GDP = 0
_sum_number = 0
for i in range(len(number)):
_sum_GDP += GDP[i]
_sum_number += number[i]
for i in range(len(number)):
w = GDP[i]/_sum_GDP #收入权重
e = number[i]/_sum_number #人口权重
T += w * math.log(w/e)
return T #返回泰指数
if __name__ == '__main__':
data = xlrd.open_workbook('people_2.xlsx')
table = data.sheets()[0]
#提取人口数
start_1=2 #开始的行
end_1=18 #结束的行
number=[]
for x in range(start_1,end_1):
values=[]
row =table.row_values(x)
for i in range(1,11):
values.append(row[i])
number.append(values)
#提取GDP
start_2=19 #开始的行
end_2=35 #结束的行
GDP=[]
for x in range(start_2,end_2):
values=[]
row =table.row_values(x)
for i in range(1,11):
values.append(row[i])
GDP.append(values)
#带入函数计算
year = 16
result=[] #定义存放最终结果的列表
for i in range(year):
Theil(number[i],GDP[i])
result.append(Theil(number[i],GDP[i]))
#画图
#x= ['思茅区','宁洱哈尼族彝族自治县','墨江县','景东县','景谷县','镇阮县','江城县','澜沧县','孟连县','西蒙县']
x=[2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016]
plt.figure(figsize=(8,4))
plt.plot(x, result, label='linear',color="red",linewidth=2)
plt.xlabel("年份")
plt.ylabel("泰尔指数")
plt.title("泰尔指数")
plt.legend()
plt.show()
数据是同学提供的,是普洱市各县级区域从2001年到2016年的GDP和人口数据:
结果
从图像看,泰尔指数从2013年之后变化显著,说明各县市发展趋于不平衡,查阅政策,跟2013年政府大量资金扶持思茅区有关,可以这样解释。