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程序,不知道对不对,请大家看看


雷达卡




京公网安备 11010802022788号







