忻州百科网

用户登录

首页

首页

资讯

查看

新闻面板数据熵权法的Stata程序

2023-07-10/ 忻州百科网/ 查看: 214/ 评论: 10

摘要https://www.macrodatas.cn/马克数据网,【让数据整理不再重复,让专注的人更专注】-专业的计量经济学的实证数据共享
  今天,引荐一下面板数据熵权法的Stata代码。工具变量https://www.macrodatas.cn/马克数据网,【让数据整理不再重复,让专注的人更专注】-专业的计量经济学的实证数据共享平台,包括论文复刻、省市县面板数据、工具变量等!


  *由群友@美丽的Aromas分享。

  *自定义函数

  cap program drop EWM

  program define EWM

  args var statue rn

  var:待处理的变量,statue=±1分别表示正向指标和负向指标,rn:r年与n个观测值的乘积

  quietly{

  *===第一步:标准化

  var'

  scalar min=r(min)

  scalar max=r(max)

  g var'-min)/(max-min)

  if

  var'sd=1-`var'sd

  }

  *===第二步:指标归一化

  ?var'sds=`var'sd+0.00000001 ?//添加偏移量

  egen var'sds)gen var'sds / `var'sds_sum

  *===第三步:计算信息熵

  var'sij=-1/ln(var'sdw*ln(

  var's=sum(`var'sij)

  *===第四步:计算信息熵的冗余度

  var'g=1-`var's

  *===第五步:清除多余变量 只保留var'ddrop var'sdw `var'sds_sum var'_s }

  end

  *主函数

  *【1】求`var'_d

  *调用EWM程序,依次输入三个参数var statue rn, 注:负向指标会提示文字*放入指标(除第5个为负向指标外,其他都是正向指标

  EWM var1 1 270

  EWM var2 1 270

  EWM var3 1 270

  EWM var4 1 270

  EWM var5 -1 270

  EWM var6 1 270

  EWM var7 1 270

  EWM var8 1 270

  EWM var9 1 270

  EWM var10 1 270

  【2】差异系数归一化,求权重w

  gen sum_d=var1_d+var2_d+var3_d+var4_d+var5_d+var6_d+var7_d+var8_d+var9_d+var10

  forvalues i=1/10{

  gen wi'_d/sum_d

  }drop sum_d

  *展示权重

  *list w* in 1

  *【3】最终变量测度

  gen Y=var1_sdw1+var2_sdw2+var3_sdw3+var4_sdw4+var5_sdw5+var6_sdw6+var7_sdw7+var8_sdw8+var9_sdw9+var10_sdw10

  drop _

鲜花

握手

雷人

路过

鸡蛋
收藏 分享 邀请
上一篇:暂无

最新评论

返回顶部