首页 > 其他分享 >【综合评价方法】常见综合评价方法及其实现

【综合评价方法】常见综合评价方法及其实现

时间:2024-08-26 19:36:55浏览次数:8  
标签:le 对象 max 标准化 指标 评价 方法 综合 left

@

目录


1.数据预处理

1.1 区分指标的属性

  1. 正向指标
  2. 负向指标
  3. 中间型指标
  4. 区间型指标

1.2 指标正向化

1.2.1 负向指标

负向指标的正向化方法,又称为指标反转方法,是指将原本反映负面情况的指标转换为反映正面情况的指标,以便于比较及分析。该方法广泛应用于评估指标、市场研究、数据分析等领域。

具体来说,负向指标的正向化方法可以分为以下几个步骤:

  1. 确定要进行正向化的指标
  2. 确定负向指标需要进行什么样的正向化,常见的方法包括倒数、对数、绝对值等
  3. 进行指标正向化的计算公式,根据不同的正向化方法而定
  4. 对正向化后的指标进行归一化处理,使其可比较性更强

下面介绍一种负向指标的正向化方法。

对于一组负向指标数据:

$$
y_{1},y_{2},...,y_{n}
$$

取出最大值:

$$
y_{max}=\max\left { y_{1},y_{2},...,y_{n} \right }
$$

然后利用这个值逐个更新$y_{i}$ :

$$
y_{i}:=y_{max}-y_{i}
$$

1.2.2 中间指标

中间型指标是指指标的值不要太小也不要太大,取某个特定值最好,如水体的ph值最好为7。下面介绍一种中间型指标的正向化方法:

对于一组中间型指标数据:

$$
y_{1},y_{2},...,y_{n}
$$

先拟定一个最优值:

$$
y_{best}
$$

然后计算这组数据中每个数据到这个最优值的距离,取出最大的那个:

$$
M=\max\left { \left | y_{1} -y_{best}\right |, \left | y_{2} -y_{best}\right | , ... , \left | y_{n} -y_{best}\right | \right }
$$

然后利用这个值逐个更新$y_{i}$:

$$
y_{i}:=1-\frac{ \left | y_{i} -y_{best}\right | }{ M }
$$

1.2.3 区间指标

区间型指标是指,指标值落在某个区间最好,例如,人的体温在$36{\circ}C$到$37C$最好。下面介绍一种区间型指标的正向化方法:

对于一组区间型指标数据:

$$
y_{1},y_{2},...,y_{n}
$$

先拟定一个最优区间:

$$
\left( a,b \right)
$$

取出这组数据的最大值和最小值:

$$
y_{max}=\max\left { y_{1},y_{2},...,y_{n} \right } ,
y_{min}=\min\left { y_{1},y_{2},...,y_{n} \right }
$$

然后计算一个值$M$:

$$
M=\max\left { a-y_{min},y_{max}-b \right }
$$

然后用如下公式逐个更新$y_{i}$:

$$
y_{i}:=
\left{\begin{matrix}
1-\frac{a-y_{i}}{a-y_{min}},y_{min} \le y_{i} < a \
1,a \le y_{i} \le b \
1-\frac{y_{i}-b}{y_{max}-b},b < y_{i} \le y_{max}
\end{matrix}\right.
$$

用如下这个梯形图表示更为直观:
在这里插入图片描述

1.3 标准化

1.3.1 Z-score 标准化

对于样本 $X$ 中的每个特征:

$$
X_{normalized} = \frac{(X - \mu)}{\sigma}
$$

其中,$\mu$ 是该特征的平均值,$\sigma$ 是该特征的标准差。

1.3.2 Min-max 标准化

对于样本 $X$ 中的每个特征:

$$
X_{normalized} = \frac{(X - X_{min})}{(X_{max} - X_{min})}
$$

其中,$X_{min}$ 是该特征的最小值,$X_{max}$ 是该特征的最大值。

1.3.3 Robust 标准化

对于样本 $X$ 中的每个特征:

$$
X_{normalized} = \frac{(X - median)}{IQR/2}
$$

其中,median 是该特征的中位数,IQR 是四分位数范围(即上四分位数和下四分位数之差)。

1.3.4 归一化

对于样本 $X$ 中的每个特征:

$$
X_{normalized} = \frac{X}{\sqrt{\sum_{i=1}{n}x_i2}}
$$

其中,$n$ 是该样本的特征数量。

2.模糊评价法(主观)(not recommended)

  • 适用于未给出指标的评价问题

3.层次分析法(主观)(not recommended)

  • 适用于未给出指标的评价问题

4.PCA主成分分析法(客观)

主成分分析法是一种常用的无监督降维技术,它将原始数据投影到一个新的低维度空间中,以便保留数据的最大方差。通过选择适当数量的主成分,我们可以捕捉到数据中最重要的信息,并且减少原始数据的维度。

4.1 步骤

  1. 数据正向化、标准化:假设我们有$p$维度的样本数据$\boldsymbol{X}=(\boldsymbol{x}_1, \boldsymbol{x}_2, ..., \boldsymbol{x}_n)$,每一维度的数据均值为0,标准差为1。这一步的目的是为了除去维度间的量纲影响。

$$
\boldsymbol{x}_j' = \frac{\boldsymbol{x}_j-\bar{\boldsymbol{x}}}{\sigma_j} (j=1,2,...,p)
$$

其中,$\bar{\boldsymbol{x}}$是所有样本数据的均值,$\sigma_j$是第$j$维度的标准差。

  1. 计算协方差矩阵:计算标准化后数据的协方差矩阵。协方差矩阵描述了不同特征之间的相关性。

    公式:

    $$
    \Sigma = \frac{1}{n-1}(X-\bar{X})^T(X-\bar{X})
    $$

    其中,$\Sigma$ 是协方差矩阵,$X$ 是标准化后的数据矩阵,$\bar{X}$ 是每个特征的均值,$n$ 是样本数量。

  2. 计算特征值和特征向量:对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。特征向量表示了数据在新的特征空间中的方向。

  3. 选择主成分:按照特征值的大小对特征向量进行排序,选择前k个特征向量作为主成分。这些主成分对应的特征值较大,包含了较多的原始数据信息。

  4. 计算投影:将原始数据投影到选定的主成分上,得到降维后的数据。

    公式:

    $$
    Y = X_{\text{std}}W
    $$

    其中,$Y$ 是降维后的数据矩阵,$X_{\text{std}}$ 是标准化后的数据矩阵,$W$ 是前k个特征向量组成的投影矩阵。

  5. 可选:重构数据:根据降维后的数据和投影矩阵,可以通过逆变换将数据重新映射到原始空间中。

    公式:

    $$
    X_{\text{reconstructed}} = YW^T
    $$

    其中,$X_{\text{reconstructed}}$ 是重构后的数据矩阵。

4.2 实现

>>> import numpy as np
>>> from sklearn.decomposition import PCA

# 输入待降维数据 (5 * 6) 矩阵,6个维度,5个样本值
>>> A = np.array([[84,65,61,72,79,81],[64,77,77,76,55,70],[65,67,63,49,57,67],[74,80,69,75,63,74],[84,74,70,80,74,82]])
>>> print(A)
[[84 65 61 72 79 81]
 [64 77 77 76 55 70]
 [65 67 63 49 57 67]
 [74 80 69 75 63 74]
 [84 74 70 80 74 82]]
 
# 直接使用PCA进行降维
>>> pca = PCA(n_components=2) #降到 2 维
>>> pca.fit(A)
PCA(n_components=2)
>>> pca.transform(A) # 降维后的结果
array([[-16.14860528, -12.48396235],
       [ 10.61676743,  15.67317428],
       [ 23.40212697, -13.607117  ],
       [ -0.43966353,   7.77054621],
       [-17.43062559,   2.64735885]])
>>> pca.explained_variance_ratio_ # 降维后的各主成分的方差值占总方差值的比例,即方差贡献率
array([0.63506778, 0.339022  ])
>>> pca.explained_variance_ # 降维后的各主成分的方差值
array([306.29319053, 163.51030959])

5.Topsis方法(客观)

Topsis综合评价方法是一种多维决策分析方法,适用于多种复杂的评估和决策场景中。为了更清楚地解释,我将对每个步骤进行更详细的说明。

首先,评估方案需要同时考虑多个评价指标,这些指标可能相互矛盾或者有不同的权重,需要通过一定的数学模型将其标准化处理,并根据相对重要性进行加权计算。Topsis方法正是基于这个框架,采用了以下的计算方法来求出每个方案在各个指标上的综合得分。

5.1 正向化

详见1.2

5.2 标准化

一般使用1.3.4的归一方法。

假设有n个方案(或实体),每个方案有m个不同的评价指标,在不同的评价指标间进行综合评估。对于每一个方案i的j指标可以通过以下的计算得到其标准化后的数值v(i,j):

$$
v_{ij} = \frac{x_{ij}}{\sqrt{\sum_{i=1}n{x2_{ij}}}}
$$

其中 $x_{ij}$ 表示第i个方案的第j项指标原始数据。标准化处理将不同维度的数据范围统一到0-1之间,并且会消除数据量级之间的影响。

5.3 计算正负理想解

  • 如果没有进行正向化:

对于利益类指标,如价格、收益等,需要最大化;而对于成本类指标,如成本、负债等,需要最小化。可以分别计算出每一个指标在给定n个方案中的最大值和最小值。设 第j项指标的正理想解为$v^{+}{j}$, 负理想解为$v^{-}$。具体的计算方式如下所示:

对于利益类指标:

$$
v^{+}{j} = \max{{v| i = 1, 2, \cdots, n}}
$$

$$
v^{-}{j} = \min{{v| i = 1, 2, \cdots, n}}
$$

对于成本类指标:

$$
v^{+}{j} = \min{{v| i = 1, 2, \cdots, n}}
$$

$$
v^{-}{j} = \max{{v| i = 1, 2, \cdots, n}}
$$

  • 如果进行了正向化:

取每个列向量的最大值即可。

5.4 计算每个方案与正负理想解的距离

在标准化之后,可以对每一个方案与正负理想解之间的距离进行计算。设第i个方案到正理想解的距离为$S_{i}^{+}$, 到负理想解的距离为$S_{i}^{-}$。

$$
S^{+}{i} = \sqrt{\summ{(v_{ij}-v_{j})}^{2}}
$$

$$
S^{-}{i} = \sqrt{\summ{(v_{ij}-v_{j})}^{2}}
$$

其中,$m$为指标维度的数量。 $S{+}_{i}$表示方案$i$与正理想解之间的距离,$S_{i}$表示方案$i$与负理想解之间的距离,值越小越接近理想解,因此可以把正负理想解的范围展开到$[0, 1]$之间作为检验指标的依据.

5.5 计算综合得分

最终的综合得分$s_i$可以通过权衡每个指标从而得到,如下所示:

$$
s_{i} = \frac{S{-}_{i}}{S_{i}+S_{i}^{-}}
$$

其中,$S_{i}{+}$表示第$i$个方案与正理想解的距离,$S_{i}$表示第$i$个方案与负理想解的距离。综合得分$s_i$可以看作是评价指标的加权平均值。当综合得分越高时,则表示第$i$个方案越更优。

下面举一个例子来说明如何使用这种方法进行决策。例如,一家公司想在考虑多个指标情况下选择最适合的机器学习平台。他们的评价指标包括特性得分(例如各种模型类型的大小、精度等),服务质量得分(包括易用性、响应时间、数据隐私度,等等),价格得分等。我们假设有三个候选机器学习平台,评价指标如下表所示:

候选平台 特性得分(0 - 1) 服务质量得分(0 - 1) 价格得分(0 - 1)
平台 A 0.8 0.6 0.7
平台 B 0.6 0.8 0.6
平台 C 0.7 0.5 0.8

使用 Topsis 方法来计算得到每个平台的得分:

对每个评价指标进行标准化,计算符合每个标准化指标的正负理想解,计算每个平台到理想解的距离:

候选平台 特性得分 服务质量得分 价格得分 正理想解 负理想解 到正理想解的距离 到负理想解的距离 综合得分
平台 A 0.8 0.6 0.7 0.8 0.5 0.2236 0.3606 0.3825
平台 B 0.6 0.8 0.6 0.8 0.5 0.2828 0.2828 0.5000
平台 C 0.7 0.5 0.8 0.8 0.5 0.2449 0.3317 0.4255

通过计算得出, 平台 B 的综合得分最高,因此可以推荐该平台作为其机器学习的首选选项。

6.灰色关联分析法(客观)

灰色关联度分析是一种比较常用的多因素综合评价方法,它可以用于确定不同的对象与某一参考对象之间关联度。如果我们把这个参考对象设置为理想中的完美对象,那么灰色关联分析法就可以分析出不同的对象的优劣。

具体实施步骤如下:

6.1 收集数据

建立评价指标矩阵,其中每行对应一个因素(评价对象),每列对应一个评价指标。评价指标可以是数量指标,也可以是质量(定性)指标,但是指标之间的具体意义必须相同。设评价指标矩阵为 $X$,其中 $x_{ij}$ 表示第 $i$ 个因素对第 $j$ 个指标的值。

我们先给出一个例子,某核心企业待选供应商的指标评价有关数据:

评价指标 对象1 对象2 对象3 对象4 对象5 对象6
产品质量 0.83 0.90 0.99 0.92 0.87 0.95
产品价格(元) 326 295 340 287 310 303
地理位置(千米) 21 38 25 19 27 10
售后服务(小时) 3.2 2.4 2.2 2.0 0.9 1.7
技术水平 0.20 0.25 0.12 0.33 0.20 0.09
经济效益 0.15 0.20 0.14 0.09 0.15 0.17
供应能力(件) 250 180 300 200 150 175
市场影响度 0.23 0.15 0.27 0.30 0.18 0.26
交货情况 0.87 0.95 0.99 0.89 0.82 0.95

6.2 正向化和标准化并建立参考对象

对评价指标矩阵进行正向化和标准化,将各项指标转化为同一量纲下的评价指标值。其中标准化方法一般采用Min-max标准化。详见1.2与1.3。

在上面这个例子中,产品价格、地理位置、售后服务是负向指标,其他都是正向指标。预处理后的数据如下:

评价指标 对象1 对象2 对象3 对象4 对象5 对象6
指标1 0 0.4375 1 0.5625 0.25 0.75
指标2 0.2642 0.8491 0 1 0.566 0.6981
指标3 0.6071 0 0.4643 0.6786 0.3929 1
指标4 0 0.3478 0.4348 0.5217 1 0.6522
指标5 0.4583 0.6667 0.125 1 0.4583 0
指标6 0.5455 1 0.4545 0 0.5455 0.7273
指标7 0.6667 0.2 1 0.3333 0 0.1667
指标8 0.5333 0 0.8 1 0.2 0.7333
指标9 0.2941 0.7647 1 0.4118 0 0.7059

建立参考对象,如下:

评价指标 对象1 对象2 对象3 对象4 对象5 对象6 参考对象
指标1 0 0.4375 1 0.5625 0.25 0.75 1
指标2 0.2642 0.8491 0 1 0.566 0.6981 1
指标3 0.6071 0 0.4643 0.6786 0.3929 1 1
指标4 0 0.3478 0.4348 0.5217 1 0.6522 1
指标5 0.4583 0.6667 0.125 1 0.4583 0 1
指标6 0.5455 1 0.4545 0 0.5455 0.7273 1
指标7 0.6667 0.2 1 0.3333 0 0.1667 1
指标8 0.5333 0 0.8 1 0.2 0.7333 1
指标9 0.2941 0.7647 1 0.4118 0 0.7059 1

由于此处进行了正向化处理和Min-max标准化,因此,此处的参考对象的各项指标只要对每一行都取最大值即可。

6.3 确定权重

确定各个指标对应的权重。但暂时不对指标矩阵的每一行进行加权处理。可用层次分析法确定这些权值。

$$
\omega =\left [ \omega _{1} ,\omega _{2} ,...,\omega {n}\right ] ,\sum^{n} \omega _{i}=1
$$

这些权值将在计算灰色关联度的时候用到。

6.4 计算灰色关联系数

我们记$x_{i}$为对象$i$,参考对象为$x_{0}$。$x_{i}$与$x_{0}$都有m个指标,我们需要求出它们在第k个指标上的关联系数。关联系数越大,代表这个实际对象越贴近于参考对象。对于n个实际对象,m个指标,$x_{i}(j)$表示实际对象i的第j个指标的值,那么,$x_{i}$与$x_{0}$在第k个指标上的关联系数的计算公式如下:

$$
\xi {i}(k)=\frac{
\min
\min_{1\le t \le m} \left | x_{0}(t)-x_{s}(t) \right | \
+\rho \max_{1\le s \le n} \max_{1\le t \le m} \left | x_{0}(t)-x_{s}(t) \right |
}{
\left | x_{0}(k)-x_{i}(k) \right | \
+\rho \max_{1\le s \le n} \max_{1\le t \le m} \left | x_{0}(t)-x_{s}(t) \right |
}
$$

其中,$\min_{1\le s \le n} \min_{1\le t \le m} \left | x_{0}(t)-x_{s}(t) \right |$称为两极最小差,$\max_{1\le s \le n} \max_{1\le t \le m} \left | x_{0}(t)-x_{s}(t) \right |$称为两级最大差,$\rho$称为分辨系数

两级最小差和两级最大差的计算过程,就是把指标矩阵的各个值与参考对象进行比较的过程。分辨系数$\rho$越大,分辨率就越大;$\rho$越小,分辨率就越小

在上面的例子中,我们可以算出两级最小差为0,两级最大差为1。这是由于使用了Min-max标准化方法而导致的。

6.5 计算灰色加权关联度并排序

灰色加权关联度就是每个对象的最终得分,它采用如下公式计算:

$$
r_{i}=\sum_{k=1}^{n}w_{i}\xi _{i}(k)
$$

其中,$r_{i}$ 表示待评价对象的得分,$w_{i}$是6.3中确定的权值。

最终按照各个评价对象的得分进行排序,得分高表示与各项指标的关系越密切,也就越好。

本文由博客一文多发平台 OpenWrite 发布!

标签:le,对象,max,标准化,指标,评价,方法,综合,left
From: https://www.cnblogs.com/UnderTurrets/p/18381516

相关文章

  • 如何禁止电脑上某个软件运行?推荐4种好用的方法
    我们有时需要禁止某些软件的运行,以保护系统安全、提升工作效率或防止不必要的干扰。今天,就为大家推荐四种简单又实用的方法来禁止电脑上某个软件的运行。一、利用组策略编辑器(适用于Windows系统)Windows系统的组策略编辑器是一个强大的管理工具,通过它可以轻松限制特定软件的......
  • 《欧洲卡车模拟2》游戏启动时闪退提示缺少Core_ets2mp.dll文件怎么解决?欧卡2游戏崩溃
    在玩《欧洲卡车模拟2》时,游戏启动时出现闪退,并提示缺少Core_ets2mp.dll文件,这着实令人困扰。玩家可以尝试重新安装游戏、更新驱动程序,或者从可靠来源获取该文件并正确放置,以解决这一问题。本篇将为大家带来《欧洲卡车模拟2》游戏启动时闪退提示缺少Core_ets2mp.dll文件怎么解决......
  • 《魔兽世界》游戏崩溃弹窗“找不到gamede.dll文件”该怎么办?魔兽世界游戏闪退提示缺少
    在玩《魔兽世界》时,游戏崩溃并弹窗提示“找不到gamede.dll文件”,这十分令人头疼。玩家可以尝试重新安装游戏、检查文件完整性,或者在网上查找可靠的该文件资源进行补充,以此来解决这个棘手的问题。本篇将为大家带来《魔兽世界》游戏崩溃弹窗“找不到gamede.dll文件”该怎么办的内......
  • 在 C/C++ 中使用 MY_API 宏封装动态库:一种高效的跨平台接口实现方法
    目录1.背景介绍2.MY_API宏的定义3.使用MY_API宏封装动态库4.编译和使用动态库5.结论在现代软件开发中,封装动态库(DynamicLinkLibrary,DLL)以提供可复用的功能模块已经成为一种常见的实践。然而,在开发跨平台库时,由于不同操作系统对于动态库的导出和导入机制有......
  • 方法、方法的调用、方法的重载
    方法修饰符返回值类型方法名(参数类型参数名){方法体return返回值}方法调用publicstaticvoidmain(String[]args){intmax=max(26,18);//调用max方法}publicstaticintmax(inta,intb){//注意参数类型......
  • ATF:一种用于在存在无关信息时增强LLM推理的分析到过滤提示方法
    在过去的几年里,随着大型语言模型(LLM)的出现,人工智能领域取得了巨大的发展。这些模型在众多应用中,尤其是在复杂推理任务中,展现出强大的工具作用。通过对大规模数据集的训练,LLM能够理解和生成类似人类的文本,从回答问题到进行有意义的对话。然而,一个重大障碍依然存在——LLM在处理......
  • 【JavaScript】String常用方法
    String的常用方法长度s.length拼接字符串s.concat('内容','可拼接多个'),或者使用+号链接符,返回一个新字符串位置查找字符串方法;返回字符​查找某位置上的字符s.charAt(下标)返回该下标位置上的字符,未找到返回空白​返回某位置上的字符s[下标](只读,不能赋值),不支......
  • 数模国赛冲刺 | 数据预处理方法合集(特征工程、数据降维、数据划分、数据平衡)
    ​数据预处理方法合集(特征工程、数据降维、数据划分、数据平衡)本文继续介绍数据预处理中的特征工程、数据降维、数据划分、数据平衡的内容,接下来我们将详细地介绍具体的方法,文末可获得预处理方法合集PDF!目录特征工程特征选择(FeatureSelection)特征提取数据降维线性降......
  • 数模国赛冲刺 | 数据预处理方法合集(数据清洗、数据变换与数据编码)
    ​数据预处理方法合集(数据清洗、数据变换与数据编码)数据预处理是数据科学和机器学习项目成功的基础步骤。通过适当的数据预处理,可以确保数据的质量、提升模型的性能,并为后续的建模和分析打下坚实的基础。忽视数据预处理可能导致模型训练失败或性能不佳,甚至得出错误的结论。因......
  • 已解决org.xml.sax.SAXNotRecognizedException异常的正确解决方法,亲测有效!!!
    要解决org.xml.sax.SAXNotRecognizedException异常,通常涉及以下步骤。这种异常通常是由于SAX解析器不识别或不支持某些特性或属性导致的。以下是具体的解决方案:1.确认属性或特性的正确性确保你设置的属性或特性名称是正确的,并且该解析器确实支持。例如:SAXParserFact......