全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
1212 1
2023-03-27
各位大佬求求了!!运行到刚开头红色部分提示variable not found,反正就是进行不下去!!**熵权法
** step 1 指标的标准化处理
global positive_var "第一产业增加值指数 第二产业增加值指数 第三产业增加值指数        人均国内生产总值 第三产业对GDP的贡献率 技术市场成交额占GDP比重 万人专利申请授权数 城镇登记失业率 城镇单位就业人员平均工资 每万人医疗机构床位数 工业污染源治理投资/GDP 治理废水项目完成投资/GDP 治理固体废物项目完成投资/GDP 单位GDP电耗"
global negative_var "居民消费价格指数 工业生产者出厂价格指数 二氧化硫排放量/GDP"
global all_var $positive_var$negative_var
foreach i of $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
}

** step 2 计算指标的比重
foreach i in $all_var {
        egen `i'_sum=sum(x_`i')
        gen y_`i'=x_`i'/`i'_sum
}

**step3 计算指标信息熵
gen n=_N
foreach i in $all_var {
        gen y_lny`i'=y_`i'*ln(y_`i')
        replace y_lny_`i'=0 if x_`i'==0
}

**step4 求和
foreach i in $all_var {
        egen y_lny_`i'_sum = sum(y_lny_`i')
}

**step5 计算各指标的贡献总量,熵值ej
foreach i in $all_var {
        gen E_`i'=-1/ln(n)*y_lny_`i'_sum
}

**step6 计算各指标的权重,差异系数d
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
}
egen W= rowtotal(W_*)

**step7 计算指标综合得分
foreach i in $all_var {
        gen Score_`i' = x_`i'*W_`i
}
egen Score= rowtotal(Score_*)


二维码

扫码加我 拉你入群

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

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

全部回复
2023-3-27 18:50:27
谢谢分享!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群