评价模型


评价模型

评价类问题:对于同一个目标不同方案或者因素之间的比较问题

熵权法

在进行评价之前,我们需要量化用于评价的指标

量化的指标必须满足以下的条件:

  1. 指标类型必须相同
  2. 指标量纲必须相同

量化过程称为赋权,即重新给每个指标生成一个权值

为了客观的给指标赋权,可以利用熵权法

熵权法的过程

Step 1: 正向化,归一化指标
Step 2: 计算指标熵值
Step 3: 计算指标权重系数

指标类型与正向化

一般指标分为四类:

极大型指标:越大越好的指标,不用转化

极小型指标:越小越好的指标。正向化时可以取相反数,若全部为正数则也可以取倒数

区间型指标:在某个区间内是最好的。正向化遵循如下规则:
$$
x_{new}=\begin{cases}
1-\fracNaN&x < a\\
1&a \le x \le b\\
1-\fracNaN & x > b
\end{cases}
$$
中值型指标:越接近某个值 $m$ 越好,正向化时遵循如下规则:
$$
x_{new}=1-\frac{|x-m|}{max(|x-m|)}
$$
其中 $x_{max}$ 表示数据集中指标的最大值

越远离某个值越好时,$x_{new}=\frac{|x-m|}{max(|x-m|)}$

在正向化完成时,为了消除量纲的影响,要对所有的指标进行归一化,一般有三种方法:

$min-max$法:遵循 $x_{new}=\frac{x-x_{min}}{x_{max}-x_{min}}$ 规约;保留了数据原本的分布特征

$sum$ 法:遵循 $x_{new}=\frac{x}{sum(X)}$ 规约;保留了数据原本的分布特征

$Z-score$法:遵循 $Z=\frac{X-u}{\sigma}$ 规约,其中 $u$ 为均值,$\sigma$ 为方差;将数据转变成正态分布

写作

简介:

​ 熵权法(Entropy Weight Method, EWM)是一种基于客观原则的权重赋值方法,其核心理念源自信息论。该方法通过评估各指标数据的分散程度,计算并修正各指标的熵权。通常情况下,某一指标的信息熵值较低,表明该指标的数值变异程度较大,能够提供更丰富的信息,因此在综合评价中发挥的作用更为显著,其权重相应增大;反之,若某一指标的信息熵值较高,则说明该指标的数值变异程度较小,信息贡献有限,从而在综合评价中的影响力减弱,其权重亦随之降低。

熵权法算法过程(latex):

\nonl \textbf{Step 1:} 对所有指标进行正向化和标准化\\
\nonl \textbf{Step 2:} 根据熵值计算公式计算信息熵\\
\nonl \textbf{Step 3:} 利用信息熵计算每个指标的权重系数

熵权法代码(Python):

# data为矩阵,每一列代表一个指标所有的数据
def entropyWeight(data):
  data = np.array(data)
  # 归一化
  P = data / data.sum(axis=0)
  # 计算熵值
  E = np.nansum(-P * np.log(P+1e-10) / np.log(len(data)), axis=0)
  # 计算权系数
  return (1 - E) / (1 - E).sum()

Topsis 分析法

Topsis分析法用于科学计算每个决策的优劣程度

Topsis算法的过程

Step 1: 计算正负理想解
Step 2: 计算每个解到正负理想解的距离
Step 3: 计算每个解的相似度并排序

正负理想解

正负理想解计算:
$$
Z^+=max(z_j)\
Z^-=min(z_j)
$$
即取出每个指标的最大值构成正理想解,每个指标的最小值构成负理想解

距离

距离的计算有以下几种:

  1. 余弦距离:

$$
cos(x,y)=\frac{x^Ty}{|x||y|}
$$

  1. 欧几里得距离:

$$
Euclidean (x,y) =\sqrt{\sum_{i=1}^{n}(x_i-y_i)^2}
$$

  1. 曼哈顿距离:

$$
Manhaton(x,y)=\sum_{i=1}^{n}|x_i-y_i|
$$

计算到正负理想解的距离:
$$
D^+i=\sqrt{\sum{j=1}^{n}w_i(z_{ij}-Z^+j)}\
D^-i=\sqrt{\sum{j=1}^{n}w_i(z
{ij}-Z^-_j)}\
$$

相似度

与正理想解的相似度
$$
W_i=\frac{D^-_i}{D^-_i+D^+_i}
$$
与负理想解的相似度
$$
W_i=\frac{D^+_i}{D^-_i+D^+_i}
$$

写作

Topsis简介:

​ TOPSIS(Technique for Order Preference by Similarity to Ideal Solution)分析法是一种广泛应用的多属性决策支持工具,旨在充分挖掘原始数据所蕴含的信息,以全面反映各评价方案之间的相对差异。其基本流程包括计算每个方案与理想解和负理想解之间的距离,以此评估方案的优劣。理想解代表了各项指标的最优表现,而负理想解则对应于各项指标的最劣表现。在此框架下,距离理想解越近的方案被视为表现越优,而距离负理想解越远的方案则被认为表现越差,以此作为评价优劣的标准。

Topsis伪代码:

\nonl \textbf{Step 1:} 导入所有指标对应的数据,构造初始矩阵\\
\nonl \textbf{Step 2:} 计算最优和最劣方案\\
\nonl \textbf{Step 3:} 计算各评价方案的最优方案和最劣方案的相似程度\\
\nonl \textbf{Step 4:} 计算各评价方案的最优方案的贴近度\\
\nonl \textbf{Step 5:} 根据贴近度大小进行排序

Topsis代码(Python):

# A1为正向化与归一化后的数据矩阵
# w为对应列数据的权重
# TOPSIS方法函数
def TOPSIS(A1,w):

    Z=np.array(A1)

    #计算正、负理想解

    Zmax=np.ones([1,A1.shape[1]],float)

    Zmin=np.ones([1,A1.shape[1]],float)

    for j in range(A1.shape[1]):

        if j==1:

          Zmax[0,j]=min(Z[:,j])

          Zmin[0,j]=max(Z[:,j])

        else:

          Zmax[0,j]=max(Z[:,j])

          Zmin[0,j]=min(Z[:,j])

  #计算各个方案的相对贴近度C

    C=[]

    for i in range(A1.shape[0]):

          Smax=np.sqrt(np.sum(w*np.square(Z[i,:]-Zmax[0,:])))

          Smin=np.sqrt(np.sum(w*np.square(Z[i,:]-Zmin[0,:])))

          C.append(Smin/(Smax+Smin))

    C=pd.DataFrame(C)

    return C

文章作者: Paramec1um
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Paramec1um !
评论
  目录