今天,引荐一下面板数据熵权法的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 _ ![]() |
![]() 鲜花 |
![]() 握手 |
![]() 雷人 |
![]() 路过 |
![]() 鸡蛋 |
• 新闻资讯
• 活动频道
更多
更多