楼主: hanxinyue1983
8051 26

[编程问题求助] stata熵值法编程,程序有点问题,有偿请教大神 [推广有奖]

11
米高兄弟 在职认证  发表于 2019-6-29 23:41:23
***********未进行分年进行整体熵值法********888
//正向指标
global positive_var x1 x2 x3
//负向指标
global negative_var x4 x5     



//标准化数据 正向指标
        foreach i in $positive_var {
                qui sum `i'
                gen x_`i'=(`i'-r(min))/(r(max)-r(min))
                replace x_`i'=0.00001 if x_`i'==0
        }



//标准化数据 负向指标
        foreach i in $negative_var {
                qui sum `i'
                gen x_`i'=(r(max)-`i')/(r(max)-r(min))
                replace x_`i'=0.00001 if x_`i'==0
        }
       

//计算各指标的比重
global positive_var x_x1 x_x2 x_x3
global negative_var x_x4  x_x5
global all_var $positive_var $negative_var  //所有指标
global all_var x_x1 x_x2 x_x3 x_x4  x_x5

        foreach i in $all_var{
            qui sum `i'
                egen `i'_sum=sum(`i')
                gen y_`i'=`i'/`i'_sum
        }

        //根据比重计算各分量的信息熵
        gen n=_N

        foreach i in $all_var {
                gen y_lny_`i'=y_`i'*ln(y_`i')
        }

        //求和
global positive_var y_lny_x_x1 y_lny_x_x2 y_lny_x_x3
global negative_var y_lny_x_x4  y_lny_x_x5
global all_var $positive_var $negative_var  //所有指标
        foreach i in $all_var {
                egen y_lny_`i'_sum=sum(`i')
        }
//计算各指标的贡献总量

        foreach i in $all_var {
                gen E_`i'= -1/ln(n)*y_lny_`i'_sum
        }
//计算各指标权重
        foreach i in $all_var {
                gen d_`i'= 1-E_`i'
        }
        egen d_sum = rowtotal(d_*)
        foreach i in $all_var {
                gen W_`i'= d_`i'/d_sum
        }
        //计算综合得分
        foreach i in $all_var {
                gen Score_`i'= `i'*W_`i'
        }
       
       
        egen Score=rowtotal(Score_*)

        keep id year $all_var Score
        save data_`year', replace
}
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 20 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 20  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

12
米高兄弟 在职认证  发表于 2019-6-29 23:45:44
有位大咖卖了个命令,但她是分类回归的,花钱很多初学者都还是懵的,我初步研究了一下按照不分时间段,即同一年下如何按照步骤做的方法,供大家参考,都是穷学生,没钱,能帮就帮吧,看到这段命令就节约看不到就算了!楼主的命令是她部分的内容和另外一个老师的结合,都不合适,即没理解透彻,但也不怪,需要灰色关联命令的也可以联系我,可以模仿进行写循环命令,我因为循环不太熟悉用的最笨方法操作的!

13
winter_doll 发表于 2019-7-5 16:45:38
米高兄弟 发表于 2019-6-29 23:45
有位大咖卖了个命令,但她是分类回归的,花钱很多初学者都还是懵的,我初步研究了一下按照不分时间段,即同 ...
非常感谢~准备好好学习下~

14
榴莲留恋mj 发表于 2019-8-25 12:06:56
米高兄弟 发表于 2019-6-29 23:45
有位大咖卖了个命令,但她是分类回归的,花钱很多初学者都还是懵的,我初步研究了一下按照不分时间段,即同 ...
你好,最近在研究熵值法的计算,我用了您上面程序运行的时候老出现错误,可否加个联系方式,咨询下具体用法呢?

15
岸雨过城头9 学生认证  发表于 2019-9-2 12:00:14
榴莲留恋mj 发表于 2019-8-25 12:06
你好,最近在研究熵值法的计算,我用了您上面程序运行的时候老出现错误,可否加个联系方式,咨询下具体用 ...
研究好了吗?一起研究研究哈

16
gehonghe 发表于 2020-2-4 11:39:06
米高兄弟 发表于 2019-6-29 23:45
有位大咖卖了个命令,但她是分类回归的,花钱很多初学者都还是懵的,我初步研究了一下按照不分时间段,即同 ...
想看看她分类回归命令的帖子,请问有没有链接呀,感谢

17
米高兄弟 在职认证  发表于 2020-2-5 15:10:00
要花钱买的,她卖38元,需要可以分摊点成本,我给你

18
谨言丨慎行 发表于 2020-3-5 10:39:14
你好  对面板数据的熵值法有疑惑  可以加Q交流一下吗   349358880

19
冬天过了是春天 学生认证  发表于 2020-12-27 21:45:31
米高兄弟 发表于 2020-2-5 15:10
要花钱买的,她卖38元,需要可以分摊点成本,我给你
可以加微信学习一下熵值法么,Cecilia17017

20
可可⊙⊙? 发表于 2021-3-8 20:37:05 来自手机
hanxinyue1983 发表于 2019-2-17 20:14
我修改了一个程序包计算熵值,但是运行后显示找不到x_1,不知道问题出在哪里,请大神帮忙看看
程序包是为了 ...
‘’

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-29 01:53