2024 年第十四届 APMCM 亚太地区大学生数学建模竞赛B题超详细解题思路+数据预处理问题一代码分享

news2025/1/17 0:55:17

B题 洪水灾害的数据分析与预测

亚太中文赛事本次报名队伍约3000队,竞赛规模体量大致相当于2024年认证杯,1/3个妈杯,1/10个国赛。赛题难度大致相当于0.6个国赛,0.8个妈杯。该比例仅供大家参考。

本次竞赛赛题难度A:B:C=3:1:4,选题人数估计A:B:C=1:9:2。基于于本次比赛B题选题人数可能会占据很大的比例的现状,我们将提供两个版本论文,思路完全不同的B题资料【一篇论文+两套代码+售后群不禁言】。下面给大家带来详细的解题思路。

对于数据类型的题目,第一步一定是先进行数据处理,而非直接进行问题一的求解。

数据预处理

缺失值处理:

    - 检查数据中的缺失值情况。

    - 根据数据分布情况选择合适的填补方法,如均值填补、中位数填补或插值法。

异常值处理:

    - 绘制箱线图,识别和处理异常值。

- 根据数据的实际意义和分布情况决定是否去除或调整异常值。

数据标准化:

- 对所有数值型数据进行标准化处理,以消除量纲差异对分析结果的影响。

下面进行部分异常值展示,对于数据中提供的各项指标得分中取值区间均为0-17,其中“地形排水”,存在得分为18,该值可以认定为异常值。进行后续的相关处理即可。对于异常值处理的结果,我们可以采用克里斯插值、三次样条等相关处理进行插值即可

问题 1. 请分析附件 train.csv 中的数据,分析并可视化上述 20 个指标中,哪些指标与洪水的发生有着密切的关联?哪些指标与洪水发生的相关性不大?并分析可能的原因,然后针对洪水的提前预防,提出你们合理的建议和措施。

步骤 1: 相关性分析

1. 计算相关系数:

    - 使用皮尔逊相关系数计算各指标与洪水发生概率之间的相关性。

    - 可以选择使用Spearman或Kendall相关系数进行补充分析。

2. 可视化相关性:

    - 使用Seaborn绘制相关性矩阵热力图,直观展示各指标之间的相关性。

- 分析哪些指标与洪水发生概率的相关性较强,哪些指标相关性较弱。

 

步骤 2: 数据可视化

1. 散点图与回归分析:

    - 绘制每个指标与洪水发生概率的散点图,观察数据分布和趋势。

    - 使用线性回归或其他回归方法拟合数据,分析指标与洪水发生概率的关系。

2. 箱线图与分布图:

    - 使用箱线图展示不同指标在不同洪水发生概率区间内的分布情况。

- 使用直方图和密度图分析各指标的分布特征。

 步骤 3: 文字描述

1. 指标分析:

    - 根据相关性分析和可视化结果,讨论各指标对洪水发生的潜在影响机制。

    - 分析可能的人为因素和自然因素对洪水发生的影响。

2. 提出建议:

    - 针对高相关性指标,提出相应的洪水提前预防措施,如加强河流管理、改善排水系统、控制森林砍伐等。

问题 2. 将附件 train.csv 中洪水发生的概率聚类成不同类别,分析具有高、中、低风险的洪水事件的指标特征。然后,选取合适的指标,计算不同指标的权重,建立发生洪水不同风险的预警评价模型,最后进行模型的灵敏度分析。

步骤1: 聚类分析

1. K-means聚类:

    - 使用K-means算法将洪水发生概率分为高、中、低三个风险类别。

    - 对数据进行聚类前的标准化处理,以提高聚类效果。

2. 聚类结果分析:

    - 分析不同类别的指标特征,找出各类别之间的显著差异。

    - 使用可视化方法展示聚类结果,如雷达图、箱线图等。

步骤 2: 权重计算与模型建立

1. 特征选择与权重计算:

    - 使用信息增益、Gini系数等特征选择方法,计算不同指标的权重。

    - 选取重要指标,建立加权和的洪水风险评估模型。

2. 模型灵敏度分析:

    - 通过改变模型参数或去除某些指标,分析模型预测结果的变化。

- 评估模型的鲁棒性和敏感性,确保模型在不同条件下的稳定性。

特征重要性柱状图

问题 3. 基于问题 1 中指标分析的结果,请建立洪水发生概率的预测模型,从 20 个指标中选取合适指标,预测洪水发生的概率,并验证你们预测模型的准确性。如果仅用 5 个关键指标,如何调整改进你们的洪水发生概率的预测模型?

步骤1: 特征选择与模型建立

1. 特征选择:

    - 根据问题1的分析结果,选取与洪水发生概率关系密切的指标。

    - 尝试多种机器学习模型,如线性回归、决策树、随机森林、XGBoost等,建立洪水发生概率的预测模型。

2. 模型训练与优化:

    - 使用交叉验证和网格搜索优化模型参数,选择最优模型。

    - 评估模型的预测精度,确保模型的泛化能力。

步骤2: 模型验证与改进

1. 模型验证:

    - 使用 `train.csv` 中的部分数据进行训练,其余数据进行验证,评估模型的预测精度。

    - 分析预测误差,优化模型结构和参数。

2. 关键指标模型:

    - 如果仅使用5个关键指标,调整模型结构,重新训练和验证模型。

    - 比较不同模型的预测效果,选择最佳方案。

 

问题 4. 基于问题 2 中建立的洪水发生概率的预测模型,预测附件 test.csv 中

所有事件发生洪水的概率,并将预测结果填入附件 submit.csv 中。然后绘制这 74

多万件发生洪水的概率的直方图和折线图,分析此结果的分布是否服从正态分布。

 步骤1: 预测与提交结果

1. 模型预测:

    - 使用问题3中选定的最佳模型,预测 `test.csv` 中每个事件的洪水发生概率。

    - 将预测结果填入 `submit.csv` 文件中。

 步骤2: 分布分析

1. 直方图与折线图:

    - 绘制74万件洪水事件的概率直方图和折线图,分析洪水发生概率的分布情况。

    - 使用正态性检验方法(如Shapiro-Wilk检验),判断预测结果是否符合正态分布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1895142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记——动态路由——OSPF(OSPF状态机、DR\BDR选举)

七、OSPF状态机、DR\BDR选举 1、OSPF的8种状态机 OSPF在邻居与邻接建立的过程中会经过多个状态机的变化,状态机的出现不仅能让我们了解OSPF建立过程,也能在OSPF出现故障的时候通过状态机的状态来粗略判断问题的所在。 (1)邻居建立状态变化过程 1、Dow…

搜维尔科技:Xsens实时动作捕捉,驱动人形机器人操作!

搜维尔科技:http://www.souvr.comhttp://www.souvr.com实时动作捕捉,驱动人形机器人操作! 搜维尔科技:Xsens实时动作捕捉,驱动人形机器人操作!

Vue3Echarts写关于温湿度统计的好看折线图

在项目统计界面,我们离不开对Echarts的使用,接下来是我在做项目过程中做的一个关于温湿度统计的好看折线图,统计的是温度蓝色和湿度绿色,它们还会有告警和断电,分别用橘黄色和红色区分,以下是示例&#xff…

anaconda命令大全

目录 查看所有虚拟环境查看某虚拟环境安装的包创建虚拟环境激活创建好的虚拟环境回到之前的环境删除创建的虚拟环境查看conda所在的位置、虚拟环境位置等信息conda修改虚拟环境所在的位置 查看所有虚拟环境 conda env list查看某虚拟环境安装的包 激活要查看的虚拟环境之后&a…

欢乐钓鱼大师游戏攻略:在什么地方掉称号鱼?云手机游戏辅助!

《欢乐钓鱼大师》是一款融合了休闲娱乐和策略挑战的钓鱼游戏。游戏中的各种鱼类不仅各具特色,而且钓鱼过程充满了挑战和乐趣。下面将为大家详细介绍如何在游戏中钓鱼,以及一些有效的钓鱼技巧,帮助你成为一个出色的钓鱼大师。 实用工具推荐 为…

如何计算弧线弹道的落地位置

1)如何计算弧线弹道的落地位置 2)Unity 2021 IL2CPP下使用Protobuf-net序列化报异常 3)编译问题,用Mono可以,但用IL2CPP就报错 4)Wwise的Bank在安卓上LoadBank之后,播放没有声音 这是第393篇UWA…

oracle存储结构-----逻辑存储结构(表空间、段、区、块)

文章目录 oracle存储结构图(逻辑存储物理存储)oracle逻辑存储结构图逻辑存储结构、表空间、段、区、数据块的关系:1、数据 块(block)---逻辑存储最小单位2、 数据区(extent)--存储空间分配和回收…

使用 Git Hooks 防止敏感信息泄露

欢迎关注公众号:冬瓜白 在日常开发中,我们可能会不小心将敏感信息提交到 Git。为了防止这种情况,可以利用 Git Hooks 编写一个简单的脚本,当发现提交中包含敏感词时,给出提示。 以下是一个基于 pre-commit 钩子的示例…

记录在Linux(龙蜥8.6)配置jdk环境变量不生效问题

在Linux中,将jdk解压至 /opt/soft/jdk 目录中,使用root用户配置在/etc/profile中配置环境变量并source后,使用root用户是正常的,但是切换到普通用户后提示: 这个问题是普通用户对 /opt/soft/jdk 目录无执行权限 解决&…

面向对象-封装

一.包 1.简介 当我们把所有的java类都写src下的第一层级,如果是项目中,也许会有几百个java文件。 src下的文件会很多,开发的时候不方便查找,也不方便维护如果较多的文件中有同名的,十分麻烦 模块1中有一个叫test.ja…

汇聚荣拼多多评价好不好?

汇聚荣拼多多评价好不好?在探讨电商平台的口碑时,用户评价是衡量其服务质量和商品质量的重要指标。拼多多作为国内领先的电商平台之一,其用户评价自然成为消费者选择购物平台时的参考依据。针对“汇聚荣拼多多评价好不好?”这一问题,可以从…

Pinia:Vue 2 和 Vue 3 中更好用的状态管理框架

前言 还在用Vuex? 在Vue应用程序的开发过程中,高效且易于维护的状态管理一直是开发者关注的核心问题之一。随着Vue 3的发布,状态管理领域迎来了一位新星——Pinia,它不仅为Vue 3量身打造,同时也向下兼容Vue 2,以其简…

uni-appx,实现登录功能,弹窗功能。组件之间传值

这篇文章的内容使用组合式API实现的,只有弹窗部分有选择式API的写法介绍。如果想要看其他选择式API,还请下载官方的hello-uni-appx源码进行学习,查看。想要看组合式API的写法,请查看源码 hello-uvue。 hello-uni-appx源码 相比于…

JavaSE (Java基础):面向对象(下)

8.7 多态 什么是多态? 即同一方法可以根据发送对象的不同而采用多种不同的方式。 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多。在句话我是这样理解的: 在实例中使用方法都是根据他最开始将类实例化最左边的类型来定的&…

http数据传输确保完整性和保密性整流程方案(含源码)

往期文章回顾 【深度学习】 【深度学习】物体检测/分割/追踪/姿态估计/图像分类检测演示系统【含源码】【深度学习】YOLOV8数据标注及模型训练方法整体流程介绍及演示【深度学习】行人跌倒行为检测软件系统【深度学习】火灾检测软件系统【深度学习】吸烟行为检测软件系统【深度…

element-ui el-select选择器组件下拉框增加自定义按钮

element-ui el-select选择器组件下拉框增加自定义按钮 先看效果 原理&#xff1a;在el-select下添加禁用的el-option&#xff0c;将其value绑定为undefined&#xff0c;然后覆盖el-option禁用状态下的默认样式即可 示例代码如下&#xff1a; <template><div class…

Maxwell 数据采集工具详解

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 欢迎关注微信公众号&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&a…

修改头文件版本需要修改的文件

以修改ui的头文件版本为例&#xff0c;还需要同时更新 PJ10PC20240120041_c928\components\master-t5\hikauto\module\app\include PJ10PC20240120041_c928\components\master-t5\hikauto\module\app\include\dsp PJ10PC20240120041_c928\components\master-t5\hikauto\incl…

文华财经T8多空量化交易策略模型源码

//定义变量 N : 3; // 连续K线数量&#xff08;可根据需要调整&#xff09; Q : 0.05; // 止盈比例5%&#xff08;可根据需要调整&#xff09; HIGH_PRICE : REF(HIGH, 1); // 记录前根阳线的最高价 LOW_PRICE : REF(LOW, 1); // 记录前根阴线的最低价 //做多策略 REF(EV…

开发国际短剧系统的策略解析

一、明确项目目标和需求 1、功能需求&#xff1a;确定系统应具备的基本功能&#xff0c;如用户注册、登录、浏览短剧、评论、分享、个性化推荐等。 2、性能需求&#xff1a;确保系统能够承受高并发访问&#xff0c;保证视频流畅播放&#xff0c;减少卡顿和延迟。 3、跨文化传播…