基于变异系数法确定指标权重:赋权逻辑、计算步骤与Stata代码

您所在的位置:网站首页 计算var值 基于变异系数法确定指标权重:赋权逻辑、计算步骤与Stata代码

基于变异系数法确定指标权重:赋权逻辑、计算步骤与Stata代码

2023-03-19 23:42| 来源: 网络整理| 查看: 265

推文首发于公众号:南博吉吉,欢迎关注。在公众号对话框回复变异系数法,即可获得示例数据与Do文件。

确定指标权重的方法有很多,今天来学习一下变异系数法,内容包括变异系数法的赋权逻辑、计算步骤以及Stata的实现代码。

一、赋权逻辑

变异系数法是确定指标权重的统计方法,是通过计算数据中所包括的信息来确定各指标的权重,本质上属于客观赋权。

变异系数法的赋权逻辑是:如果某项指标的数值差异较小,那么该指标评价对象的能力就比较弱,这样的指标就应该赋予较小的权重。反之,如果某项指标的数值差异较大,那么该指标就能较为明显地把评价对象区分开来,这样的指标就应该赋予较大的权重。

例如,10个评委对选手进行打分,满分10分,其中一个评委给所有选手都打6分,那么这个评委的打分就不能把选手的表现或能力区分开,应该赋予低权重,而另一个评委给选手的打分为1-10不等,这个评委给出的分值包含了较多的有用信息,可以把选手的表现或能力区分开,应该赋予高权重。

再来看王锋正等(2021)在构建中国省份数字化水平指标体系的说法:

不同省市在某一数字化指标上的数据差额越大,说明该指标的区域不平衡越明显,落后地区欲达到平均水平的难度也就越大,因而认为该指标是进行区域平衡协调的重要着力点,即变异程度越大,所赋权重越大。

简而言之,数据沿着平均值的波动幅度越大,权重越高。

二、计算步骤

(一)数据标准化

因为不同指标的衡量单位可能不一样,不能直接拿过来一起做运算,所以需要去除单位的影响,也就是所谓的消除量纲。

在消除量纲之前需区分正向指标与逆向(负向)指标,正向指标的数值越大评价就越好,例如旅游外汇收入越高,城市的旅游竞争力就越强;逆向(负向)指标的数值越大评价就越差,例如城市废气排放量越大,城市的旅游竞争力就越差。消除量纲的常用方法为极差法,这两种不同类型的指标的消除量纲公式略有差异。

对于正向指标的处理如下所示:

对于负向指标的处理如下所示:

Xij表示第i个评价对象的第j项指标原始值,Yij表示标准化后的指标值。

(二)计算变异系数

变异系数(Coefficient of Variation)的公式为:标准差/平均值。

第一步,计算每个指标的平均值。

第二步,计算每个指标的标准差。

第三步,计算每个指标的变异系数。

通过上述运算,可以得到各级指标的变异系数。

(三)计算各指标权重

如下图所示,每个指标的权重(W)就是单个指标的变异系数除以所有指标变异系数之和。

通过上述运算,可以得到各级指标的权重,一级指标的权重等于二级指标权重之和。

如果存在多级指标的话(如一级指标、二级指标、三级指标等),同样可以利用变异系数值的可加性原理逐级推算出更高一级指标的权重。

(四)计算综合得分

如下所示,将标准化处理后的二级指标数值按线性加权法加总就可以得到综合指数值。

三、Stata代码我随机找了一个示例数据,包括335个观测值,8个二级指标:X₁-X₈,这8个二级指标又可以分为2个一级指标Y₁-Y₂,Y₁包括X₁-X₄,Y₂包括X₅-X₈。假设单数为正向指标,双数为负向指标。Stata的实现代码如下所示:

cd "E:\变异系数法" import excel using 变异系数法数据.xlsx,first clear *Step0:定义正负数据 global positive_var X1 X3 X5 X7 global negative_var X2 X4 X6 X8 global xlist X1 X2 X3 X4 X5 X6 X7 X8 *Step1:标准化 foreach i in $positive_var { qui sum `i' gen x_`i'=(`i'-r(min))/(r(max)-r(min)) } foreach i in $negative_var { qui sum `i' gen x_`i'=(r(max)-`i')/(r(max)-r(min)) } *Step2:计算变异系数 foreach i in $xlist { egen sd_`i'= sd(x_`i') //计算标准差 } foreach i in $xlist { egen mean_`i'= mean(x_`i') //计算平均值 } foreach i in $xlist { gen v_`i'= sd_`i'/ mean_`i' //计算变异系数 } egen v_sum = rowtotal(v_*) //变异系数加总 *Step3:计算各指标权重 foreach i in $xlist { gen w_`i'=v_`i'/v_sum } *Step4:计算综合得分 foreach i in $xlist { gen Score_`i'= x_`i'*w_`i' } egen Score=rowtotal(Score_*)

参考资料:

储莎,陈来.基于变异系数法的安徽省节能减排评价研究[J].中国人口·资源与环境,2011,21(S1):512-516.

王锋正,刘向龙,张蕾等.数字化促进了资源型企业绿色技术创新吗?[J].科学学研究,2022,40(02):332-344.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3