22年下数维杯国际大学生数学建模挑战赛C题与D题解析与思路

关于2022.11月数维杯国际赛的赛题,首先从赛题类型和难度进行分析,为大家提供选题建议

其中A (自动地震层位追踪)属于机理分析赛题、B (红蓝军团对抗)属于优化类赛题、C (阿尔茨海默病诊断)属于聚类赛题、D (拉尼娜事件)属于预测和评价类赛题。

由于工作原因个人接触机理分析比较多,认为A和B难度系数较大,但总体难度系数: A>B>D>C

建议数学建模基础不是特别好的同学可以选择C和D, 由于数维杯的评价标准很迷,有听说过一些人在网上套了一些模板代码就能拿国一(可能是论文写的比较完整、思路清晰格式正确),毕竟C和D难度系数相对较小。

1、C题阿尔茨海默病诊断

针对第一问:对所附数据的特征指标进行预处理,调查数据特征与阿尔茨海默病诊断之间的相关性。

解析:这里主要分为两部分内容需要解决,首先是数据处理,然后是选择合适的相关性分析方法判断特征和疾病间的相关性;数据预处理这个很简单,主要是判断有无缺失值或异常值,并且剔除这些的数据,属于常规操作。

相关性分析计算方式也就那么几种: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站上找几个教程大概三四个小时就能速成并且出结果(随便找了个教学视频,我也会上传到群里),但是这个方法有一定缺陷,那就是导出的代码是个模板,提交程序文件时还需要自己改一改。

2. D题拉尼娜事件

本题流程仅供参考,建议可以查看其他相关资料进行解题,本题体量不大,可以尝试大一点难一点模型

D题比较明确,对各种题目的方法和解决方式都特别明显的说清楚了,本题需要大家对很多资料进行研究,如本题的第四问进行了一个管理报告,本题类似美国大学生数学建模竞赛的EF等题目,具有一定的社会性、管理性,但不是空谈是需要我们进行实现分析后的,依据我们现有结果和资料文献研究来的。

针对第一问:对全球三重拉尼娜事件涉及的主要国家和地区进行统计分析,预测未来发生三重拉尼娜事件的可能性。

本题是基于我们要下载的数据进行数据的统计分析,这个方法,大家可以用统计学的方法,做一定的数据分析,比如可以用python的nunpy等包进行数据分析,这个方式我会提供代码放在群里(但SPSSPRO里自带有,会SPSSPRO的赛友就很有优势。处理好数据以后选中数据并且设置后就可以自动生成,如下图),这个是基于对体重分析的代码,赛友可以参考改流程进行分析。

预测的话可以使用比较简单的灰色关联度分析(也叫灰色预测模型),赛友可以参考补充1、2。

同时本题也可以看做是一个明显的基于时间序列的题目进行分析,时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。经济数据中大多数以时间序列的形式给出。根据观察时间的不同,时间序列中的时间可以是年份、季度、月份或其他任何时间形式。

补充1:灰色关联度分析https://blog.csdn.netgq_ 25990967/article/details/123230157

补充2:SPSSPRO:

 

针对第二、三问:

(2)以某国为例,评估分析三重拉尼娜事件下高温干旱造成的各类灾害损失,并提供有针对性的应对策略。

(3)以某国为例,评估分析三重拉尼娜事件作用下洪水造成的各种灾害损失,并提供有针对性的应对策略;

本题的 2、3 两个题目几乎是一样的,本题重点在于评估分析,评估分析的重点在于建立评价价体系与方法,评价类模型这里给大家找了几种不同的、难易度不一样的方法进行解题。

各种评估分析方法介绍及SPSSPRO操作步骤数学建模——常考评价类模型介绍 - 知乎

基本的评价类模型和无代码进行实践链接。

  1. 层次分析法

主观的评价分析(最好多找文献进行评价指数权重的确定)这个权重的确定带主观的色彩, 但如果基于一些文献比如那些损失影响比那些更重要,进行综合评价。并且在进行评价时,不能出现逻辑错误,比如你设定的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))

  1. TOPSIS 方法

特点:基于数据求解距离的评价方法,非主观

其能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。它用于解决的 问题是:给出 n 个对象,以及 n 个对象关于 m 个指标的各项数据,根据这些数据对 n 个对 象进行综合评价并打分,此分数能反映这 n 个对象的综合排名。

如上的两种方法都有其优缺点,建议按照实际情况使用和使用高级模型如下

bp 神经网络算法 :bp神经网络综合评价例题,bp神经网络综合评价法_阳阳2013哈哈的博客-CSDN博客

如对神经网络深度学习机器学习有一定理解的同学可以使用如 cnn,卷积神经网络进行评价:CNN中的权重维度解析以及卷积核中的数值是怎么确定的_微电子学与固体电子学-俞驰的博客-CSDN博客


更多的资料和代码,可以根据自己的需求查找。而本题的第二小问还需要进行策略的分析和研究,对这个策略,肯定是基于前面模型的评价后进行针对对策,影响越大的越需要针对灾害进行防范,影响越小越可以减小和忽视。 2,3 两个问题几乎是一样的方法,这种类型的赛题, 赛友一定要多模型对比,比如层次分析和 TOPSIS 方法对比,哪个更好。或者是 bp 神经网络和 cnn(高难度),层次分析和 bp 神经网络对比,这个是最好在第二题对比,第三题可以用第二题解决效果好的模型进行第三问求解;比如第二问 bp 神经网络模型效果更好,我们就在 bp神经网络上面进行改进的模型来做第三题然后分析,这个是最好的方式和方法。 如果不做对比或者优化,比赛论文内容可能会验证不足。

3. A题 自动地震层位追踪

......有时间了再更吧.......为爱发电有点累了,竟然有人私信说为什么不把程序直接写了发出来,如果愿意给个二三十块我也愿意写,真是站着说话不腰疼......

具体思路会先在链接里更新:22年下数维杯国际大学生数学建模挑战赛C与D解析与思路

  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
2023 第八届数维杯大学生数学建模挑战赛b要求我们通过建立数学模型来解决问。在解答这道之前,我们首先需要理解目的要求和条件。 经过分析目内容,我们可以得知该要求我们确定三幅相互切线连接的圆的半径和切点位置。首先,我们可以通过计算出三个切点的坐标来确定切点位置。可以利用已知条件,使用平行四边形法则,得到切点的坐标。然后,我们可以根据切点坐标计算出三个圆之间的距离,从而求出圆的半径。 为了建立数学模型解决问,我们可以做如下步骤: 第一步,确定切点坐标:根据已知条件,计算出三个切点的坐标。假设三个切点坐标分别为A(x1, y1),B(x2, y2),C(x3, y3)。 第二步,计算圆心坐标:利用平行四边形法则,根据已知的切点坐标可以求得三个圆心的坐标。令圆心坐标分别为O1(xo1, yo1),O2(xo2, yo2),O3(xo3, yo3)。 第三步,计算半径:利用已知的切点和圆心坐标,可以计算出三幅圆之间的距离。令圆的半径分别为r1,r2,r3。 最后,我们可以将以上三步整合在一起,建立数学模型来解决问。运用相关的几何原理和计算方法,可以计算出目要求的圆的半径和切点位置。 总的来说,通过建立数学模型,可以解决2023 第八届数维杯大学生数学建模挑战赛b。我们可以分步骤确定切点坐标和圆心坐标,进而计算出圆的半径。这样,我们就能够满足目的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值