global all_var x1 x2 x3 x4 x5 x6 x7 x8
foreach i in $all_var{
egen min_`i'=min(`i')
egen max_`i'=max(`i')
gen s`i'=(`i'-min_`i')/(max_`i'-min_`i')
replace s`i'=0.0001 if s`i'==0
}
order id year $all_var min* max* s*
forvalue i=1(1)8{
egen sums_`i'=sum(sx`i')
gen p`i'=sx`i'/sums_`i'
}
order id year $all_var min* max* s* sums* p*
forvalue i=1(1)8{
egen l`i'=sum(p`i'*ln(p`i'))
gen e`i'=-l`i'/ln(2598)
gen d`i'=1-e`i'
}
order id year $all_var min* max* s* sums* p* l* e* d*
forvalue i=1(1)8{
egen f`i'=rowtotal(d*)
gen w`i'=d`i'/f`i'
}
order id year $all_var min* max* s* sums* p* l* e* d* f* w*
forvalue i=1(1)8{
gen score`i'=w`i'*sx`i'
}
egen Score=rowtotal(sc*)
keep id year 省份 城市 地区 name x* w* Score