基于面板数据的熵值法介绍与实现

熵值法是一种基于信息熵理论的客观赋值方法。即数据越离散,所含信息量越多,对综合评价影响越大。

一、基于面板数据熵值法介绍

        传统的熵值法有个弊端,只能针对于截面数据,即根据某一年 k k k个地区 j j j项指标进行综合评价。而在实际处理经济型数据过程中,经常会遇到面板数据。即根据 m m m个年份, k k k个区县, j j j项指标对其进行综合评价。其具体过程如下(与传统的熵值法过程非常相似,主要是第二步和第三步有区别):

(1) 指标标准化处理

正向指标 Z α i j = x α i j − x m i n x m a x − x m i n \text{正向指标}Z_{\alpha ij}=\frac{x_{\alpha ij}-x_{min}}{x_{max}-x_{min}} 正向指标Zαij=xmaxxminxαijxmin 负向指标 Z α i j = x m a x − x α i j x m a x − x m i n \text{负向指标}Z_{\alpha ij}=\frac{x_{max}-x_{\alpha ij}}{x_{max}-x_{min}} 负向指标Zαij=xmaxxminxmaxxαij 式中, x m a x \mathit{x_{max}} xmax x m i n \mathit{x_{min}} xmin分别代表第 j \mathit{j} j项指标的最大值和最小值; x α i j x_{\alpha ij} xαij z α i j z_{\alpha ij} zαij分别代表第   j   \mathit{\:j\:} j项指标标准化处理前和处理后的值。

(2) 指标归一化
P α i j = Z α i j ∑ α = 1 m ∑ i = 1 k Z α i j P_{\alpha ij}=\frac{Z_{\alpha ij}}{\sum\limits_{\alpha=1}^{m}\sum\limits_{i=1}^{k}Z_{\alpha ij}} Pαij=α=1mi=1kZαijZαij

(3) 计算熵值
E j = − k 1 ∑ α = 1 m ∑ i = 1 k P α i j l n P α i j E_{j}=-k_{1}\sum\limits_{\alpha=1}^{m}\sum\limits_{i=1}^{k}P_{\alpha ij}ln{P_{\alpha ij}} Ej=k1α=1mi=1kPαijlnPαij
其中, k 1 = 1 l n ( m × k ) k_{1}=\displaystyle\frac{1}{ln(m \times k)} k1=ln(m×k)1

(4) 计算各项指标的冗余度
D j = 1 − E j D_{\mathit{j}}=1-E_{\mathit{j}} Dj=1Ej

(5) 计算各项指标权重
W j = D j ∑ j = 1 n D j W_{\mathit{j}}=\frac{D_{\mathit{j}}}{\sum\limits_{\mathit{j=1}}^{n}D_{\mathit{j}}} Wj=j=1nDjDj

(6) 得到各区县的综合经济指数
I α i = P α i j × W j I_{\alpha i}=P_{\mathit{\alpha ij}} \times W_{\mathit{j}} Iαi=Pαij×Wj

二、R语言实现

以重庆市各区县为例,选取如下九项指标数据构建综合经济指数,数据来源《重庆统计年鉴》,时间范围为2009-2018年。

一级指标二级指标
经济实力GDP(国民生产总值)
全社会固定资产投资
社会消费品总额
经济质量第三产业/GDP
人均GDP
区县一般公共收入/GDP
社会生活农村居民人均纯收入
人均一般公共服务支出
城镇居民人均可支配收入

部分数据展示如下:
在这里插入图片描述

代码如下:

#根据数据实际情况,修改初始参数
setwd('C:/Users/dell/Desktop')
library(xlsx)
k=38  #区县个数
m=10  #年份
n=9  #指标个数

#读取数据
data.list=list()
for(i in seq(n))
  data.list[[i]]=read.xlsx('df.xlsx',sheetIndex = i,encoding='UTF-8')


caculate_p<-function(x) {
  z<-(x[,-1]-min(x[,-1]))/(max(x[,-1])-min(x[,-1]))
  p<-z/(sum(z))
}
P<-lapply(data.list,caculate_p)


caculate_d<-function(x){
  a<-x*log(x)
  a[is.na(a)]<-0
  d<-(1-(-sum(a)/log(k*m)))
}
d<-sapply(P,caculate_d)

#输出权重
w<-sapply(d,function(x) {x/sum(d)})
print(w)


#得到每年九个指标的Pij
rank=list()
data=data.frame(matrix(0,k,0))
for(j in seq(m))
{  for(i in seq(n))
  {
  data[paste0("指标",i)]=as.vector(P[[i]][,j])
  rank[[j]]=data
  }
}

#写出各年区县的综合经济指数
year=2018 
for(i in seq(length(rank)))
{
  score<-as.matrix(rank[[i]]) %*% w  #计算各区县综合指数
  county_score<-data.frame(cbind(as.character(data.list[[1]][,1]),score))  #添加区县名
  colnames(county_score)<-c("区县",'综合经济指数')
  write.xlsx(county_score,file='rank.xlsx',sheetName=paste0(year,'年'),append=TRUE,row.names=F)
  cat(paste0(year,'年写入完毕\n'))
  year<-year-1
}

写出的文件则是2009-2018年各区县的综合经济指数。

各指标权重占比依次为(GDP、社会消费品总额、…)
在这里插入图片描述

生成各年份各区县的综合经济指数如下图所示:
在这里插入图片描述

注意:
1、代码中的k、m、n参数根据实际数据进行修改
2、需要将数据文件放置R的工作路径中

由于原指数太小,对其乘以 1 0 4 10^{4} 104,绘制2009年和2018年各区县的综合经济指数柱形图:
在这里插入图片描述
从上图不难看出:
1、2018年各区县的综合经济发展指数明显要大于2009年各区县的综合经济发展指数,说明10年来重庆市各区县经济得到了较大的发展。

2、渝中区、江北区、九龙波区、渝北区综合经济发展水平较高,而城口县、巫溪县、巫山县、酉阳县经济发展水平较低

参考文献

[1]冯兴华,钟业喜,李峥荣,傅钰.长江经济带城市体系空间格局演变[J].长江流域资源与环境,2017,26(11):1721-1733.

后续将会将熵值法应用到空间相关分析中,敬请期待~

  • 56
    点赞
  • 454
    收藏
    觉得还不错? 一键收藏
  • 122
    评论
面板数据熵值法是一种用于综合评价多指标数据的方法,可以帮助决策者从多个指标中选择最优方案。以下是使用Excel进行面板数据熵值法计算的步骤: 1. 收集并整理数据:将所有待评价的指标数据收集到Excel表格中,并确保每一列对应一个指标,每一行对应一个评价对象。 2. 计算权重:根据各个指标对于决策的相对重要性,为每个指标计算权重。可以使用主成分分析、层次分析法等方法来确定指标的权重。 3. 数据标准化:对于每个指标,需将原始数据进行标准化处理,以确保不同指标间的单位差异对结果的影响。 4. 计算熵值:根据标准化后的数据,计算各个指标的熵值。熵值表示指标数据的离散程度,可以用于衡量该指标的信息量。 5. 计算权重和熵值的乘积:将每个指标的熵值与其权重相乘,得到每个指标的带权熵值。 6. 计算正向指标的熵权值:对于正向指标,需要将其带权熵值除以所有正向指标的带权熵值之和,得到正向指标的熵权值。 7. 计算负向指标的熵权值:对于负向指标,需要将其带权熵值除以所有负向指标的带权熵值之和,并取倒数,得到负向指标的熵权值。 8. 计算综合得分:根据正向指标的熵权值和负向指标的熵权值,计算每个评价对象的综合得分。可以将正向指标的熵权值与其对应的标准化数据相乘,再将负向指标的熵权值与其对应的标准化数据相乘,最后相加求和。 9. 对综合得分进行排序:将每个评价对象的综合得分进行排序,得到最优解。 以上是使用Excel进行面板数据熵值法计算的主要步骤,通过这个方法可以快速、客观地评价多个指标下的不同对象,帮助决策者做出相对较优的决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 122
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值