2024 年第十四届 APMCM 亚太地区大学生数学建模 B题 洪水灾害的数据分析与预测--完整思路代码分享(仅供学习)

news2025/1/13 2:57:34

洪水是暴雨、急剧融冰化雪、风暴潮等自然因素引起的江河湖泊水量迅速增加,或者水位迅猛上涨的一种自然现象,是自然灾害。洪水又称大水,是河流、海洋、湖泊等水体上涨超过一定水位,威胁有关地区的安全,甚至造成灾害的水流。洪水一词,在中国出自先秦《尚书·尧典》。从那时起,四千多年中有过很多次水灾记载,欧洲最早的洪水记载也远在公元前1450年。在西亚的底格里斯一幼发拉底河以及非洲的尼罗河关于洪水的记载,则可追溯到公元前40世纪。2023年6月24日8时至25 日8时,中国15条河流发生超警洪水。2023年,全球洪水等造成了数十亿美元的经济损失。

洪水的频率和严重程度与人口增长趋势相当一致。迅猛的人口增长,扩大耕地,围湖造田,乱砍滥伐等人为破坏不断地改变着地表状态,改变了汇流条件,加剧了洪灾程度。在降水多的年份,洪水是否造成灾害,以及洪水灾害的大小,也离不开人为因素,长期以来人为的森林破坏是其重要原因。长江上游乱砍滥伐的恶果是惊人的水土流失。现已达 35 万平方千米,每年土壤漫融量达25 亿吨。河流、湖泊、水库淤积的泥沙量达 20 亿吨。仅四川一省一年流入长江各支流的泥沙,如叠成宽高各】米的堤,可以围绕地球赤道16圈。我国第一大淡水湖洞庭湖每年沉积的泥沙达】亿多吃,有专家惊呼:“这样下去,要不了50年,洞庭湖将从地球上消失!”长江之险,险在荆江,由于泥沙俱下,如今荆江段河床比江外地面高出十多米,成了除黄河之外名副其实的地上河。对森林的肆意砍伐不仅危害自己,而且祸及子孙后代,世界上许多地方,如美索不达米亚、小亚细亚、阿尔卑斯山南坡等由于过度砍伐森林,最后都变成了不毛之地。附件 train,csv 中提供了超过100万的洪水数据,其中包含洪水事件的 id、季风强度、地形排水、河流管理、森林砍伐、城市化、气候变化、大坝质量、淤积、农业实践、侵蚀、无效防灾、排水系统、海岸脆弱性、滑坡、流城、基础设施恶化、人口得分、湿地损失、规划不足、政策因素和发生洪水的概率。附件test.csv中包含了超过70万的洪水数据,其中包含洪水事件的id和上述 20个指标得分,缺少发生洪水的概率。附件submi.csv 中包含 test.csv 中的洪水事件的 id,缺少发生洪水的概率。

请你们的团队通过数学建模和数据分析的方法,预测发生洪水灾害的概率,解决以下问题:

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

洪水是由多种因素共同作用的复杂自然灾害事件。为了系统地分析这些因素对洪水发生的影响,我们需要建立数学模型,量化各个因素与洪水发生概率之间的关系。以下是详细的数学建模过程及其预防措施。

  1. 数据准备 首先,数据集中包含20个指标(独立变量)和洪水发生的概率(目标变量)。设 xi​ 表示第i个样本,其中 xi=(xi1,xi2,...,xi20),yi表示第i个样本的洪水发生概率。

  2. 相关性分析 我们需要计算每个独立变量与目标变量之间的相关性。通常使用皮尔逊相关系数来衡量线性相关性。皮尔逊相关系数r的公式为:

  1. 多元线性回归模型 为了进一步量化各个指标对洪水发生概率的影响,我们可以使用多元线性回归模型。多元线性回归模型假设洪水发生概率y可以表示为各个指标 xi 的线性组合:

其中,β0是截距项,βi是第i个指标的回归系数,ϵ是误差项。 我们可以使用最小二乘法(OLS)来估计回归系数 βi。OLS 的目标是最小化残差平方和:

其中,y^i是预测值:

  1. 模型评价与选择

模型建立后,我们需要评估模型的性能。常用的评价指标包括决定系数 R2和均方误差(MSE):

通过这些指标,我们可以判断模型的拟合优度和预测精度。

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

洪水是自然灾害中最常见的类型之一,其发生具有高度的不确定性和复杂性。为了有效分析和预测洪水风险,我们需要对洪水发生的概率进行聚类分析,识别高、中、低风险类别,并建立预警评价模型。以下是详细的数学建模过程及其相关公式。

  1. 数据准备与标准化 假设数据集包含 n个样本,每个样本有 m个指标(独立变量)和洪水发生的概率(目标变量)。设 X=[x1,x2,...,xn]T表示数据矩阵,其中 xi=(xi1,xi2,...,xim)为第 iii 个样本的指标向量,yi表示第 iii 个样本的洪水发生概率。 为了使不同尺度的指标具有可比性,我们需要对数据进行标准化处理。标准化公式为:

其中,xij表示第i个样本的第j个指标,μ和 σj分别表示第j个指标的均值和标准差。

  1. 聚类分析 为了将洪水发生概率聚类成不同的风险类别,我们可以使用K-means 聚类算法。设K 为预定的聚类数目,我们希望将数据集划分为K个聚类,使得同一聚类中的样本在特征空间中的距离最小,而不同聚类间的样本距离最大。 K-means 聚类的目标函数为:

其中,Ck表示第 k个聚类,μk为第k个聚类的中心。

  1. 指标特征分析 通过聚类分析,我们将样本划分为 KKK 个风险类别。对于每个风险类别Ck,我们可以计算各个指标的均值来分析其特征。设 xˉkj表示第 kkk 个风险类别中第j个指标的均值,计算公式为:

通过比较不同风险类别的均值,我们可以识别高、中、低风险类别的主要特征。

  1. 指标权重计算 为了进一步量化各个指标对洪水发生风险的影响,我们需要计算不同指标的权重。可以使用随机森林回归模型来评估各个指标的重要性。随机森林的重要性度量基于每个指标对预测结果的不纯度减少量(Gini impurity 或均方误差)。 设Ij表示第j个指标的重要性,计算公式为:

其中,TTT 是树的总数,ΔIjt表示第t棵树中第j个指标的不纯度减少量。

  1. 建立预警评价模型 基于计算的指标权重,我们可以建立洪水风险的预警评价模型。假设我们使用线性回归模型来建立预警模型,模型形式为:

其中,β0是截距项,βj是第j个指标的回归系数。 使用最小二乘法(OLS)估计回归系数,目标是最小化残差平方和:

其中,y^i是预测值:

  1. 模型评价 为了评估预警模型的性能,我们可以使用均方误差(MSE)和决定系数(R2)等指标。均方误差的计算公式为:

决定系数 R2的计算公式为:

其中,yˉ是目标变量y的均值。

  1. 模型灵敏度分析

为了分析预警模型对不同指标变化的敏感性,我们可以使用排列重要性(Permutation Importance)方法。排列重要性通过随机打乱一个指标的值来评估该指标对模型性能的影响。

设 Ij表示第aj个指标的排列重要性,计算公式为:

其中,y^i,j是打乱第j个指标后得到的预测值。

代码求解结果:

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

问题4.基于问题2中建立的洪水发生概率的预测模型,预测附件 test.csv 中所有事件发生洪水的概率,并将预测结果填入附件 submit.csv 中。然后绘制这 74多万件发生洪水的概率的直方图和折线图,分析此结果的分布是否服从正态分布

完整版本获取:

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

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

相关文章

学习笔记——动态路由——OSPF工作原理(SPF算法)

3、SPF算法 SPF算法(最短路径优先算法,也称Dijkstra算法)由荷兰科学家狄克斯特拉于1959年提出的。 SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该…

算法金 | 我最常用的两个数据可视化软件,强烈推荐

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 预警:今天文章的描述可能会让你有点别扭;如感到不适,请及时停止 在我行…

JVM原理(十六):JVM虚拟机类型擦除与泛型发展

1. 泛型 泛型的本质是参数化类型或者参数化多态的应用,即可以将操作的数据类型指定为方法签名中的一种特殊参数,这种参数类型能够用在类、接口和方法的创建中,分别构成泛型类、泛型接口和泛型方法。 泛型让程序员能够以针对泛化的数据类型编…

深度网络现代实践 - 深度前馈网络之反向传播和其他的微分算法篇-续

序言 反向传播(Backpropagation,简称backprop)是神经网络训练过程中最关键的技术之一,尤其在多层神经网络中广泛应用。它是一种与优化方法(如梯度下降法)结合使用的算法,用于计算网络中各参数的…

【数据库】仓库管理数据库(练习样例)

某连锁超市需要设计实现一个仓库管理系统,要求每个仓库可以有多名仓库管理员,每个仓库管理员只负责管理一个仓库,同时每个仓库都配备了一名仓库主管;不同的仓库存放的是不同类型的货品,每种货品只存放在固定的仓库中&a…

多态的优点

多态的优点 1、多态的优点1.1 可替换性(Substitutability)2、可扩充性(Extensibility) 2、总结 💖The Begin💖点点关注,收藏不迷路💖 1、多态的优点 在面向对象编程(OOP…

14-23 深度神经网络的主要架构(RNN/LSTM/CNN)

神经网络架构 神经网络的架构决定了这些网络如何运行,这是执行各种任务和扩展神经网络应用的关键因素,主要有两种方法:前馈神经网络和反馈神经网络。在本文中,在彻底分析每种方法之后,我们将对这两种架构进行深入比较…

MFC常见问题解决

文章目录 1. 单文档程序初始化显示设置问题解决方案 1. 单文档程序初始化显示设置 问题 在Microsoft Foundation Classes (MFC) 中,单文档应用程序(SDI)的初始化时默认并不设置为最大显示。但你可以通过编程方式在程序启动时将其设置为全屏…

头歌资源库(19)在排序数组中查找元素的首尾位置

一、 问题描述 二、算法思想 该问题可以通过二分查找的思想来解决。 首先,我们可以使用二分查找找到目标值在数组中的任意一个位置(即该位置的值等于目标值)。假设找到的位置为mid。 接下来,我们需要在mid的左边和右边分别找到…

Golang | Leetcode Golang题解之第216题组合总和III

题目: 题解: func combinationSum3(k int, n int) (ans [][]int) {var temp []intvar dfs func(cur, rest int)dfs func(cur, rest int) {// 找到一个答案if len(temp) k && rest 0 {ans append(ans, append([]int(nil), temp...))return}/…

Docker的基本介绍

Docker 简单介绍 基本概念 镜像 docker 镜像好比一个模板,可以通过这个模板来创建容器服务,是一种轻量级、可执行的软件包,包含运行应用程序时所需要的一切:代码、运行时、库、环境变量、配置文件等 所有的应用打包成一个 doc…

C语言入门-结构体6

结构体入门 编写程序&#xff0c;用struct分别表示平面上的点和平面上的矩形。 #include <stdio.h> int main() { struct point {int x; int y;}; struct point p1 {1, 2}; printf(“(%d, %d)\n”, p1.x, p1.y); struct rectangle {struct point p1;struct point p2;…

vue的学习--day3

1、尝试使用json文件模拟增删改查 json server:准备一份自己的数据&#xff08;这里我用的是老师给的&#xff09;。 转到d盘&#xff0c;然后打开json文件&#xff1a; 下面模拟增删改查&#xff1a; 借助工具postman或apifox或apipost&#xff1a; 这里我下载了apifox&…

【Abaqus Case】2D弹塑性接触分析

原文链接&#xff1a;https://www.cnblogs.com/aksoam/p/18283296 更多精彩&#xff0c;关注博客园主页&#xff0c;不断学习&#xff01;不断进步&#xff01; 我的主页 csdn很少看私信&#xff0c;有事请b站私信 博客园主页-发文字笔记-常用 有限元鹰的主页 内容&#xf…

VCS+Vivado联合仿真BUG

场景&#xff1a; 在vcsvivado联合仿真过程中&#xff0c;对vivado导出的shell脚本修改&#xff0c;修改某些source文件路径&#xff0c;vcs编译时会报Permission Denied。 问题描述 对shell脚本修改如下&#xff1a; 修改仅为注释掉某一行&#xff0c;下面变为source文件新…

Golang | Leetcode Golang题解之第214题最短回文串

题目&#xff1a; 题解&#xff1a; func shortestPalindrome(s string) string {n : len(s)fail : make([]int, n)for i : 0; i < n; i {fail[i] -1}for i : 1; i < n; i {j : fail[i - 1]for j ! -1 && s[j 1] ! s[i] {j fail[j]}if s[j 1] s[i] {fail[i…

sql查询 只取某字段重复数据中的一条

一. 前提条件 某表的主键由两个字段A、B构成&#xff08;或者更多&#xff09;&#xff0c;任何其中一个字段都可能具有重复的数据。 需要只取字段A所有重复数据中的一条构成查询结果&#xff0c;也就是字段A取到所有的可能取值且无重复。 二. 方法一&#xff08;where ... …

填报高考志愿,怎样正确地选择大学专业?

大学专业的选择&#xff0c;会关系到未来几年甚至一辈子的发展方向。这也是为什么很多人结束高考之后就开始愁眉苦脸&#xff0c;因为他们不知道应该如何选择大学专业&#xff0c;生怕一个错误的决定会影响自己一生。 毋庸置疑&#xff0c;在面对这种选择的时候&#xff0c;我…

3-2 梯度与反向传播

3-2 梯度与反向传播 主目录点这里 梯度的含义 可以看到红色区域的变化率较大&#xff0c;梯度较大&#xff1b;绿色区域的变化率较小&#xff0c;梯度较小。 在二维情况下&#xff0c;梯度向量的方向指向函数增长最快的方向&#xff0c;而其大小表示增长的速率。 梯度的计算 …

Java--封装详解

1.该漏的漏&#xff0c;该藏的藏 我们程序设计要追求“高内聚&#xff0c;低耦合”。高内聚就是类的内部数据操作细节自己完成&#xff0c;不允许外部干涉&#xff1b;低耦合&#xff1a;仅暴露少量的方法给外部使用 2.封装&#xff08;数据的隐藏&#xff09;私有&#xff1a…