导图社区 数学建模(清风)
数学建模知识点,B站清风老师教程知识总结。包括评价类模型、插值与拟合模型、相关性模型、回归模型、图论模型、分类问题、聚类模型、时间序列模型等。
编辑于2023-01-07 21:18:06 江苏省数学建模(清风)
评价类模型
层次分析法
根据权重表格计算得分
注意的问题
评价的目标是什么
为了达到目标,有哪几种方案
评价的准则或指标
如题目中无相关数据,则需自行查阅资料
标度、判断矩阵
一致矩阵
充要条件:各行/各列间成比例
一致矩阵有一个特征值为n,其余特征值为0
一致性判断
1. 计算一致性指标CI
2. 查找对应的平均随机一致性指标RI
3. 计算一致性比例CR
求算权重
算术平均法
几何平均法
特征值法
TOPSIS法(优劣解距离法)
层次分析法的局限性
决策层不能太大
如果决策层部分数据已知,无法对应优化
三点解释
比较的对象远大于两个
比较的指标要多个方面
很多直指标不存在理论上的max、min
指标类型
极大型(效益型):越大越好
成绩、GDP增速、利润
极小型(成本型):越小越好
费用、坏品率、污染程度
中间型指标:越接近某个值越好
水质量评估时的PH值
区间型指标:落在某个区间最好
体温、水中植物性营养物量
步骤
1. 将原始矩阵正向化
一般统一转化成极大型
2. 正向化矩阵标准化
3. 计算得分并归一化
插值与拟合模型
多项式插值
分段插值
Hermite插值
样条插值(一维)
n维数据的插值
cftool工具箱
相关性模型
相关系数(数据描述性统计)
皮尔逊person
总体皮尔逊相关系数
样本皮尔逊相关系数
相关性可视化
必须确定两个变量是线性相关的
Excel
数据分析工具
描述性统计结果
SPSS描述性统计结果
皮尔逊相关系数检验
Jarque-Bera检验
Shapiro-wilk检验
Q-Q图
斯皮尔曼spearman
斯皮尔曼相关系数
“等级之间的皮尔逊相关系数”
MATLAB计算斯皮尔曼系数
假设检验
小样本情况
n<=30
直接查临界表
大样本
两个系数比较
1. 连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用spearman相关系数也可以, 就是效率没有pearson相关系数高
2. 上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数
3. 两个定序数据之间也用spearman相关系数,不能用pearson相关系数
典型相关分析
两组变量,每组都可能有多个指标
多元统计:主成分分析
定义
步骤
1. 在每组变量中找出变量的线性组合,使得两组的线性组合之间具有最大的相关系数
2. 选取和最初挑选的这对线性组合不相关的线性组合,使其配对,并选取相关系数最大的一对
3. 如此继续下去,直到两组变量间的相关性被提取完毕
典型变量:被选出的线性组合
典型相关系数:这两个线性组合的相关系数
关键步骤
1. 两组数据服从联合正态分布
2. 检验相关性,构造似然比统计量
3. 确定典型相关变量的个数
4. 利用标准化后的典型相关变量分析问题
5. 进行典型载荷分析
6. 计算前r个典型变量对样本总方差的贡献
SPSS
回归模型
多元回归分析
逐步回归模型
岭回归和Lasso回归
图论模型
Dijkstra迪杰斯特拉算法
Floyd算法
分类问题
二分类
logistic回归
预测成功率
逻辑回归系数表
新得到的两列
y_hat
预测的类别
逐步回归设置
自变量有分类变量的解决方法
预测效果较差
在logistic回归模型中加入平方项、交互项等
过拟合现象
对于样本数据的预测非常好,但对于样本外的数据预测效果可能会很差
确定合适的模型
分训练组、测试组
Fisher判别分析
给定训练集样例,设法将样例投影到一维的直线上,使得同类样例的投影点尽可能接近和密集,异类投影点尽可能远离
核心问题:找到线性系数ω
SPSS操作
结果分析
SVM支持向量机
支持向量
线性可分
两类点被一条直线完全分开
最大间隔超平面
二维扩展到多维
支持向量
样本中距离超平面最近的一些点
最优化问题
对偶问题
拉格朗日乘子法
强对偶性
SVM优化
软间隔
解决问题
适用于不能够完全线性可分的样本
允许个别样本点出现在间隔带里面
引入松弛变量
优化目标及求解
优化目标
求解
构造拉格朗日函数
主问题参数求偏导,得到约束条件
求出w和b,最终得到超平面
核函数
线性不可分
将二维样本映射到高维空间中
非线性SVM
核函数的作用
减少计算量
减少存储数据的内存使用量
常见核函数
线性核函数
多项式核函数
高斯核函数
需要调参
优缺点
优点
1. 有严格的数学理论支持,可解释性强,不依靠统计方法,从而简化了通常的分类和回归问题
2. 能找出对任务至关重要的关键样本(即:支持向量)
3. 采用核技巧之后,可以处理非线性分类/回归任务
4. 最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”
缺点
1. 训练时间长。当采用 SMO 算法时,由于每次都需要挑选一对参数,因此时间复杂度为O(N²) ,其中 N 为训练样本的数量
2. 当采用核技巧时,如果需要存储核矩阵,则空间复杂度为O(N²)
3. 模型预测时,预测时间与支持向量的个数成正比。当支持向量的数量较大时,预测计算复杂度较高
常用的算法
感知器算法
最小二乘法
损失函数法
SMO算法
Mercer定理
多分类
多分类Logistic回归模型
聚类模型
将样本划分为由类似的对象组成的多个类的过程
K-Means算法和K-Means++算法
K-Means
流程
1. 制定需要划分的簇的个数K值(类的个数)
2. 随机地选择K个对象作为初始的聚类中心
3. 计算其余的各个数据对象到这K个初始聚类中心的距离,把数据对象划归到距离它最近的那个中心所处在的簇中
4. 调整新类并重新计算出新类的中心
5. 循环3、4,看中心是否收敛(不变)
优缺点
优点
算法简单、快速
对处理大数据集,该算法相对高效
缺点
要求用户必须事先给出要生成的簇的数目K
对初值敏感
对于孤立点数据敏感
K-Means++可解决
K-Means++
初始的聚类中心之间的相互距离要尽可能地远
流程:优化K-Means的步骤2
具体讨论
K值怎么定
多尝试几个
数据量纲不一致怎么办
先减去均值再除以标准差
系统(层次)聚类
对最为接近的两类数据点进行组合,并反复迭代这一过程,直到所有的合成一类
流程
1. 将每个对象看作一类,计算两两之间的最小距离
2. 将距离最小的两个类合并成一个新类
3. 重新计算新类与所有类之间的距离
4. 重复2、3,直到所有的合并成一个类
DBSCAN聚类算法
基于密度,不需提前确定K值,离得近就为一类
三类数据点
核心点:在半径Eps内含有不少于MinPts数目的点
边界点:在半径Eps内含有不少于MinPts数目的点,但是落在核心点的邻域内
噪音点:两种都不是
优缺点
优点
基于密度,簇形状、大小任意
可在聚类的同时发现异常点
不需输入K值
缺点
对于输入参数ε和Minpts敏感,确定参数困难
聚类密度不均匀时,聚类距离相差很大时,聚类质量差
数据量大时,计算密度单元的计算复杂度大
时间序列模型
AR、MA、ARMA模型
ARCH模型和GARCH模型
单位根时间序列
预测模型
插值预测模型
时间序列预测
灰色预测模型
简介
系统的分类
白色系统: 系统的信息是完全明确的
灰色系统:系统的部分信息已知,部分信息未知
黑色系统:系统的内部信息是未知的
“灰色”:对既有已知信息,又有不确定信息的系统进行预测,即对在一定范围内变化的、与时间有关的灰色过程进行预测
“灰色预测”:对原始数据进行生成处理来寻找系统变动的规律,并生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况
GM(1,1)模型:Grey Model
步骤
由原始离散非负数据列,通过一次累加生成削弱随机性的较有规律的新的离散数据列
建立微分方程模型,得到在离散点处的解经过累减生成的原始数据的近似估计值
预测原始数据的后续发展
GM(1,1):一阶微分方程,只有一个变量
原理
原始数据:x^(0)
累加数据:x^(1)
紧邻均值生成序列:z^(1)
基本形式 (灰色微分方程)
b:灰作用量,a:发展系数
矩阵形式:Y=Bu
最小二乘法估计a,b的值
时间序列非连续,用灰色预测建模得到近似微分方程,即灰微分方程
OLS
原理
完全多重共线性问题
降维/岭回归
微分方程 (白化方程)
本质:有条件的指数拟合
评价
残差检验
绝对残差
相对残差
平均相对残差
<20%:符合一般要求
<10%:效果非常不错
级比偏差检验
原始数据的级比
级比偏差
平均级比偏差
<0.2:达到一般要求
<0.1:效果非常不错
适用情况
1. 数据是以年份度量的非负数据
月份或季度数据,用时间序列模型
2. 数据能经过准指数规律的检验
除前两期外,后面至少90%的期数的光滑比要低于0.5
3. 数据的期数较短(<=10),且和其他数据之间的关联性不强
期数较长,用时间序列模型
步骤
1. 画时间序列图,简单分析趋势
2. 将数据分为训练组和试验组
训练组:用不同的模型建模
如用指数平滑、ARIMA、灰色预测、神经网络等
试验组:判断哪种模型的预测效果最好
如用SSE这个指标挑选
3. 选择上一步得到的预测误差最小的模型,利用全部数据重新建模,对未来数据预测
4. 画出预测后的数据和原来数据的时序图,判断预测是否合理
代码
1. 画出序列图,判断原始数据中是否有负数,期数是否<4
2. 对一次累加后的数据进行准指数规律检验,返回两个指标
指标1:光滑比小于0.5的数据占比(一般>60%)
指标2:除去前两个时期外,光滑比小于0.5的数据占比(一般>90%)
3. 让用户决定数据是否满足准指数规律,满足输入1
4. 让用户输入需要预测的后续期数,并判断原始数据的期数
期数4
传统的GM(1,1)模型
新信息GM(1,1)模型
新陈代谢GM(1,1)模型
计算其对于未来期数的预测结果,取平均值为预测值
期数5,6,7
1. 取最后两期为试验组,前面的n-2期为训练组
2. 用训练组的数据分别训练三种GM模型,并将训练出来的模型分别用于预测试验组的两期数据
3. 利用试验组两期的真实数据和预测出来的两期数据,分别计算三个SSE,选择SSE最小的模型
期数>7
取最后三期为试验组
BP神经网络
各种set
训练集Training set
用于模型拟合的数据样本,“课本”
验证集Validation set
模型训练中单独留出的样本集,可以用于调整模型的超参数和用于对模型的能力进行初步评估,“作业”
测试集Testing set
用来评估最终模型的泛化能力
步骤
1. 训练准备
导入数据
存入.mat,再load
Nerual Net Fitting
选择行列数据
训练集比例
隐藏神经元的个数
2. 训练
莱文贝格-马夸特方法
贝叶斯正则化方法
量化共轭梯度法
3. 结果分析
Performance
1个epoch代表训练一次,均方误差MSE=SSE/n最小最好
Regression
将拟合值对真实值回归,拟合优度越高,拟合的效果越好
4. 保存结果并预测
结果
error:残差
net:神经网络模型
output:拟合值
残差+拟合值=真实值
sim函数预测
降维模型
SVD奇异值分解(主要用于图像处理)
主成分分析
因子分析