精华内容
下载资源
问答
  • 本文用实例说明了多指标综合评价中,用“倒数逆变换法”进行指标正向化时会完全改变原指标的分布规律,影响综合评价结果的准确性;对三种常用无量纲化方法——极差变换法、标准化法和均值化法的选择使用问题,用实例...


    摘要:本文用实例说明了多指标综合评价中,用“倒数逆变换法”进行指标正向化时会完全改变原指标的分布规律,影响综合评价结果的准确性;对三种常用无量纲化方法——极差变换法、标准化法和均值化法的选择使用问题,用实例进行了比较分析。

    关键词:综合评价,正向化,无量纲化,标准化法,均值化法

    在多指标综合评价中,有些是指标值越大评价越好的指标,称为正向指标(也称效益型指标或望大型指标);有些是指标值越小评价越好的指标,称为逆向指标(也称成本型指标或望小型指标),还有些是指标值越接近某个值越好的指标,称为适度指标。在综合评价时,首先必须将指标同趋势化,一般是将逆向指标和适度指标转化为正向指标,所以也称为指标的正向化。不同评价指标往往具有不同的量纲和量纲单位,直接将它们进行综合是不合适的,也没有实际意义。所以必须将指标值转化为无量纲的相对数。这种去掉指标量纲的过程,称为指标的无量纲化(也称同度量化),它是指标综合的前提。在多指标评价实践中,常将指标无量纲化以后的数值作为指标评价值,此时,无量纲化过程就是指标实际值转化为指标评价值(即效用函数值)的过程,无量纲化方法也就是指如何实现这种转化。从数学角度讲就是要确定指标评价值依赖于指标实际值的一种函数关系式,即效用函数fj。因此,指标的无量纲化是综合评价的一项重要内容,对综合评价结果有重要影响。

    指标的正向化和无量纲化都有多种方法,应用时,应根据实际情况选择合适的方法,否则将会使综合评价的准确性受到影响。本章就如何选择正向化和无量纲化方法作些讨论。

    (一)关于指标正向化方法

    对于指标的正向化,在实际应用中许多学者常使用将指标取倒数的方法(苏为华教授称其为“倒数逆变换法”),写成公式为:

    yij=C/xij                             (1)

    其中C为正常数,通常取C=1。很明显,用(1)式作为指标的正向化公式时,当原指标值xij较大时,其值的变动引起变换后指标值的变动较慢;而当原指标值较小时,其值的变动会引起变换后指标值的较快变动。特别是当原指标值接近0时,变换后指标值的变动会非常快,使得指标评价值的确定,也即指标的无量纲化变得困难。

    比如徐国祥等将指标资产负债率、流动比率、速动比率作为适度指标,对它们的正向化方法为

                                        (2)

    适度值k取各单位该指标值的平均值。这种取倒数的方法使得:一些接近k的指标值之间的差距扩大,而远离k的指标值之间的差距缩小,因而不能真实反映原指标的分布情况。笔者选取2001年全国各地区全部国有及规模以上非国有工业企业主要经济效益指标中的资产负债率为例(为节省篇幅选前10个省市的值),用(2)式进行正向化变换,10个省市的资产负债率及其正向化值见表1。资产负债率的平均值k=58.59。

    表1  10省市资产负债率及其正向化值

    地区

    北京

    天津

    河北

    山西

    内蒙古

    辽宁

    吉林

    黑龙江

    上海

    江苏

    资产负债率(%)

    55.29

    58.28

    63.25

    63.79

    58.44

    58.69

    62.63

    59.02

    46.46

    60.03

    正向化值

    0.30

    3.25

    0.21

    0.19

    6.76

    9.80

    0.25

    2.31

    0.08

    0.69

    资料来源:中国统计年鉴(2002).中国统计出版社,下同.

    由表1可见,天津与内蒙古的资产负债率原值为58.28和58.44,相差极小,而变换后的值分别为3.25和6.76,相差很大;北京和上海的原值分别为55.29和46.46,相差很大,而变换后的值为0.30和0.08,相差很小。但另一方面,从资产负债率对经济效益的影响程度分析,当资产负债率在平均值附近时,其值的变动对经济效益的影响较小;当资产负债率远离平均值时,其值的变动对经济效益的影响较大。可见用这种取倒数的变换方法完全改变了原指标的分布规律,所得综合评价结果肯定是不准确的,因而是不可取的。

    笔者认为,应尽可能不使用这种倒数逆变换法,而使用“倒扣逆变换法”,即对逆向指标正向化公式为


    对适度指标正向化公式为

    这种线性变换不会改变指标值的分布规律。

        但是,对周转速度类指标(包括库存商品周转速度、流动资金周转速度等等)通常有正向指标“次数”和逆向指标“天数”两种表现形式,二者存在互逆关系:

    周转天数(天/次)=报告期日历长度(天)/报告期周转次数(次)

    显然,“次数”的增加能很好地表现实际价值的增加,“次数”是较好的评价指标,所以用倒数逆变换法将逆向指标“天数”变换为正向指标“次数”是较好的正向化方法。

    (二)指标无量纲化方法的选择

          目前人们已提出的无量纲化方法名称很多,如综合指数法、极差变换法、高中差变换法、低中差变换法、均值化法、标准化法、比重法、功效系数法、指数型功效系数法、对数型功效系数法、正态化变换法等等。苏为华教授将它们归为四类:广义指数法、广义线性功效系数法、非线性函数法、分段函数法[1]。则广义指数法和广义线性功效系数法包含了前8种,都是线性无量纲化方法;后三种属于非线性函数法,也即曲线型无量纲化方法。由于指数或对数变换时,曲线的增减速度、凹凸程度很难把握,所以实践中非线性函数法较少被采用。

    实践中应用较多的是属于直线型无量纲化方法的极差变换法、标准化法和均值化法。下面对这三种方法进行比较分析。

    设综合评价中共有n个单位,m个指标,各指标分别为x1x2,…,xm,用xiji=1,2,…,nj=1,2,…,m)表示第i个单位的第j个原始指标值,yij表示经过无量纲化处理的第i个单位的第j个指标值。极差变换法即令

                                          (3)

    式(3)中的分母仅与原始指标的最大值和最小值有关,而与指标的其它值无关。当xj的最大值与最小值之差很大时,yj值就会过小,相当于降低了第j个指标的权重;相反,当xj的最大值与最小值之差很小时,yj值就会过大,相当于提高了第j个指标的权重。即指标的两个值就对指标的权重产生了很大影响。所以在多指标综合评价中,用极差变换法作为无量纲化的方法是不可取的。

    目前最普遍使用的无量纲化方法是标准化法,标准化法即令

                                                               (4)

    其中和σj分别是指标xj的均值和标准差。经标准化后,指标yj的均值为0,方差为1,消除了量纲和数量级的影响。同时标准化法也消除了各指标变异程度上的差异,因此经标准化后的数据不能准确反映原始数据所包含的信息,导致综合评价的结果不准确。从下例可以看出:

           例1、对十个省市的全部国有及规模以上非国有工业企业的经济效益进行综合评价。为直观起见,只选用全员劳动生产率和产品销售率两个指标,指标值见表2。根据国家经贸委等部门颁布的《工业经济效益评价体系》两个指标的权数分别为10和13。

    表2  十省市劳动生产率和产品销售率

    地区

    北京

    天津

    河北

    山西

    内蒙古

    辽宁

    吉林

    黑龙江

    上海

    江苏

    劳动生产率(元)

    69539

    58984

    45576

    27988

    37770

    48170

    47306

    68104

    95393

    57177

    产品销售率(%)

    98.17

    98.02

    98.05

    97.06

    97.93

    97.33

    96.94

    97.61

    98.83

    97.06

    由表2易见,各地区的产品销售率非常接近,而全员劳动生产率相差较大。它们的变异系数分别为0.0062和0.3419也说明了这一点。所以若用这两个指标来评价经济效益,则很显然主要的影响因素应是全员劳动生产率。

    但是,若用标准化法对两个指标进行无量纲化,将使两个指标的变异程度相同,因为产品销售率的权数大,因而产品销售率对经济效益的影响会比全员劳动生产率大。评价结果见表3

    表3   十省市标准化法评价结果对照

    地区

    北京

    天津

    河北

    山西

    内蒙古

    辽宁

    吉林

    黑龙江

    上海

    江苏

    评价得分

    0.76

    0.38

    0.10

    -1.23

    -0.19

    -0.51

    -0.90

    0.20

    1.96

    -0.56

    评价名次

    2

    3

    5

    10

    6

    7

    9

    4

    1

    8

    销售率名次

    2

    4

    3

    8

    5

    7

    10

    6

    1

    8

    从表3可见评价名次与产品销售率名次相差不大,这显然是不合理的。

        所以必须改进原始数据的无量纲化方法,均值化方法就是一种较好的方法。均值化方法即令

                                                    (5)

    均值化后各指标的均值都为1,其方差为

                                                  (6)

    即均值化后各指标的方差是各指标变异系数的平方,它保留了各指标变异程度的信息。

           对于例1,若用均值化方法对两个指标进行无量纲化,则因全员劳动生产率的变异系数比产品销售率的变异程度大得多,因而全员劳动生产率是经济效益综合评价的主要影响因素。评价结果见表4

    表4    十省市均值化法评价结果对照

    地区

    北京

    天津

    河北

    山西

    内蒙古

    辽宁

    吉林

    黑龙江

    上海

    江苏

    评价得分

    1.11

    1.03

    0.92

    0.78

    0.86

    0.94

    0.93

    1.10

    1.32

    1.01

    评价名次

    2

    4

    8

    10

    9

    6

    7

    3

    1

    5

    劳动生产率名次

    2

    4

    8

    10

    9

    6

    7

    3

    1

    5

    由表4可知,评价名次与全员劳动生产率的名次完全一致,这与实际情况是相符的。即用均值化法比用标准化法合理。

    那么,是否我们就应该用均值化方法作为指标的无量纲化方法呢?这也要具体问题具体分析。在实际问题中,情况是复杂的,有时需要保留指标的变异信息,有时需要消除指标的变异信息。用下面的例子即可说明。

    例2、某校在对教师进行考核时,其考核方法为根据教师所任教班级的学生打分和由学校领导、教师代表组成的考核小组打分各占50%的比例进行综合。现选择其中10位教师的分数如表5:

    表5   10位教师的原始考核分

    教师编号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    学生打分

    81.3

    94.7

    84.7

    95.2

    93.2

    98.5

    92

    86.5

    89.9

    84.6

    考核小组打分

    90.3

    93.5

    91.1

    94

    94.5

    93.6

    91.5

    90.4

    93

    91.7

    易见学生打分的变异程度远大于考核小组打分的变异程度,若为了保留指标的变异信息,采用均值化方法作无量纲化处理,可得各教师的综合考核分及名次如表6(因两种打分的量纲一致,也可以不作无量纲化处理,所得结果相同)

    表6   10位教师的均值化方法考核结果

    教师编号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    综合考核分

    0.940

    1.032

    0.963

    1.037

    1.029

    1.054

    1.006

    0.970

    1.003

    0.966

    综合考核名次

    10

    3

    9

    2

    4

    1

    5

    7

    6

    8

    学生打分名次

    10

    3

    8

    2

    4

    1

    5

    7

    6

    9

    除3号和10号教师外,考核名次与学生打分的名次均相同,即考核小组的打分几乎不起作用,这显然极不合理。

    一般来说,类似例1这样的由主观打分的综合评价问题,不应保留指标的变异信息,而应消除指标的变异信息。用标准化方法即能消除指标的变异信息,使两种打分起同等作用。用此法可得各教师的综合考核分及名次如表7。显然,表7的结果会更加合理。      

    表7   10位教师的标准化方法考核结果

    教师编号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    综合考核分

    -1.45

    0.79

    -0.89

    0.99

    0.98

    1.16

    -0.11

    -0.96

    0.19

    -0.70

    名次

    10

    4

    8

    2

    3

    1

    6

    9

    5

    7 

    根据以上分析,当综合评价的指标值都是客观数值时,一般来说应该用均值化方法对指标进行无量纲化;而当综合评价的指标值是主观分数时,则用标准化方法更好。

     

    展开全文
  • 多指标综合评价方法汇总

    万次阅读 多人点赞 2016-10-27 22:59:08
    写在前面上学的时候,有一门综合评价的课程,那时候没觉得以后会用到它,现在才发现是那么实用,实际应用中如果采用单指标进行评价给人的感觉总是有偏驳的,除非是那种极其可靠且明确其重要性的指标。近期基本上把老...

    写在前面

    上学的时候,有一门综合评价的课程,那时候没觉得以后会用到它,现在才发现是那么实用,实际应用中如果采用单指标进行评价给人的感觉总是有偏驳的,除非是那种极其可靠且明确其重要性的指标。近期基本上把老课本里的方法翻了个老底,以前觉得这门课程似乎挺难的,现在看来只是以前没有深入的好好看,方法简单且实用。
    综合评价的方法一般是主客观结合的,方法的选择需基于实际指标数据情况选定,最为关键的是指标的选取,以及指标权重的设置,这些需要基于广泛的调研和扎实的业务知识,不能说单纯的从数学上解决的。
    以下几种方法都是在实际中应用过的,在实际应用的我们遇到的状况,也描述一下。

    指标的正向化

    指标一般分为正向指标(越大越好)、逆向指标(越小越好)、适度指标(不能太小也不能太大)。为了可以进行综合汇总,需要解决同方向性,一般需要将逆向指标和适度指标正向化。

    逆向指标正向化

    • 倒数法:这里写图片描述
    • 最小阈值法:这里写图片描述
    • 最大阈值法(互补法):这里写图片描述

    ** 适度指标的正向化**

    • 绝对值倒数法:反应了实际值与标准值之间的偏差,偏差越小越好,对应的转化后的值越大,达到正向化的目的;
      这里写图片描述
    • 距离倒数法:跟绝对值倒数法类似
      这里写图片描述

    指标的无量纲化

    指标的无量纲化可以消除指标间量级不同的影响,可以使各个指标转化成可以直接加减的的数值,常用的消除定量指标无量纲化的方式如下
    1、阈值比较法
    这里写图片描述
    x0表示阈值,阈值设置的越大,评价指标的反应越迟钝,过小会过于灵敏,需根据实际需求确定,动态评价可以是被评价对象的历史最优水平,也可以是基期水平,若为计划完成情况,可以为计划数,对实际水平的评价可以是同类被评价对象的最好水平或平均水平,阈值大小是可以不断调整的。
    2、中心化也称均值化
    这里写图片描述
    此处的E可以是算术平均值,也可以是中位数、总数,根据实际需求来定。

    3、规格化,最常用的就是这种
    这里写图片描述
    无量纲化之后,数据范围0-1之间,表明了数据在全距中的相对位置。
    4、标准化
    这里写图片描述
    该方法适用于数据量较大的情况,样本数要在30以上,评价值在-1至1之间。
    5、比重法
    这里写图片描述这里写图片描述
    应用数据的结构指标来消除量纲的影响,前一种不适用于有负值的情况,后一种可以根据具体情形用于含负值的情况。
    以上均为直线型处理方法,也较为常用,其他分段处理的情况可以再扩展。

    指标权重设置

    主观赋权法
    1、主观赋权法,又称专家赋权法,这个方法还是不要轻易用吧,除非你就是权威或者咨询了权威。
    2、层次分析法(AHP),综合多个人的进行指标间重要性评价,将主客观结合在一起得出权重,之前有写过一个文档,见末尾模糊综合评价部分权重获取附带的链接。
    以上两种均为主观赋权法,也有比较偷懒不能明确指标间的重要性,采用等权法。
    客观赋权法
    基本思想是利用各指标间的相互关系或提供的信息量来确定,实际通过对原始数据经过数学处理获取权重,原始数据所包含的信息包括两种,一种是指标变异程度上的信息差异,一般通过指标的标准差或变异系数来反映,一种是指标间的相互影响程度,这种信息一般隐含在指标见相关关系矩阵中,以下几种赋权方法均是基于该两点进行的;
    1、变异系数法
    这里写图片描述,然后再进行归一化化处理,得到各个指标的权重。
    其中这里写图片描述表示标准差,公式就不写了,i表示指标,分母表示均值,标准差的计算中,30个以上的数据使用n,30个样本以内使用n-1,我们都知道标准差反应了数据的平稳性,由变异系数来反映数据所含信息量的大小;
    2、相关系数法
    相关系数法是根据指标间的相关程度来确定各个指标重要性程度的方法,一般来说某一个评价指标与指标体系中的其他指标信息重复越多,说明该指标的变动越能被其他指标的变动所解释,则该指标的变动越能够被其他指标的变动所解释,所以赋给其的权重越小。这个让我想起了多重共线性,也是一种筛选指标的方法之一。
    2.1 由于研究的是多指标综合评价,首先需构建相关系数矩阵R;
    这里写图片描述
    2.2 类似求矩阵的解,构造分块矩阵,求每个指标与其他指标的多元相关系数
    这里写图片描述
    获取每个指标的多元相关系数
    2.3 这里写图片描述,具体怎么算参考线性代数,利用计算软件如R语言,可直接求逆矩阵;
    2.4 这里写图片描述的值越大,说有与其他指标的相关性越大,其在综合评价中的作用越小,故确定权重时需进行正向处理,然后归一化。
    2.5 各指标权重如下
    这里写图片描述
    3、熵值法
    熵值法本质上和变异系数法相类似,通过指标的离散程度来划分权重,熵值越大所包含的信息量就越大,对综合评价的影响越大,熵值得概念最初来至于物理学方面,可以自行百度,发现不同方面的理论知识是可以相互融合的,物理学和数学以及社会学似乎都有些东西是可以互相借鉴的。
    3.1 指标的同向化,然后采用比重法将各个指标实际值转化为评价值
    这里写图片描述
    3.2 再计算每个指标的熵值
    这里写图片描述
    3.3 再计算差异系数dj=1-ej;
    3.4 最后对差异系数进行归一化处理,获得各指标权重
    这里写图片描述
    4、坎蒂雷赋权法
    坎蒂雷赋权法假设指标与的指标间的线性加权的综合指数之间的相关系数是成比例的,将与综合指数高度相关的指标赋予较高的权重,反之赋予较小的权重。基于该假设,指标的权重为矩阵RS的最大特征根所对应的特征向量W,对W进行归一化处理,作为各个指标的权重,R为p个指标的相关系数矩阵,S为指标标准差所组成的对角矩阵。(PS这个方法没有尝试过)
    主客观赋权方法的选择各有优劣,采用客观赋权法的结论有时候会与经验相悖,最好还是主客观结合比较合理。

    综合评价数值的综合方法

    前面讲了指标权重的获取及无量纲化处理,将多指标进行综合的方法主要有四大类,线性综合法、几何综合法、混合综合法和模型综合法,简单来说就是加权求和、加权几何平均、线性加权与几何综合结合、模型综合法较为复杂,各个指标与综合指数间的关系,除却上述三种较为简单的以外,还有各种复杂的函数和相关关系,通过某种关系得到综合评价数值,该关系必须为描述对象间的关系清晰,可以用合适的数学表达式表述。以下列举的几种综合评价的方法均属于该范畴。

    综合评价方法

    1. 综合评分法
      综合评分法是将各个指标转化为具体的分值后进行直接汇总的方式,主要是区间打分法和区间增量法;
      区间打分法
      区间打分法是划分等级,一般为5级,每个级别以2分递增,将指标按照划分标准进行打分,再基于确定好的指标权重,进行线性加权求和,得到综合得分。这种对于非连续型变量可适用,不受指标形式的限制,例如评价一个人的长相,评价一个人的长相处于ABCDE那个水平,每个级别对应的分数为10-8、8-6、6-4、4-2、2-0;
      区间增量法
      对各项指标的实际值,以同类指标的标准水平x0为基础进行打分,可取均值也可为其他值,每高出或低于标准水平,则分数对应提高或减少,程度由分母D决定,具体公式如下:
      这里写图片描述
      最后基于每个指标的得分,进行线性加权得到综合得分。
      缺点,存在评价对象区分不明显的现象。
    2. 综合指数法
      实际值与标准值进行对比后再使用线性综合汇总得到综合评分。
      这里写图片描述
      其中x0为标准值,需根据实际需求灵活设置,p表示评价指标个数,w表示权重,若把最小值设为0,则该公式等同于规格化后然后进行线性加权。
      缺点是存在线性替代的现象。
    3. 秩和比评价方法
      对各个指标或处理后的指标进行排秩,然后对秩进行加权综合处理,进行综合评价,但对于大数据量来说,成本较高。
      秩和比计算公式如下,就是上面那句话的公式版乘100:
      这里写图片描述
      需注意的是秩和比是越小越好。
    4. 功效系数法
      从公式中可以看出,实质上就是规格化后,增加两个调整参数,参数可以灵活设置,可以用来限定功效系数的取值范围。
      这里写图片描述
      然后计算功效系数的综合值,可以采用线性综合法,也可采用几何综合法。
      有一点不同于其他方法的权重设置,一般指标权重可以设置为任意实数,而功效系数法指标权重制定时,一般取1、2、3,1表示与其他评价指标相关的指标、2表示一般重要、3表示比较重要的指标,这个是在实践中总结的经验。
    5. 灰色关联度评价法
      适用于指标数较少,需要选定最优序列,实际运用中效果不错。
      基本原理如下,以前简单写下的:
      这里写图片描述
      需注意的是,最优序列的选择的根据实际需求来定,可以是某一行业标准值也可以是最大值什么的,记得逆向指标正向化,正向化的方法有很多种,这里没做说明,关联系数的公式构成其实跟规格化很像,只是采用的指数不同,分辨系数一般取0.5,可根据实际结果多次进行调整。另外计算出来的关联系数可能差距较小,这个可以根据个人需求做适当调整,调大两两之间的差距,且保持位势不变。
    6. 模糊综合评价
      不建议使用这种方法,不适用于实际操作,指标重要性找几个人帮你挨个评价,然后计算合理性,总觉得不可实行,去年刚刚毕业工作时写的,现在看着写的挺傻的,怎么能想到这么用,但是是模糊综合评价的一个应用。
      模糊综合评价应用
    7. 因子分析
      这种方式的在实际应用中可解释度相对较差,不直观。
    8. 其他降维方法
      毕业论文写得是phd降维,还有sir…
    展开全文
  • Python:多指标权重确定方法—熵值法 一、需准备的资料 1.一份excel的数据表格,列为指标(评价指标),行为城市(研究对象,也可以是年份,) city GDP:亿元x.1 人口(万)x.2 城镇化率(%)x.3 从业人员(万)x.4 ...

    Python:多指标权重确定方法—熵值法

    一、需准备的资料

    1.一份excel的数据表格,列为指标(评价指标),行为城市(研究对象,也可以是年份,)

    city GDP:亿元x.1 人口(万)x.2 城镇化率(%)x.3 从业人员(万)x.4 财政收入(亿元)x.5 固定资产投资(亿元)x.6 社会消费品零售总额(亿元)x.7 进出口总值(亿元)x.8 旅客吞吐量(万人次)x.9 货邮吞吐量(万吨)x.10
    广州x1. 21503 1449 86 20 5947 5919 9402 9714 6583 233
    深圳x2. 22438 1252 100 27 8624 5147 6016 28075 18142 115
    珠海x3. 2564 176 89 1 314 1662 1128 3001 921 3
    佛山x4. 9549 765 94 2 604 4265 3320 4358 4929 0.02
    惠州x5. 3830 477 68 2 941 2234 1363 3419 959 0.4
    香港x6. 22160 741 100 10 4772 4868 4461 71642 5665 493
    澳门x7. 3406 65 100 0.76 1180 9 66256 736 716 3

    2.数据表格保存在D:\5.python data的路径下,命名为szfqz.xls

    二、最终获得的资料

    1. 10个指标的权重

    city GDP:亿元x.1 人口(万)x.2 城镇化率(%)x.3 从业人员(万)x.4 财政收入(亿元)x.5 固定资产投资(亿元)x.6 社会消费品零售总额(亿元)x.7 进出口总值(亿元)x.8 旅客吞吐量(万人次)x.9 货邮吞吐量(万吨)x.10
    权重

    2. 7个城市航空竞争力的排名

    city 竞争力综合得分 排名
    广州x1.
    深圳x2.
    珠海x3.
    佛山x4.
    惠州x5.
    香港x6.
    澳门x7.

    三、计算步骤

    1.数据标准化处理(归一化)

    正向指标(数值越大越好): ,i=1,2,…,7;j=1,2,…,10负向指标(数值越小越好): ,i=1,2,…,7;j=1,2,…,10

    # 1、数据的归一化(可以最大最小归一,也可以标准化归一)
    import matplotlib.pyplot as plt
    import pandas as pd
    import numpy as np
    from xlwt import *
    from docx import Document
    from docx.shared import Inches
    plt.rcParams['font.sans-serif'] = ['microsoft YaHei']  # 显示中文微软雅黑字体
    plt.rcParams['axes.unicode_minus'] = False  # 避免负号显示为方块
    data = pd.read_excel('D:\\5.python data\\szfqz.xls')  # 把指定位置的excel表格数据导入python形成一个dataframe表格数据
    print(data)  # 观察导入的数据表格,如这种类型格式的数据才能导入计算
    del data[list(data)[0]]  # 第一列是城市,不参加求均值、标准差、变异系数的过程,所以先删掉
    print(data)
    GYH = (data-data.min())/(data.max()-data.min())  # 即实现简单标准化归一
    pd.set_option('display.max_columns', None)  # display.max_columns代表所有列,None代表所有行
    print(GYH)  # 归一之后的表格
    

    归一化后的表格
    在这里插入图片描述

    例如: x_34=(x_34-min⁡( x_.4))/(max⁡( x_.4)-min⁡( x_.4))=(1.1-0.76)/(27.56-0.76)=0.012687

    2.计算第i个城市第j项指标的比重:

    ,i=1,2,…,7;j=1,2,…,10

    # 2.计算第i个城市第j项指标的比重
    BZ = GYH/GYH.sum()  # 归一化之后表格中的值除以这一列的和得到新的比重表格
    SM2 = '下面是比重表格'  # 写入excel中的字符串,根据需要来进行修改
    excel = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n' + SM2 + '\n')  # “a”代表追加写入模式,encoding...代表写入的时候正确显示中文,\n代表换行
    BZ.to_csv("D:\\5.python data\\szfqz.csv", index=False, mode='a', encoding="utf_8_sig")
    

    运算结果:
    在这里插入图片描述

    例如: 在这里插入图片描述

    3.计算指标信息熵:

    i=1,2,…,7;j=1,2,…,10

    # 3. 计算指标信息熵
    df3 = -BZ*BZ.apply(np.log2)
    df3 = df3.sum()
    print(df3)
    
    
    

    结果:
    GDP:亿元x.1 2.076935
    人口(万)x.2 2.312275
    城镇化率(%)x.3 2.552376
    从业人员(万)x.4 1.784065
    财政收入(亿元)x.5 1.960672
    固定资产投资(亿元)x.6 2.465151
    社会消费品零售总额(亿元)x.7 2.116074
    进出口总值(亿元)x.8 1.604223
    旅客吞吐量(万人次)x.9 1.970791
    货邮吞吐量(万吨)x.10 1.432515

    4.计算信息熵冗余度

    在这里插入图片描述

    df4= 1-df3
    print(df4)
    

    结果:
    GDP:亿元x.1 -1.076935
    人口(万)x.2 -1.312275
    城镇化率(%)x.3 -1.552376
    从业人员(万)x.4 -0.784065
    财政收入(亿元)x.5 -0.960672
    固定资产投资(亿元)x.6 -1.465151
    社会消费品零售总额(亿元)x.7 -1.116074
    进出口总值(亿元)x.8 -0.604223
    旅客吞吐量(万人次)x.9 -0.970791
    货邮吞吐量(万吨)x.10 -0.432515

    5.计算指标权重

    在这里插入图片描述

    wj = df4/df4.sum()
    print('\n 指标权重表格 \n', wj)
    plt.bar(wj, color='G')
    # dataframe排序:根据某一列的值,对权重数据画条形图
    wj1 = wj.sort_values()  # 根据值的大小进行排序
    # df.sort_index(inplace=True)  # 根据索引值排序,inplace如果手动设定为 True,那么原数组就可以被替换。
    wj1.plot.barh()
    plot.show()
    # 把指标权重表格导入到CSV中
    SM3 = '下面是指标的权重表格'  # 写入CSV中的字符串,根据需要来进行修改
    CSV3 = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n\n' + SM3 + '\n')  # “a”代表追加写入模式,encoding...代表写入的时候正确显示中文,\n代表换行
    BZ.to_csv("D:\\5.python data\\szfqz.csv", index=False, mode='a', encoding="utf_8_sig")
    SM4 = '根据熵值法计算的权重数据,城市航空竞争力影响各因素中权重分别为XX指标占XX%,XX指标占X%,XX指标占X%,XX指标占X%,XX指标占X%。故我们在进行提升城市航空竞争力决策时,更多是考虑XX指标、XX指标等重要因素。这是从权重角度考虑的'  # 写入CSV中的字符串,根据需要来进行修改
    CSV4 = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n\n' + SM4 + '\n')
    

    权重表格:
    GDP:亿元x.1 0.104810
    人口(万)x.2 0.127714
    城镇化率(%)x.3 0.151082
    从业人员(万)x.4 0.076307
    财政收入(亿元)x.5 0.093495
    固定资产投资(亿元)x.6 0.142593
    社会消费品零售总额(亿元)x.7 0.108620
    进出口总值(亿元)x.8 0.058805
    旅客吞吐量(万人次)x.9 0.094480
    货邮吞吐量(万吨)x.10 0.042094

    在这里插入图片描述

    6.计算指标评价得分:

    在这里插入图片描述

    BZ_mat = np.mat(BZ)  # 因为涉及到两个dataframe的值相乘,需要先转化为矩阵,首先把权重转化为矩阵
    wj_mat = np.mat(wj)  # 把指标权重化为矩阵形式
    sij = BZ_mat*wj_mat.T  # BZ_mat是一个7X10的矩阵,wj_mat是一个1X10的矩阵,所以要转置
    sij = pd.DataFrame(sij)  # 把相乘后的矩阵结果转化为dataframe
    print('\n 各个城市的综合评分 \n', sij)
    # 把综合评分数据导入CSV中
    SM5 = '下面是城市的综合评分'  # 写入CSV中的字符串,根据需要来进行修改
    CSV5 = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n\n' + SM5 + '\n')  # “a”代表追加写入模式,encoding...代表写入的时候正确显示中文,\n代表换行
    sij.to_csv("D:\\5.python data\\szfqz.csv", index=False, mode='a', encoding="utf_8_sig")
    

    [[0.24918247]
    [0.29075881]
    [0.03917411]
    [0.11138891]
    [0.03647488]
    [0.23594778]
    [0.03707304]]

    最后附上所有代码

    # -*- encoding=utf-8 -*-
    # ==================================
    # 参考下面四篇文章
    # https://www.jianshu.com/p/468e2af86d59
    # https://www.jb51.net/article/188971.htm
    # https://blog.csdn.net/u013617144/article/details/79533868
    # https://www.jianshu.com/p/3e08e6f6e244
    # =====================================================
    # 1、数据的归一化(可以最大最小归一,也可以标准化归一)
    import matplotlib.pyplot as plt
    import pandas as pd
    import numpy as np
    plt.rcParams['font.sans-serif'] = ['microsoft YaHei']  # 显示中文微软雅黑字体
    plt.rcParams['axes.unicode_minus'] = False  # 避免负号显示为方块
    data = pd.read_excel('D:\\5.python data\\szfqz.xls')  # 把指定位置的excel表格数据导入python形成一个dataframe表格数据
    print('\n 原始数据 \n', data)  # 观察导入的数据表格,如这种类型格式的数据才能导入计算
    # 原始数据导入CSV中
    SM0 = '原始数据表格:'  # 把原始数据data显示在结果CSV中
    CSV0 = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n\n' + SM0 + '\n')
    data.to_csv("D:\\5.python data\\szfqz.csv", index=False, mode='a', encoding="utf_8_sig")
    # 原始数据的预处理
    del data[list(data)[0]]  # 第一列是城市,不参加求均值、标准差、变异系数的过程,所以先删掉
    print('\n 原始数据去掉第一列城市后的数据 \n', data)
    GYH = (data-data.min())/(data.max()-data.min())  # 即实现简单标准化归一
    pd.set_option('display.max_columns', None)  # display.max_columns代表显示所有列,None代表显示所有行
    print('\n 简单归一化形成的dataframe \n', GYH)  # 归一之后的表格
    # 把归一化之后的数据导入到CSV表格中
    SM1 = '下面是简单归一化之后的表格:'  # 在CSV中对归一化后数据的简单说明
    CSV1 = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n\n' + SM1+'\n')
    GYH.to_csv("D:\\5.python data\\szfqz.csv", index=False, mode='a', encoding="utf_8_sig")
    # BZGYH = (data-data.mean())/(data.std())  # data.mean()是平均值、data.std()是标准差
    
    # 2.计算第i个城市第j项指标的比重
    BZ = GYH/GYH.sum()  # 归一化之后表格中的值除以这一列的和得到新的比重表格
    # 把比重表格导入到CSV中
    # SM2 = '下面是比重表格'  # 写入CSV中的字符串,根据需要来进行修改
    # CSV2 = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n\n' + SM2 + '\n')  # “a”代表追加写入模式,encoding...代表写入的时候正确显示中文,\n代表换行
    # BZ.to_csv("D:\\5.python data\\szfqz.csv", index=False, mode='a', encoding="utf_8_sig")
    
    # 3. 计算指标信息熵
    df3 = -BZ*BZ.apply(np.log2)  #比重表格中的每个值乘以它以2为底的对数,并取负值,形成一个新的dataframe表格
    df3 = df3.sum()  # 每个指标代表的列求和
    # print('这是每个指标的信息熵+\n', df3)
    
    # 4.计算信息熵冗余度
    df4= 1-df3
    # print(df4)
    
    # 5.计算指标权重
    wj = df4/df4.sum()
    print('\n 指标权重表格 \n', wj)
    plt.bar(wj, color='G')
    # dataframe排序:根据某一列的值
    wj1 = wj.sort_values()  # 根据值的大小进行排序
    # df.sort_index(inplace=True)  # 根据索引值排序,inplace如果手动设定为 True,那么原数组就可以被替换。
    wj1.plot.barh()
    plt.show()
    # 把指标权重表格导入到CSV中
    SM3 = '下面是指标的权重表格'  # 写入CSV中的字符串,根据需要来进行修改
    CSV3 = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n\n' + SM3 + '\n')  # “a”代表追加写入模式,encoding...代表写入的时候正确显示中文,\n代表换行
    BZ.to_csv("D:\\5.python data\\szfqz.csv", index=False, mode='a', encoding="utf_8_sig")
    SM4 = '根据熵值法计算的权重数据,城市航空竞争力影响各因素中权重分别为XX指标占XX%,XX指标占X%,XX指标占X%,XX指标占X%,XX指标占X%。故我们在进行提升城市航空竞争力决策时,更多是考虑XX指标、XX指标等重要因素。这是从权重角度考虑的'  # 写入CSV中的字符串,根据需要来进行修改
    CSV4 = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n\n' + SM4 + '\n')
    
    # 6.计算城市评价得分
    BZ_mat = np.mat(BZ)  # 因为涉及到两个dataframe的值相乘,需要先转化为矩阵,首先把权重转化为矩阵
    wj_mat = np.mat(wj)  # 把指标权重化为矩阵形式
    sij = BZ_mat*wj_mat.T  # BZ_mat是一个7X10的矩阵,wj_mat是一个1X10的矩阵,所以要转置
    sij = pd.DataFrame(sij)  # 把相乘后的矩阵结果转化为dataframe
    print('\n 各个城市的综合评分 \n', sij)
    # 把综合评分数据导入CSV中
    SM5 = '下面是城市的综合评分'  # 写入CSV中的字符串,根据需要来进行修改
    CSV5 = open("D:\\5.python data\\szfqz.csv", "a", encoding="utf_8_sig").write('\n\n' + SM5 + '\n')  # “a”代表追加写入模式,encoding...代表写入的时候正确显示中文,\n代表换行
    sij.to_csv("D:\\5.python data\\szfqz.csv", index=False, mode='a', encoding="utf_8_sig")
    
    展开全文
  • 多表,多指标查询-full join使用

    千次阅读 2018-03-16 10:20:48
    有个需求要把三个不同表的同一维度的指标取出来。create table a_test(time varchar,kpi1 int);INSERT into a_test values('20180315',1);create table b_test(time varchar,kpi2 int,kpi3 int,kpi4 int);INSERT ...

    有个需求要把三个不同表的同一维度的指标取出来。

    create table a_test(time varchar,kpi1 int);
    INSERT into a_test values('20180315',1);
    create table b_test(time varchar,kpi2 int,kpi3 int,kpi4 int);
    INSERT into b_test values('20180315',2,3,4);
    INSERT into b_test values('20180316',5,6,7);
    create table c_test(time varchar,kpi5 int);
    INSERT into c_test values('20180315',8);

    INSERT into c_test values('20180317',18);

    a_test:


    b_test:


    c_test:


    合成d总指标表:


    简单连表,希望大家批评指正

    展开全文
  • 什么是单因素分析和因素分析?  单因素分析(monofactor analysis)是指在一个时间点上对某一变量的分析。目的在于描述事实。  因素分析亦称“因素指数体系”。指数体系的一种。用于说明一个现象总变动受...
  • 在进行某诊断方法的评估是,我们常常要用到...多指标联合分析时,只需将预测概率值加入到检验变量中即可。预测概率值计算方法见 https://blog.csdn.net/tuanzide5233/article/details/83240500      
  • 【数学建模】熵值法与多指标评价系统

    万次阅读 多人点赞 2017-01-26 22:22:19
    一.熵的基本概念熵最初是热力学中的一个概念,后来延伸到信息领域。熵是对系统无序度的度量,系统越无序,熵越大。熵的统计学定义是: 某个宏观状态的微观状态数,取对数lnWlnW 举个例子,抛10次硬币,...熵值法在
  • 一套交易系统,内涵多种指标,选择不同周期会提示不同的空趋势,建议半小时周期,另有周期空趋势面板和个货币空提示(个人建议货币提示最好以4小时及日周期出现买卖提示后确定空),不细说了,可以...
  • 文华财经软件指标公式战神空分水岭指标博易大师期货软件指标信管家指标压力:HHV(J,60),COLOR00FFFF;支撑:=LLV(AA,13);STICKLINE(J<=中期大底 AND 中-REF(中,1)>0 AND C>=O*0.99,1,88,3,0),COLOR0000FF;...
  • 目标指标

    千次阅读 2018-09-01 11:33:52
    目标性能评价指标:HV;GD;IGD;IGD+;IGD-NS;△p;R2;E,S测度; HV(超体积): GD(世代距离): IGD(反转世代距离): 最近很忙,有空再详细写
  • 技术指标\空数字位计算指标.mq4可计算出当天的空位。
  • HyperVolume目标评价指标

    千次阅读 2019-08-22 16:46:40
    Hypervolume 指标评价方法最早是由 Zitzler 等提出,它表示由解集中的个体与参考点在目标空间中所围成的超立方体的体积。 Hypervolume 指 标 评 价 方 法 是 一 种 与 Pareto 一致(Pareto-compliant)的评价方法,也...
  • 分类评估指标

    千次阅读 2019-04-26 20:16:44
    分类评估指标 2018年12月13日 15:58:17 时空守卫 阅读数:349 ...
  • HyperVolume目标评价指标概述

    千次阅读 2019-04-06 12:26:56
    Hypervolume 指标评价方法最早是由 Zitzler 等提出,它表示由解集中的个体与参考点在目标空间中所围成的超立方体的体积。 评价标准 Hypervolume 指 标 评 价 方 法 是 一 种 与 Pareto 一致(Pareto-compliant)的评价...
  • 标签分类的评价指标

    万次阅读 2018-01-24 19:03:22
    所以其评价指标分类的也有差异,本文将介绍几种评价指标。  1.Hamming loss(汉明损失),表示所有label中错误样本的比例,所以该值越小则网络的分类能力越强。计算公式如下。 其中:|D|表示样本总数,...
  • 标签分类问题的评价指标

    万次阅读 2018-09-09 09:39:04
    标签分类的评价指标 标签学习系统中的性能评估与经典的单标签学习问题中不同,在单标签问题中使用的经典度量标准包括准确率,Precision,Recall 和 F-measure.在标签学习中,评估会更加复杂,对于一个测试...
  • 元启发式目标优化的评判指标的matlab代码,包括spread\IGD\GD\RNI从多样性、收敛性等角度评价目标优化算法
  • 目标跟踪评价指标

    千次阅读 2019-01-06 12:51:00
    目标跟踪性能指标 为了更好理解这些性能指标,我们想象一下,理想的目标跟踪有哪些特性。首先,它能找全所有出现的目标。并且每个目标的位置要尽可能精确(注意目标的外形轮廓、运动方向、以及运动速度并不...
  • 文章目录0 本文简介1 二分类指标1.1 二分类时的错误类型1.2 不平衡的数据1.3 混淆矩阵1.4 考虑不确定性1.5 准确率-召回率曲线1.6 ROC与AUC2 分类指标3 回归指标4 在模型选择中使用评估指标 0 本文简介 我们使用...
  • 2.7 指标分类 a.原子指标(聚合) b.派生指标(筛选) 事务型指标:对业务活动进行衡量的指标。 存量型指标:对实体对象(如商品、会员)某些状态的统计。 c.衍生指标(逻辑计算) 复合型指标:在事务型...
  • 目标进化算法的性能指标总结 (一) 觉得有用的话,欢迎一起讨论相互学习~ 转载自: https://blog.csdn.net/qq_40458671/article/details/88601195 注:此次总结的只是目标性能评价指标中很少的一部分。 一、指标...
  • 二分类和分类问题的评价指标总结

    万次阅读 多人点赞 2019-07-09 18:51:55
    二分类评价指标 准确率(Accuracy) 评价分类问题的性能指标一般是分类准确率,即对于给定的数据,分类正确的样本数占总样本数的比例。 注意:准确率这一指标在Unbalanced数据集上的表现很差,因为如果我们的正负...
  • 效能评估指标体系构建

    千次阅读 2019-03-08 11:21:01
    目录效能指标的选择效能指标的量化方法多指标综合评估指标权重确定方法参考文献 效能指标的选择 选择效能指标时 , 应考虑随机性 、多尺度 、不确定性和局限性等特点 效能指标一般应符合以下要求 : ①对装备系统的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 494,825
精华内容 197,930
关键字:

多指标