楼主: zwl6233967
509 1

[其他] 挺久之前得到了一份熵权法的stata程序,不知道对不对,请大家看看 [推广有奖]

  • 0关注
  • 0粉丝

svip1

已卖:1份资源

本科生

46%

还不是VIP/贵宾

-

威望
0
论坛币
1063 个
通用积分
0.0965
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
303 点
帖子
34
精华
0
在线时间
126 小时
注册时间
2022-12-3
最后登录
2024-4-20

楼主
zwl6233967 学生认证  发表于 2023-4-4 14:33:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
global xlist "di reserve billbond1 billbond2 derivate pay exchange "
xtset id timeid
*正向标准化

foreach x of global xlist{

egen min`x' = min(`x')

egen max`x' = max(`x')

gen standard`x' = (`x'-min`x')/(max`x'-min`x')


}

*计算i年份j指标的权重

foreach x of global xlist{

egen sum`x' = total(standard`x')

gen w1`x' = standard`x' / sum`x'

}

*不用区分年份、国家

*计算指标的信息熵与冗余度

by id, sort: egen m = count(timeid)

foreach x of global xlist{

gen w`x'=w1`x'+0.0001

egen e1`x'=total(w`x'*log(w`x'))

gen d`x'=1+1/log(m)*e1`x'

}

*权重2 每一个指标在五个指标中的权重值 此权重为最终权重

gen sumd =ddi+dreserve+dbillbond1+dbillbond2+derivate+dpay+dexchange

foreach x of global xlist{

gen w2`x' = d`x'/ sumd

}

*总指标

foreach x of global xlist {

gen S`x' = `x'*w2`x'

}

gen SSS = Sdi + Sreserv + Sbillbond1+Sbillbond2+Sderivate+Spay+Sexchange

挺久之前得到了一份熵权法的stata程序,不知道对不对,请大家看看

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:stata程序 Stata tata 不知道 熵权法

沙发
zwl6233967 学生认证  发表于 2023-4-4 16:28:57
gen d`x'=1+1/log(m)*e1`x' 这个地方是不是应该是加号 毕竟前面计算e熵没有用负号    gen S`x' = `x'*w2`x'这里没用标准化可以吗(用了之后可能会很大)

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-29 16:54