给大家安利一款朋友开发的自研国产数据分析基础工具,一键式自动分析,自动生成分析模板,5分钟掌握主流61个统计类数学模型(几乎涵盖SPSS绝大部分功能),以及23个有监督机器学习(包括随机森林,SVM,XGBoost等)
PS:巨方便简单上手,貌似现在是免费
官网:www.mpaidata.com mpai数据科学平台
优劣解距离法(TOPSIS法)(备用)
优劣解距离法(TOPSIS)又称理想解法,是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解,即各指标的最大值和最小值,通过计算每个方案到理想方案的相对贴近度,即靠近正理想解和远离负理想解的程度,来对方案进行排序,从而选出最优方案。
TOPSIS过程比较简单,请参考atgdxj第二版14章第一节,但是TOPSIS的代码暂时无法直接运用,因为这种类型的评价方法还要考虑一下,最优解是越大越好还是越小越好。
例 研究生院试评估。
为了客观地评价我国研究生教育的实际情况和各研究生院的教学质量,国务院学位委员会组织过一次研究生院的评估。为了取得经验,先选5所研究生院,收集有关数据资料进行了试评估,表1是所给出的部分数据。
表1 研究生院试评估的部分数据
人均专著
/(本/人)
师生比
科研经费
/(万元/人)
逾期毕业率
/%
1
0.1
5
5000
4.7
2
0.2
6
6000
5.6
3
0.4
7
7000
6.7
4
0.9
10
10000
2.3
5
1.2
2
400
1.8
其MATLAB求解源代码如下:
clc, cleara=[0.1 5 5000 4.7 0.2 6 6000 5.6 0.4 7 7000 6.7 0.9 10 10000 2.3 1.2 2 400 1.8];[m,n]=size(a);x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*(x>=lb & x<qujian(1))+(x>=qujian(1) & x<=qujian(2))+(1-(x-qujian(2))./(ub-qujian(2))).*(x>qujian(2) & x<=ub);qujian=[5,6]; lb=2; ub=12;a(:,2)=x2(qujian,lb,ub,a(:,2)); %对属性2进行变换,针对这个题目比较特殊,其他题目一般用不到,详细介绍看安详的雪糕的书即可。for j=1:n b(:,j)=a(:,j)/norm(a(:,j)); %向量规划化endw=[0.2 0.3 0.4 0.1];c=b.*repmat(w,m,1); %求加权矩阵Cstar=max(c); %求正理想解Cstar(4)=min(c(:,4)); %属性4为成本型的,越小越好fprintf('正理想解为:n');disp(Cstar);C0=min(c); %q求负理想解C0(4)=max(c(:,4)); %属性4为成本型的,越小越好fprintf('负理想解为:n');disp(C0);for i=1:m Sstar(i)=norm(c(i,:)-Cstar); %求到正理想解的距离 S0(i)=norm(c(i,:)-C0); %求到负理想的距离endf=S0./(Sstar+S0);[sf,ind]=sort(f,'descend'); %求排序结果fprintf('排序指标值:n');disp(sf);fprintf('排序结果为:n');disp(ind);根据MATLAB源代码运行结果可得:从优到劣的次序为4、3、2、1、5。