手机网站源码,网帆网站建设,河南省中原建设有限公司网站,wordpress打开超级慢数学建模笔记—— 灰色关联分析[GRA] 灰色关联分析(GRA)1. 相关概念1.1 灰色系统1.2 什么是关联分析#xff1f;1.3 灰色关联分析 2. 关联分析步骤3. 典型例题3.1 关联分析例题3.2 灰色关联综合评价 4. python代码实现4.1 关联分析4.2 灰色关联综合评价 灰色关联分析(GRA)
1.… 数学建模笔记—— 灰色关联分析[GRA] 灰色关联分析(GRA)1. 相关概念1.1 灰色系统1.2 什么是关联分析1.3 灰色关联分析 2. 关联分析步骤3. 典型例题3.1 关联分析例题3.2 灰色关联综合评价 4. python代码实现4.1 关联分析4.2 灰色关联综合评价 灰色关联分析(GRA)
1. 相关概念
1.1 灰色系统
灰色系统理论是1982年由邓聚龙创立的一门边缘性学科(interdisciplinary)。灰色系统用颜色深浅反映信息量的多少。说一个系统是黑色的,就是说这个系统是黑洞洞的,信息量太少;说一个系统是白色的,就是说这个系统是清楚的,信息量充足。而处于黑白之间的系统,或说信息不完全的系统,称为灰色系统或简称灰系统。
“信息不完全”是灰的基本含义一般指
系统因素不完全明确因素关系不完全清楚系统的结构不完全知道系统的作用原理不完全明了
白黑灰从表象看明朗暗若明若暗从过程看新旧新旧交替从性质看纯不纯多种成分从信息看完全不完全部分完全从结果看唯一的解无数的解非唯一性从态度看肯定否定扬弃从方法看严厉放纵宽容
1.2 什么是关联分析
所谓关联分析就是系统地分析因素。回答的问题是某个包含多种因素的系统中哪些因素是主要的哪些是次要的哪些因素影响大哪些因素影响小哪些因素是明显哪些因素是潜在的。哪些是需要发展的哪些需要抑制。
现有因素分析的量化方法大都是数理统计法如回归分析、方差分析、主要成分分析等这些方法都有下述弱点:
要求大量数据,数据量少难以找到统计规律要求分布是典型的(线性的、指数的或对数的),即使是典型的并非都能处理计算工作量大,一般需要计算机帮助有时可能出现反常情况,如正相关则断为负相关,以至正确现象受到歪曲和颠倒
1.3 灰色关联分析
灰色关联度分析(Grey Relation Analysis、GRA)是一种多因素统计分析的方法。灰色关联分析方法弥补了采用数理统计方法作系统分析所导致的缺憾。它对样本量的多少和样本有无规律都同样适用而且计算量小十分方便,更不会出现量化结果与定性分析结果不符的情况。
灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近相应序列之间的关联度就越大反之就越小。
对一个抽象的系统或现象进行分析首先要选准反映系统行为特征的数据序列称为找系统行为的映射量用映射量来间接地表征系统行为。例如,用国民平均接受教育的年数来反映教育发达程度用刑事案件的发案率来反映社会治安面貌和社会秩序用医院挂号次数来反映国民的健康水平等。有了系统行为特征数据和相关因素的数据即可作出各个序列的图形从直观上进行分析。
2. 关联分析步骤 指标正向化 所谓正向化处理就是将极小型、中间型以及区间型指标统一转化为极大型指标。 确定分析数列 母序列又称参考数列母指标能反映系统应为特征的数据序列其类似于因变量 Y Y Y记为 Y [ y 1 , y 2 , ⋯ , y n ] T Y\left[y_{1},y_{2},\cdots,y_{n}\right]^{T} Y[y1,y2,⋯,yn]T 子序列又称比较数列子指标影响系统行为的因素组成的数据序列其类似于自变量 X X X记为 X n m [ x 11 x 12 ⋯ x 1 m x 21 x 22 ⋯ x 2 m ⋮ ⋮ ⋱ ⋮ x n 1 x n 2 ⋯ x n m ] X_{nm}\begin{bmatrix}x_{11}x_{12}\cdotsx_{1m}\\x_{21}x_{22}\cdotsx_{2m}\\\vdots\vdots\ddots\vdots\\x_{n1}x_{n2}\cdotsx_{nm}\end{bmatrix} Xnm⎣⎢⎢⎢⎡x11x21⋮xn1x12x22⋮xn2⋯⋯⋱⋯x1mx2m⋮xnm⎦⎥⎥⎥⎤ 数据预处理 由于不同要素具有不同量纲和数据范围因此我们要对他们进行预处理去量纲将他们统一到近似的范围内先求出每个指标的均值在用指标中的元素除以其均值 y k ~ y k y i , y i ‾ 1 n ∑ k 1 n y k x k i ~ x k i x i , x i ‾ 1 n ∑ k 1 n x k i ( i 1 , 2 , ⋯ , m ) \widetilde{y_{k}}\frac{y_{k}}{y_{i}},\overline{y_{i}}\frac{1}{n}\sum_{k1}^{n}y_{k}\quad\widetilde{x_{ki}}\frac{x_{ki}}{x_{i}},\overline{x_{i}}\frac{1}{n}\sum_{k1}^{n}x_{ki}\left(i1,2,\cdots,m\right) yk yiyk,yin1k1∑nykxki xixki,xin1k1∑nxki(i1,2,⋯,m) 计算灰色关联系数 计算子序列中各个指标与母序列的关联系数 记 为 : a min i min k ∣ x 0 ( k ) − x i ( k ) ∣ a\min_{i}\min_{k}\left | x_{0}\left ( k\right ) - x_{i}\left ( k\right ) \right | aminimink∣x0(k)−xi(k)∣, b max i m a x k ∣ x 0 ( k ) − x i ( k ) ∣ b \max _{i}max_k\left | x_{0}\left ( k\right ) - x_{i}\left ( k\right ) \right | bmaximaxk∣x0(k)−xi(k)∣ 为两极最小差和最大差 构造 ξ i ( k ) y ( x 0 ( k ) , x i ( k ) ) a ρ b ∣ x 0 ( k ) − x i ( k ) ∣ ρ b \xi _i( k) y\left ( x_{0}\left ( k\right ) , x_{i}\left ( k\right ) \right ) \frac {a \rho b}{\left | x_{0}\left ( k\right ) - x_{i}\left ( k\right ) \right | \rho b} ξi(k)y(x0(k),xi(k))∣x0(k)−xi(k)∣ρbaρb 其中 ρ \rho ρ为分辨系数一般取0.5 计算关联度 r i 1 n ∑ k 1 n ξ i ( k ) 1 n ∑ k 1 n y ( x 0 ( k ) , x i ( k ) ) r_{i}\frac{1}{n}\sum_{k1}^{n}\xi_{i}\left(k\right)\frac{1}{n}\sum_{k1}^{n}y\Big(x_{0}\left(k\right),x_{i}\left(k\right)\Big) rin1k1∑nξi(k)n1k1∑ny(x0(k),xi(k))
3. 典型例题
3.1 关联分析例题 已知某地国民生产总值工业和农业生产总值原始数据的形式及来源见下表分析工业农业哪个对国民生产总值影响大 项目名称年份2016201720182019国民生产总值556575100工业产值24384050农业产值10221820 定义母序列及子序列如下 项目名称年份项目代号2016201720182019国民生产总值556575100X0(母序列)工业产值24384050X1(子序列)农业产值10221820X2(子序列) 数据预处理 对数据进行均值化 y k ~ y k y i , y i ‾ 1 n ∑ k 1 n y k x k i ~ x k i x i , x i ‾ 1 n ∑ k 1 n x k i ( i 1 , 2 , ⋯ , m ) \widetilde{y_{k}}\frac{y_{k}}{y_{i}},\overline{y_{i}}\frac{1}{n}\sum_{k1}^{n}y_{k}\quad\widetilde{x_{ki}}\frac{x_{ki}}{x_{i}},\overline{x_{i}}\frac{1}{n}\sum_{k1}^{n}x_{ki}\left(i1,2,\cdots,m\right) yk yiyk,yin1∑k1nykxki xixki,xin1∑k1nxki(i1,2,⋯,m) 项目名称年份项目代号2016201720182019国民生产总值0.750.881.021.36(母序列)工业产值0.631.001.051.32(子序列)农业产值0.571.261.031.14(子序列) 求关联系数 a min i min k ∣ x 0 ( k ) − x i ( k ) ∣ b max i m a x k ∣ x 0 ( k ) − x i ( k ) ∣ ξ i ( k ) y ( x 0 ( k ) , x i ( k ) ) a ρ b ∣ x 0 ( k ) − x i ( k ) ∣ ρ b a \min _{i}\min _{k}\left | x_{0}\left ( k\right ) - x_{i}\left ( k\right ) \right |\\ b \max _{i}max_k\left | x_{0}\left ( k\right ) - x_{i}\left ( k\right ) \right |\\ \xi _i( k) y\left ( x_{0}\left ( k\right ) , x_{i}\left ( k\right ) \right ) \frac {a \rho b}{\left | x_{0}\left ( k\right ) - x_{i}\left ( k\right ) \right | \rho b} aiminkmin∣x0(k)−xi(k)∣bimaxmaxk∣x0(k)−xi(k)∣ξi(k)y(x0(k),xi(k))∣x0(k)−xi(k)∣ρbaρb kX_0X_1X_2|x_0(k)-x_1(k)||x_0(k)-x_2(k)|10.750.630.570.120.1820.881.001.260.120.3831.021.051.030.030.0141.361.321.140.040.22得a0.01b0.38 ξ i ( k ) y ( x 0 ( k ) , x i ( k ) ) 0.01 0.5 × 0.38 ∣ x 0 ( k ) − x i ( k ) ∣ 0.5 × 0.38 0.2 ∣ x 0 ( k ) − x i ( k ) ∣ 0.19 \begin{aligned} \xi_{i}\left(k\right)y\left(x_{0}\left(k\right),x_{i}\left(k\right)\right) \frac{0.010.5\times0.38}{\left|x_{0}\left(k\right)-x_{i}\left(k\right)\right|0.5\times0.38} \\ \frac{0.2}{\left|x_{0}\left(k\right)-x_{i}\left(k\right)\right|0.19} \end{aligned} ξi(k)y(x0(k),xi(k))∣x0(k)−xi(k)∣0.5×0.380.010.5×0.38∣x0(k)−xi(k)∣0.190.2 k ∥ x 0 ( k ) − x 1 ( k ) ∥ \|x_{0}(k)-x_{1}(k)\| ∥x0(k)−x1(k)∥ ∥ x 0 ( k ) − x 2 ( k ) ∥ \|x_{0}(k)-x_{2}(k)\| ∥x0(k)−x2(k)∥ ξ 1 \xi_1 ξ1 ξ 2 \xi_2 ξ210.120.180.6450.54120.120.380.6450.35130.030.010.9091.00040.040.220.8700.488 求关联度 r i 1 n ∑ k 1 n ξ i ( k ) 1 n ∑ k 1 n y ( x 0 ( k ) , x i ( k ) ) r_{i}\frac{1}{n}\sum_{k1}^{n}\xi_{i}\left(k\right)\frac{1}{n}\sum_{k1}^{n}y\Big(x_{0}\left(k\right),x_{i}\left(k\right)\Big) rin1k1∑nξi(k)n1k1∑ny(x0(k),xi(k)) k ξ 1 \xi_1 ξ1 ξ 2 \xi_2 ξ210.6450.54120.6450.35130.9091.00040.8700.488 r r r0.7670.595由 r 1 r 2 r_1r_2 r1r2工业产值关联度更大。
3.2 灰色关联综合评价 换个方法给明星Kun找一个对象经过层层考察留下三个候选人。他认为身高165是最好的体重在90-100斤是最好的。 候选人颜值牌气(争吵次数)身高体重A910175120B8716480C6315790 数据正向化 将原始矩阵正向化就是要将所有的指标类型统一转化为极大型指标。 X n m [ x 11 x 12 ⋯ x 1 m x 21 x 22 ⋯ x 2 m ⋮ ⋮ ⋱ ⋮ x n 1 x n 2 ⋯ x n m ] X_{nm}\begin{bmatrix}x_{11}x_{12}\cdotsx_{1m}\\x_{21}x_{22}\cdotsx_{2m}\\\vdots\vdots\ddots\vdots\\x_{n1}x_{n2}\cdotsx_{nm}\end{bmatrix} Xnm⎣⎢⎢⎢⎡x11x21⋮xn1x12x22⋮xn2⋯⋯⋱⋯x1mx2m⋮xnm⎦⎥⎥⎥⎤ 候选人颜值牌气(争吵次数)身高体重A9000B830.90.5C670.21 正向化后的数据进行预处理 每个指标的元素除以该指标元素的平均值。 Z n m [ z 11 z 12 ⋯ z 1 m z 21 z 22 ⋯ z 2 m ⋮ ⋮ ⋱ ⋮ z n 1 z n 2 ⋯ z n m ] Z_{nm}\begin{bmatrix}z_{11}z_{12}\cdotsz_{1m}\\z_{21}z_{22}\cdotsz_{2m}\\\vdots\vdots\ddots\vdots\\z_{n1}z_{n2}\cdotsz_{nm}\end{bmatrix} Znm⎣⎢⎢⎢⎡z11z21⋮zn1z12z22⋮zn2⋯⋯⋱⋯z1mz2m⋮znm⎦⎥⎥⎥⎤ 候选人颜值牌气(争吵次数)身高体重A1.170.000.000.00B1.040.902.451.00C0.782.100.552.00 构造母序列 选取每个指标的最大值作为母序列 Y [ y 1 , y 2 , ⋯ , y n ] T 其中 y i m a x ( z i 1 , z i 2 , ⋯ , z i m ) Y\begin{bmatrix}y_1,y_2,\cdots,y_n\end{bmatrix}^T\quad\text{其中}\quad y_imax\begin{pmatrix}z_{i1},z_{i2},\cdots,z_{im}\end{pmatrix} Y[y1,y2,⋯,yn]T其中yimax(zi1,zi2,⋯,zim) 候选人Y颜值牌气(争吵次数)身高体重A1.171.170.000.000.00B2.451.040.902.451.00C2.100.782.100.552.00 计算关联系数 记差值矩阵为 K K K K n m [ k 11 k 12 ⋯ k 1 m k 21 k 22 ⋯ k 2 m ⋮ ⋮ ⋱ ⋮ k n 1 k n 2 ⋯ k n m ] [ ∣ z 11 − y 11 ∣ ∣ z 2 − y 1 ∣ ⋯ ∣ z 1 m − y 1 ∣ ∣ z 21 − y 2 ∣ ∣ z 22 − y 2 ∣ ⋯ ∣ z 2 m − y 2 ∣ ⋮ ⋮ ⋱ ⋮ ∣ z n 1 − y n ∣ ∣ z n 2 − y n ∣ ⋯ ∣ z n m − y n ∣ ] a min i min k ∣ x o ( k ) − x i ( k ) ∣ b max i max k ∣ x o ( k ) − x i ( k ) ∣ \begin{aligned}K_{nm}\begin{bmatrix}k_{11}k_{12}\cdotsk_{1m}\\k_{21}k_{22}\cdotsk_{2m}\\\vdots\vdots\ddots\vdots\\k_{n1}k_{n2}\cdotsk_{nm}\end{bmatrix}\begin{bmatrix}\left|z_{11}-y_{11}\right|\left|z_{2}-y_{1}\right|\cdots\left|z_{1m}-y_{1}\right|\\\left|z_{21}-y_{2}\right|\left|z_{22}-y_{2}\right|\cdots\left|z_{2m}-y_{2}\right|\\\vdots\vdots\ddots\vdots\\\left|z_{n1}-y_{n}\right|\left|z_{n2}-y_{n}\right|\cdots\left|z_{nm}-y_{n}\right|\end{bmatrix}\\a\min_{i}\min_{k}\left|x_{o}\left(k\right)-x_{i}\left(k\right)\right|b\max_{i}\max_{k}\left|x_{o}\left(k\right)-x_{i}\left(k\right)\right|\end{aligned} Knm⎣⎢⎢⎢⎡k11k21⋮kn1k12k22⋮kn2⋯⋯⋱⋯k1mk2m⋮knm⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡∣z11−y11∣∣z21−y2∣⋮∣zn1−yn∣∣z2−y1∣∣z22−y2∣⋮∣zn2−yn∣⋯⋯⋱⋯∣z1m−y1∣∣z2m−y2∣⋮∣znm−yn∣⎦⎥⎥⎥⎤aiminkmin∣xo(k)−xi(k)∣bimaxkmax∣xo(k)−xi(k)∣ 候选人 Y Y Y Z 1 Z_1 Z1 Z 2 Z_2 Z2 Z 3 Z_3 Z3 Z 4 Z_4 Z4 ∥ z k 1 − y k ∥ \|z_{k1} - y_k\| ∥zk1−yk∥ ∥ z k 2 − y k ∥ \|z_{k2} - y_k\| ∥zk2−yk∥ ∥ z k 3 − y k ∥ \|z_{k3} - y_k\| ∥zk3−yk∥ ∥ z k 4 − y k ∥ \|z_{k4} - y_k\| ∥zk4−yk∥ A A A1.171.170.000.000.000.001.171.171.17 B B B2.451.040.902.451.001.411.550.001.45 C C C2.100.782.100.552.001.320.001.550.10易得a0b1.55 ξ i ( k ) y ( x 0 ( k ) , x i ( k ) ) 0 0.5 × 1.55 ∣ x 0 ( k ) − x i ( k ) ∣ 0.5 × 1.55 0.775 ∣ x 0 ( k ) − x i ( k ) ∣ 0.775 \xi_{i}\left(k\right)y\left(x_{0}\left(k\right),x_{i}\left(k\right)\right)\frac{00.5\times1.55}{\left|x_{0}\left(k\right)-x_{i}\left(k\right)\right|0.5\times1.55}\frac{0.775}{\left|x_{0}\left(k\right)-x_{i}\left(k\right)\right|0.775} ξi(k)y(x0(k),xi(k))∣x0(k)−xi(k)∣0.5×1.5500.5×1.55∣x0(k)−xi(k)∣0.7750.775 候选人 ∥ z k 1 − y k ∥ \|z_{k1}-y_k\| ∥zk1−yk∥ ∥ z k 2 − y k ∥ \|z_{k2}-y_k\| ∥zk2−yk∥ ∥ z k 3 − y k ∥ \|z_{k3}-y_k\| ∥zk3−yk∥ ∥ z k 4 − y k ∥ \|z_{k4}-y_k\| ∥zk4−yk∥ ξ 1 \xi_1 ξ1 ξ 2 \xi_2 ξ2 ξ 3 \xi_3 ξ3 ξ 4 \xi_4 ξ4A0.001.171.171.171.0000.3980.3980.398B1.411.550.001.450.3550.3331.0000.348C1.320.001.550.100.3701.0000.3330.886 计算关联度 r i 1 n ∑ k 1 n ξ i ( k ) 1 n ∑ k 1 n y ( x 0 ( k ) , x i ( k ) ) r_{i}\frac{1}{n}\sum_{k1}^{n}\xi_{i}\left(k\right)\frac{1}{n}\sum_{k1}^{n}y\Big(x_{0}\left(k\right),x_{i}\left(k\right)\Big) rin1k1∑nξi(k)n1k1∑ny(x0(k),xi(k)) 候选人 ξ 1 \xi_1 ξ1 ξ 2 \xi_2 ξ2 ξ 3 \xi_3 ξ3 ξ 4 \xi_4 ξ4A1.0000.3980.3980.398B0.3550.3331.0000.348C0.3701.0000.3330.886r0.5750.5770.5770.544 计算指标权重 将关联度归一化即可得到指标权重 w i r i ∑ k 1 m r k ( i 1 , 2 , ⋯ , m ) \begin{aligned}w_{i}\frac{r_{i}}{\sum_{k1}^{m}r_{k}}\big(i1,2,\cdots,m\big)\end{aligned} wi∑k1mrkri(i1,2,⋯,m) 候选人颜值脾气(争吵次数)身高体重r0.5750.5770.5770.544W0.2530.2540.2540.239 计算得分并归一化 候选人颜值脾气(争吵次数)身高体重得分归一化得分A1.170.000.000.000.2960.099B1.040.902.451.001.3530.451C0.782.100.552.001.3480.450
因此选择B
4. python代码实现
4.1 关联分析
import numpy as npA np.array(eval(input(请输入初始矩阵)))# 求出每一列的均值以供后续的数据处理
Mean np.mean(A, axis0)# 预处理后的矩阵
A_norm A/Meanprint(预处理后的矩阵为\n, A_norm)# 母序列
Y A_norm[:, 0]# 子序列
X A_norm[:, 1:]# 计算|x0-xi|矩阵这里把x0看作是Y
absX0_Xi np.abs(X-np.tile(Y.reshape(-1, 1), (1, X.shape[1])))# 计算两级最小差a
a np.min(absX0_Xi)# 计算两级最大差b
b np.max(absX0_Xi)# 分布系数取0.5
rho 0.5# 计算子序列各个指标与母序列的关联系数
gamma (arho*b)/(absX0_Xirho*b)print(各个指标与母序列的关联系数为\n, np.mean(gamma, axis0))输入
[[55,24,10],[65,38,22],[75,40,18],[100,50,20]]输出
预处理后的矩阵为[[0.74576271 0.63157895 0.57142857][0.88135593 1. 1.25714286][1.01694915 1.05263158 1.02857143][1.3559322 1.31578947 1.14285714]]
各个指标与母序列的关联系数为[0.76966578 0.60058464]4.2 灰色关联综合评价
import numpy as np# 从用户输入参评数目和指标数目
print(请输入参评数目)
n int(input())
print(请输入指标数目)
m int(input())# 接受用户输入的类型矩阵
print(请输入类型矩阵1. 极大型 2. 极小型 3. 中间型 4.区间型)
kind input().split( )# 接受用户输入的矩阵并转化为向量
print(请输入矩阵)
A np.zeros(shape(n, m))
for i in range(n):A[i] input().split( )A[i] list(map(float, A[i]))
print(输入矩阵为\n{}.format(A))# 极小型指标转化为极大型指标的函数def minTomax(maxx, x):x list(x)ans [[(maxx-e) for e in x]]return np.array(ans)# 中间型指标转化为极大型指标的函数def midTomax(bestx, x):x list(x)h [abs(e-bestx) for e in x]M max(h)if M 0:M 1 # 防止最大差值为0的情况ans [[1-(e/M) for e in h]]return np.array(ans)# 区间型指标转化为极大型指标的函数def regTomax(lowx, highx, x):x list(x)M max(lowx-min(x), max(x)-highx)if M 0:M 1 # 防止最大差值为0的情况ans []for i in range(len(x)):if x[i] lowx:ans.append(1-(lowx-x[i])/M)elif x[i] highx:ans.append(1-(x[i]-highx)/M)else:ans.append(1)return np.array([ans])# 同一指标类型将所有指标转化为极大型指标
X np.zeros(shape(n, 1))
for i in range(m):if kind[i] 1:v np.array(A[:, i])elif kind[i] 2:maxA max(A[:, i])v minTomax(maxA, A[:, i])elif kind[i] 3:print(类型三请输入最优值)bestA eval(input())v midTomax(bestA, A[:, i])elif kind[i] 4:print(类型四请输入区间[a,b]值a)lowA eval(input())print(类型四请输入区间[a,b]值b)highA eval(input())v regTomax(lowA, highA, A[:, i])if i 0:X v.reshape(-1, 1) # 如果是第一个指标直接赋值else:X np.hstack((X, v.reshape(-1, 1))) # 如果不是第一个指标横向拼接
print(统一指标后矩阵为\n{}.format(X))# 对正向化后的矩阵进行预处理
Mean np.mean(X, axis0)
Z X/Mean
print(预处理后的矩阵为)
print(Z)# 构造母序列和子序列
Y np.max(Z, axis1) # 选取每一行最大值构成列向量的母序列
X Z# 计算得分
absX0_Xi np.abs(X-np.tile(Y.reshape(-1, 1), (1, X.shape[1])))
a np.min(absX0_Xi)
b np.max(absX0_Xi)# 分辨系数
rho 0.5
gamma (arho*b)/(absX0_Xirho*b) # 计算关联系数
weight np.mean(gamma, axis0)/np.sum(np.mean(gamma, axis0)) # 利用子序列中各个指标与母序列的灰色关联度计算权重
score np.sum(X*np.tile(weight, (X.shape[0], 1)), axis1) # 未归一化得分
stand_S score/np.sum(score) # 归一化得分
sorted_S np.sort(stand_S)[::-1] # 进行降序排序
index np.argsort(stand_S)[::-1] # 得到排序后的索引print(归一化后的得分及其索引降序)
print(sorted_S)
print(index)输入
请输入参评数目
3
请输入指标数目
4
请输入类型矩阵1. 极大型 2. 极小型 3. 中间型 4.区间型
1 2 3 4
请输入矩阵
9 10 175 120
8 7 164 80
6 3 157 90
输入矩阵为
[[ 9. 10. 175. 120.][ 8. 7. 164. 80.][ 6. 3. 157. 90.]]
类型三请输入最优值165
类型四请输入区间[a,b]值a
90
类型四请输入区间[a,b]值b
100输出
统一指标后矩阵为
[[9. 0. 0. 0. ][8. 3. 0.9 0.5][6. 7. 0.2 1. ]]
预处理后的矩阵为
[[1.17391304 0. 0. 0. ][1.04347826 0.9 2.45454545 1. ][0.7826087 2.1 0.54545455 2. ]]
归一化后的得分及其索引降序
[0.45160804 0.44937917 0.0990128 ]
[1 2 0]