-02-03

时间:2024-03-14 10:54:09

今日学习:
一、层次分析法AHP
用途:解决评价类问题;使用打分法解决评价类问题。
局限性:1.决策层n不能太大
2.没法利用原始数据(TOPSIS法)
方法:
第一步:建立层次结构(目标层O、准则层C、方案层P)
相关结构图要放在建模论文中。

第一步:两两比较,得出个指标之间的权重(使用1-9重要程度表)。得出判断矩阵(正反交互矩阵),aij表示i相对j的重要程度。

第二步:对判断矩阵进行一致性检验(各行各列之间呈倍数关系)。
一致性检验的方法:
1.计算λmax(一致矩阵的λmax=n)
2.计算一致性指标CI(CI=(λmax-n)/(n-1))
3.计算平均随机一致性指标RI(查表)
4.计算一致性比例CR(CR=CI/RI)
5.如果CR<0.1,则认为矩阵的一致性可以接受。否则需要对矩阵进行修正。(往成倍数的方向上去修正)

第三步:判断矩阵计算权重(共三种方法)
方法一:算术平均法
求出各列数据归一化之后的权重,然后取平均
方法二:几何平均法
方法三:特征值法(比较常用)
求出最大特征值及其对应的特征向量,对特征向量进行归一化得到权重。
以上三种方法都可用MATLAB编程实现。代码文件:ccfx.m

第四步:利用加权平均法计算各个评价对象的得分情况。

二、TOPSIS法(优劣解距离法)
用途:充分利用原始数据的信息,精确的反应各评价方案之间的差距

方法:
第一步:原始矩阵正向化
极小型转化为极大型:max-x
中间型转化为极大型:
2020-02-03
区间型转化为极大型:
2020-02-03

第二步:正向化矩阵标准化
每一个元素处于其所在列的平方和

第三步:计算得分并归一化
1.找出每一列的最大值并组成向量,找出每一列的最小值并组成一个向量
2.分别计算某个评价对象距离最大值和最小值的距离
3.计算该评价对象的得分

以上三个步骤都有相应的matlab程序完成

带有权重的TOPSIS:
计算距离的时候乘上权重
权重可以用熵权法进行客观赋值(番外篇1)

三、插值算法
用途:模拟产生新数据

方法:
最常用到两种插值算法
1.分段三次的埃尔米特插值
Matlab内置函数:pchip(x,y,new_x);
2.三次样条插值
Matlab内置函数:spline(x,y,new_x);

n维数据的插值
Matlab内置函数:
interpn(x1,x2,…xn,y,new_x1,new_x2,…new_xn,method)
method是插值方法
liner:线性插值(默认) cubic:三次插值
spline:三次样条插值(最精准)nearest:最近领插值

这些插值算法可用于短期预测

第五讲:相关系数
用途:衡量两个变量之间的相关性的大小。
1.皮尔逊相关系数
总体皮尔逊相关系数
2020-02-03
样本皮尔逊相关系数:将n改为n-1
Matlab语句:corrcoef(Test);

使用前提:两个变量本身就具有线性关系

对皮尔逊相关系数进行假设检验:
条件:实验数据是服从正态分布的总体
方法:
2020-02-03
利用p值判断法,对数据进行显著性标记

检验数据是否为正态分布:
大样本:雅克-贝拉检验
Matlab语法:[h,p]=jbtest(x,alpha);
alpha为显著水平
h=1则不是正态分布

小样本:夏皮洛-威尔克检验
利用spss
2.斯皮尔曼相关系数
2020-02-03
Matlab语言:[R,P]=corr(X,Y,‘type’,‘spearman’)
不加Y的话则计算X各列之间的斯皮尔曼相关系数,X,Y是列向量

斯皮尔曼相关系数的假设检验:
上述matlab计算出来的P值,小于0.05则相关系数与0有差异。

皮尔逊相关系数和斯皮尔曼相关系数比较:正态分布和有线性关系则用皮尔曼相关系数。否则用斯皮尔曼。

相关文章