TOPSIS模版/灰色关联度分析
step1 评价矩阵标准化+归一化
已有正向化处理之后的矩阵 $\begin{aligned}& X=\begin{bmatrix}x_{11}&x_{12}&\cdots&x_{1m}\\x_{21}&x_{22}&\cdots&x_{2m}\\\varvdots&\varvdots&\ddots&\varvdots\\x_{21}&\cdots&x_{2m}\end{bmatrix}\end{aligned}$
设标准化的矩阵为Z,那么Z中的每一个元素:$\tilde{z}_{ij}=\frac{x_{ij}}{\sqrt{\sum_{i=1}^nx_{ij}^2}}$
得到标准化矩阵 $$\tilde{Z}=\begin{bmatrix}\tilde{z}_{11}&\tilde{z}_{12}&\cdots&\tilde{z}_{1m}\\\tilde{z}_{21}&\tilde{z}_{22}&\cdots&\tilde{z}_{2m}\\\vdots&\vdots&\ddots&\vdots\\\tilde{z}_{n1}&\tilde{z}_{n2}&\cdots&\tilde{z}_{nm}\end{bmatrix}$$
标准化之后记得 $$\frac{x-\min}{\max-\min}$$ 进行归一化
step2 用优劣解打分
上一步得到了矩阵 $$Z=\begin{bmatrix}z_{11}&z_{12}&\cdots&z_{1m}\\z_{21}&z_{22}&\cdots&z_{2m}\\\varvdots&\varvdots&\ddots&\varvdots\\z_{n1}&z_{n2}&\cdots&z_{nm}\end{bmatrix}$$
寻找每一个评价指标中出现的最大值与最小值,写成向量的形式,也就是
$$Z^+=(Z_1^+,Z_2^+,\cdotp\cdotp\cdotp,Z_m^+)=(\max\{z_{11},z_{21},\cdotp\cdotp\cdotp,z_{n1}\},\max\{z_{12},z_{22},\cdotp\cdotp\cdotp,z_{n2}\},\cdotp\cdotp\cdotp,\max\{z_{1m},z_{2m},\cdotp\cdotp\cdotp,z_{nm}\})\\Z^-=(Z_1^-,Z_2^-,\cdotp\cdotp\cdotp,Z_m^-)=(\min\left\{z_{11},z_{21},\cdotp\cdotp\cdotp,z_{n1}\right\},\min\left\{z_{12},z_{22},\cdotp\cdotp\cdotp,z_{n2}\right\},\cdotp\cdotp\cdotp,\min\left\{z_{1m},z_{2m},\cdotp\cdotp\cdotp,z_{nm}\right\})$$
遍历每一个评价对象,计算它每个指标相对于所有对象中该指标最大值的距离,$D_i^+=\sqrt{\sum_{j=1}^m(Z_j^+-z_{ij})^2}(i=1,2,...,n)$,
同样的计算与最小值的距离$D_i^-=\sqrt{\sum_{j=1}^m\left(Z_j^--z_{ij}\right)^2}$,
然后取$S_i=\frac{D_i^-}{D_i^++D_i^-}$作为该对象得分。
对比

灰色关联度分析
step1确定评价序列
- 参考数列(母序列):能反映系统行为特征的数据序列.记作x0
- 比较数列:子序列影响系统行为的因素组成的数据序列.记作xi(i = 1, 2, ..., n)
例如结婚率就是参考数列,房价、人均收入、女性失业数就是比较数列.
可以这样理解,参考数列就类似于因变量y,比较数列是自变量x.
step2数据预处理/归一化或标准化
比如都除以平均值,或者采用之前定义的标准化方法。
step3确定灰色关联系数
定义两级最小差a = minsmint|x0(t) − xs(t)|,两级最大差b = maxsmaxt|x0(t) − xs(t)|.
其实就是计算一整个表格与某一个标准序列的的差,然后取最大与最小
对表中每一个元素求 $$\gamma(x_0(k),x_i(k))=\frac{a+\rho b}{|x_0(k)-x_i(k)|+\rho b}$$ 各个指标取平均值就得到灰色关联度 $$\gamma(x_0,x_i)=\frac1n\sum_{k=1}^n\gamma(x_0(k),x_i(k))$$