关于2022.11月数维杯国际赛的赛题,首先从赛题类型和难度进行分析,为大家提供选题建议
其中A (自动地震层位追踪)属于机理分析赛题、B (红蓝军团对抗)属于优化类赛题、C (阿尔茨海默病诊断)属于聚类赛题、D (拉尼娜事件)属于预测和评价类赛题。
由于工作原因个人接触机理分析比较多,认为A和B难度系数较大,但总体难度系数: A>B>D>C
建议数学建模基础不是特别好的同学可以选择C和D, 由于数维杯的评价标准很迷,有听说过一些人在网上套了一些模板代码就能拿国一(可能是论文写的比较完整、思路清晰格式正确),毕竟C和D难度系数相对较小。
————————————————
由于个人工作问题,我尽可能把各题思路在今天内更新完毕。
注:2022.11.17 16:53时更新,有许多同学私信我说希望发一些资料,有时间的话会在里边上传一些资料、回答问题或者往届范文737.388.193,去掉符号。点击链接加入【2022数学建模思路分享】:https://jq.qq.com/?_wv=1027&k=OVFfAwgE
————————————————
针对第一问:对所附数据的特征指标进行预处理,调查数据特征与阿尔茨海默病诊断之间的相关性。
解析:这里主要分为两部分内容需要解决,首先是数据处理,然后是选择合适的相关性分析方法判断特征和疾病间的相关性;数据预处理这个很简单,主要是判断有无缺失值或异常值,并且剔除这些的数据,属于常规操作。
相关性分析计算方式也就那么几种:Pearson相关系数(适用于定量数据,且数据满足正态分布)、Spearman相关系数(数据不满足正态分布时使用)、Kendall's tau-b相关系数(有序定类变量)。个人初步认为Pearson相关系数就可以满足,但具体效果如何,可以进行Kappa一致性检验一下。如果我们只是想初步探查变量之间是否存在相关关系,则可以忽略变量连续/离散特性,统一使用相关系数进行计算,这也是pandas中的.corr方法所采用的策略。
针对第二问:利用所附的大脑结构特征和认知行为特征来设计一种阿尔茨海默病的智能诊断。
需要对文献结构脑特征和认知行为特征进行分析,分成两个类别,比如患病阿尔茨海默病的表现和数据怎么样,有哪些特征,比如这两个哪个值高、哪个值低;什么情况下是没有患阿尔茨海默病,哪几种情况是患病的,这一题建议使用决策树算法的树形模型,svm支持向量机也不错,树模型可以用 xgboost 这个模型目前也是比较火的,svm和 xgboost有一定难度,赛友可以选择通过简单的数据分析来做,或者用聚类算法也可以。本题思路比较开阔 。
针对第三问:首先,将 CN、MCI 和 AD 分成三大类。然后,对于 MCI 中包含的三个子类(SMC、EMCI 和 LMCI ),聚类继续细化为三个子类。 这个问题已经在题目中给出明显的要求是进行聚类,聚类后再聚类,如果第二问已经用了聚类可以接着用,如果没有,在这里聚类需要设计3 个类,这里赛友可以尝试使用一些方法降敌噪音,参考见补充6、7,如果是时间紧张和比赛熟练度比较低,可以不做这个部分,需要详细代码可以在群里@我。
补充1:数据预处理可以参考:机器学习中的数据预处理方法与步骤_川川菜鸟的博客-CSDN博客
补充2:相关性分析及相关系数可以参考:相关系数及相关性分析(数学建模)_Blue噜噜噜的博客-CSDN博客
补充3:聚类分析 10 种方法及其代码链考 10种聚类算法(附代码展示)
补充4:xgboost: XGboost参数调优完整指南及预测分析(附完整代码)_噜噜啦啦咯的博客-CSDN博客_xgboost代码
补充5:svm:使用支持向量机SVM进行分类_生信修炼手册的博客-CSDN博客
补充6:聚类中噪音的处理 聚类中噪音的处理_harderharder的博客-CSDN博客
PS:如果赶时间或者基础非常差的话建议用SPSSPRO直接导入文档处理+分析数据,在B站上找几个教程大概三四个小时就能速成并且出结果(随便找了个教学视频,我也会上传到群里),但是这个方法有一定缺陷,那就是导出的代码是个模板,提交程序文件时还需要自己改一改。
本题流程仅供参考,建议可以查看其他相关资料进行解题,本题体量不大,可以尝试大一点难一点模型
D题比较明确,对各种题目的方法和解决方式都特别明显的说清楚了,本题需要大家对很多资料进行研究,如本题的第四问进行了一个管理报告,本题类似美国大学生数学建模竞赛的EF等题目,具有一定的社会性、管理性,但不是空谈是需要我们进行实现分析后的,依据我们现有结果和资料文献研究来的。
针对第一问:对全球三重拉尼娜事件涉及的主要国家和地区进行统计分析,预测未来发生三重拉尼娜事件的可能性。
本题是基于我们要下载的数据进行数据的统计分析,这个方法,大家可以用统计学的方法,做一定的数据分析,比如可以用python的nunpy等包进行数据分析,这个方式我会提供代码放在群里(但SPSSPRO里自带有,会SPSSPRO的赛友就很有优势。处理好数据以后选中数据并且设置后就可以自动生成,如下图),这个是基于对体重分析的代码,赛友可以参考改流程进行分析。
预测的话可以使用比较简单的灰色关联度分析(也叫灰色预测模型),赛友可以参考补充1、2。
同时本题也可以看做是一个明显的基于时间序列的题目进行分析,时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。经济数据中大多数以时间序列的形式给出。根据观察时间的不同,时间序列中的时间可以是年份、季度、月份或其他任何时间形式。
补充1:灰色关联度分析https://blog.csdn.netgq_ 25990967/article/details/123230157
针对第二、三问:
(2)以某国为例,评估分析三重拉尼娜事件下高温干旱造成的各类灾害损失,并提供有针对性的应对策略。
(3)以某国为例,评估分析三重拉尼娜事件作用下洪水造成的各种灾害损失,并提供有针对性的应对策略;
本题的 2、3 两个题目几乎是一样的,本题重点在于评估分析,评估分析的重点在于建立评价价体系与方法,评价类模型这里给大家找了几种不同的、难易度不一样的方法进行解题。
各种评估分析方法介绍及SPSSPRO操作步骤: 数学建模——常考评价类模型介绍 - 知乎
基本的评价类模型和无代码进行实践链接。
主观的评价分析(最好多找文献进行评价指数权重的确定)这个权重的确定带主观的色彩, 但如果基于一些文献比如那些损失影响比那些更重要,进行综合评价。并且在进行评价时,不能出现逻辑错误,比如你设定的A,B,C三个因素对D的影响顺序为A>B,B>C。但是后边你又设定了C>A,就会出现逻辑错误。我把样例视频发到了群里,需要自取。
#层次分析法完整代码:
import numpy as np
#计算特征向量和最大特征值 a=np.array([[1,3,1,1/3],[1/3,1,1/2,1/5],[1,2,1,1/3],[3,5,3,1]]) #a 为自己构造的输入判别矩阵 w=np.linalg.eig(a) #np.linalg.eig(matri)返回特征值和特征向量 tzz=np.max(w[0]) #最大特征值 t=np.argwhere(w[0]==tzz) #寻找最大特征值所在的行和列 tzx=w[1][::-1,t[0]] #最大特征值对应的特征向量
#一致性检验 RILIST=[0,0,0.58,0.9,1.12,1.24,1.32,1.41,1.45,1.49,1.52,1.54,1.56,1.58,1.59] n=a.shape[0] RI=RILIST[n] CI=(tzz-n)/(n-1) CR=CI/RI print(CR) print("通过一致性检验") if CR<0.1 else print("没有通过一致性检验")
P=np.array([[8,7,6,8],[7,8,8,7]]) #每一行代表一个对象的指标评分 #赋权重 quan=np.zeros((n,1)); quan=tzx/sum(tzx) Q=quan
#显示出所有评分对象的评分值 score=np.dot(P,Q) #矩阵乘法 for i in range(len(score)): print('对象{:}得分={:}'.format(i+1,score[i,0].real))
特点:基于数据求解距离的评价方法,非主观
其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。它用于解决的 问题是:给出 n 个对象,以及 n 个对象关于 m 个指标的各项数据,根据这些数据对 n 个对 象进行综合评价并打分,此分数能反映这 n 个对象的综合排名。
如上的两种方法都有其优缺点,建议按照实际情况使用和使用高级模型如下
bp 神经网络算法 :bp神经网络综合评价例题,bp神经网络综合评价法_阳阳2013哈哈的博客-CSDN博客
如对神经网络深度学习机器学习有一定理解的同学可以使用如 cnn,卷积神经网络进行评价:CNN中的权重维度解析以及卷积核中的数值是怎么确定的_微电子学与固体电子学-俞驰的博客-CSDN博客
更多的资料和代码,可以根据自己的需求查找。而本题的第二小问还需要进行策略的分析和研究,对这个策略,肯定是基于前面模型的评价后进行针对对策,影响越大的越需要针对灾害进行防范,影响越小越可以减小和忽视。 2,3 两个问题几乎是一样的方法,这种类型的赛题, 赛友一定要多模型对比,比如层次分析和 TOPSIS 方法对比,哪个更好。或者是 bp 神经网络和 cnn(高难度),层次分析和 bp 神经网络对比,这个是最好在第二题对比,第三题可以用第二题解决效果好的模型进行第三问求解;比如第二问 bp 神经网络模型效果更好,我们就在 bp神经网络上面进行改进的模型来做第三题然后分析,这个是最好的方式和方法。 如果不做对比或者优化,比赛论文内容可能会验证不足。
......有时间了再更吧.......为爱发电有点累了,竟然有人私信说为什么不把程序直接写了发出来,如果愿意给个二三十块我也愿意写,真是站着说话不腰疼......
具体思路会先在链接里更新:22年下数维杯国际大学生数学建模挑战赛C与D解析与思路