2024亚太杯中文赛B题全保姆教程
B题 洪水灾害的数据分析与预测
问题 1. 请分析附件 train.csv 中的数据,分析并可视化上述 20 个指标中,哪 些指标与洪水的发生有着密切的关联?哪些指标与洪水发生的相关性不大?并 分析可能的原因,然后针对洪水的提前预防,提出你们合理的建议和措施。
简单版:斯皮尔曼相关系数
1. 计算斯皮尔曼相关系数:
a. 计算各指标与洪水发生的斯皮尔曼相关系数和 P 值。
b. 将结果以表格形式展示,包括相关系数和 P 值。
2. 可视化:
a. 使用条形图或点图展示各指标与洪水发生的斯皮尔曼相关系数。
b. 在图中标出显著性水平(如 P 值<0.05)。
进阶版:OLS线性回归
1. 建立OLS线性回归模型:
a. 使用 statsmodels 库,建立以洪水发生为因变量,各指标为自变量的 OLS 线性回归模型。
b. 提取回归系数、标准误差、P 值等结果。
2. 分析结果:
a. 根据标准系数和 P 值,判断哪些指标对洪水发生有显著影响。
b. 绘制回归系数的条形图,标出显著性水平。
高阶版:机器学习回归模型
1. 构建机器学习模型:
a. 选择适当的回归模型,如随机森林回归(Random Forest Regressor)、梯度提升回归(Gradient Boosting Regressor)等。
b. 使用训练集进行模型训练,使用交叉验证评估模型性能。
2. 特征重要度:
a. 提取特征重要度,使用条形图展示各指标的重要度。
b. 结合模型的解释力,分析哪些指标对洪水发生预测贡献最大。
超阶版:可解释机器学习模型
1. SHAP模型:
a. 使用 SHAP 库,计算特征对模型预测的贡献。
b. 绘制 SHAP 值图,包括 Summary Plot 和 Dependence Plot,深入分析各特征对洪水发生的影响。
2. 分析结果:
a. 根据 SHAP 分析结果,提供每个特征对预测结果的详细解释。
b. 将 SHAP 分析与前述的特征重要度结果进行对比,验证一致性。

问题 2. 将附件 train.csv 中 洪水发生的概率聚类成不同类别,分析具有高、 中、低风险的洪水事件的指标特征。然后,选取合适的指标,计算不同指标的权重,建立发生洪水不同风险的预警评价模型,最后进行模型的灵敏度分析。
● 选择适合的聚类算法对洪水发生的概率进行聚类。常用的方法包括K-means和层次聚类,通过这些算法可以将数据分为高、中、低风险三类。聚类效果的验证可使用轮廓系数、Calinski-Harabasz指数等指标,确保分类的合理性和准确性。
● 构建预警评价模型时,首先根据特征重要度分析的结果选取关键指标,并使用决策树模型的特征重要度计算每个指标的权重。然后,通过训练决策树模型,并使用网格搜索或随机搜索进行超参数优化,最终建立具有良好泛化能力的预警模型。
● 通过分析不同超参数对模型性能的影响,以及逐一修改指标值观察模型输出的变化,可以评估各个指标对预警模型的敏感度。此外,对模型进行鲁棒性测试,确保其在不同数据集下的稳定性和可靠性。
问题 3. 基于问题 1 中指标分析的结果,请建立洪水发生概率的预测模型, 从 20 个指标中选取合适指标,预测洪水发生的概率,并验证你们预测模型的准 确性。如果仅用 5 个关键指标,如何调整改进你们的洪水发生概率的预测模型?
在基于问题1的指标分析结果后,我们首先需要从20个指标中选择合适的指标来预测洪水发生的概率。通过数据预处理、特征选择等步骤,我们可以筛选出最相关的特征,避免多重共线性问题。接着,构建多个预测模型如逻辑回归、支持向量机、随机森林等,利用R2、mape方法评估模型性能,最终选出最佳模型。
在仅用5个关键指标进行模型调整和改进时,我们需要从前面的特征选择结果中挑选出最重要的5个指标。然后,重新训练模型,并通过特征工程和模型集成方法(如堆叠和集成学习)提升模型的预测能力。进一步进行超参数调优,确保模型在使用少量特征的情况下依然具备较高的预测准确性和鲁棒性。
问题 4. 基于问题 2 中建立的洪水发生概率的预测模型,预测附件 test.csv 中 所有事件发生洪水的概率,并将预测结果填入附件 submit.csv 中。然后绘制这 74 多万件发生洪水的概率的直方图和折线图,分析此结果的分布是否服从正态分布。
这个直接基于问题3第一小问的模型进行预测,然后分析预测结果是否服从正态分布,可以通过绘制正态性检验直方图或者Kolmogorov–Smirnov检验
完整思路讲解视频请大家先看B站:不知名数学家小P
2024亚太杯中文赛B题超详细思路及手把手教程建模+数据+结果_哔哩哔哩_bilibiliwww.bilibili.com/video/BV1rm421g7RG/?spm_id_from=333.999.0.0编辑
相关文章:
2024亚太杯中文赛B题全保姆教程
B题 洪水灾害的数据分析与预测 问题 1. 请分析附件 train.csv 中的数据,分析并可视化上述 20 个指标中,哪 些指标与洪水的发生有着密切的关联?哪些指标与洪水发生的相关性不大?并 分析可能的原因,然后针对洪水的提前预…...
穿越光影,共赏中华瑰宝——皮影戏文化交流盛会
2024年7月3日,皮影不离团队的成员非常荣幸能与外国语学院的同学以及留学生一同探索中国古老而迷人的艺术形式——皮影戏。皮影戏,源自中国民间,距今已有数千年的历史,它不仅是光与影的魔术,更是文化传承的活化石。 在这…...
SQL常用经典语句大全
SQL经典语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server — 创建 备份数据的 device USE master EXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:…...
黑马点评DAY5|商户查询缓存
商户查询缓存 缓存的定义 缓存就是数据交换的缓冲区(Cache),是存储数据的临时地方,一般读写性能较高。 比如计算机的CPU计算速度非常快,但是需要先从内存中读取数据再放入CPU的寄存器中进行运算,这样会限…...
Owl 中的 Props 概述
在动态的 Web 开发环境中,创建模块化和可重用组件对于构建可扩展应用程序至关重要。将这种方法提升到新水平的一个框架是 Owl,其中“props”(属性的缩写)的概念在协调父组件和子组件之间的通信中起着关键作用。在 Owl 框架中&…...
【大数据综合试验区1008】揭秘企业数字化转型:大数据试验区政策数据集大公开!
今天给大家分享的是国内顶级期刊中国工业经济2023年发布的最新期刊《政策赋能、数字生态与企业数字化转型——基于国家大数据综合试验区的准自然实验》文章中所使用到的数据集——国家大数据综合试验区政策数据集以及工具变量数据,该文章基于2009-2019年中国上市企业…...
在 WebGPU 与 Vulkan 之间做出正确的选择(Making the Right Choice between WebGPU vs Vulkan)
在 WebGPU 与 Vulkan 之间做出正确的选择(Making the Right Choice between WebGPU vs Vulkan) WebGPU 和 Vulkan 之间的主要区别WebGPU 是什么?它适合谁使用?Vulkan 是什么?它适合谁使用?WebGPU 和 Vulkan…...
亚马逊云服务器的价格真的那么贵吗?一年要花多少钱?
亚马逊Web服务(AWS)作为全球领先的云计算平台,其定价策略常常引起用户的关注。很多人可能会问:"AWS真的那么贵吗?"实际上,这个问题的答案并不是简单的"是"或"否",…...
Python学习篇:Python基础知识(三)
目录 1 Python保留字 2 注释 3 行与缩进 编辑4 多行语句 5 输入和输出 6 变量 7 数据类型 8 类型转换 9 表达式 10 运算符 1 Python保留字 Python保留字(也称为关键字)是Python编程语言中预定义的、具有特殊含义的标识符。这些保留字不能用作…...
C++字体库开发之字体回退三
代码片段 class FontCoverage { public: using SP std::shared_ptr<FontCoverage>; virtual ~FontCoverage() default; virtual void set(int index, FontTypes::CoverageLevel level) 0; virtual FontTypes::Coverag…...
python vtk lod 设置
在Python中使用VTK库设置Level of Detail (LOD)可以通过vtkLODProp3D类来实现。这个类允许你为一个模型指定不同级别的细节表示,从而在渲染时根据模型与摄像机的距离自动切换到更适合的表示。 以下是一个简单的例子,展示如何使用vtkLODProp3D来设置LOD&…...
Rhino 犀牛三维建模工具下载安装,Rhino 适用于机械设计广泛领域
Rhinoceros,这款软件小巧而强大,无论是机械设计、科学工业还是三维动画等多元化领域,它都能展现出其惊人的建模能力。 Rhinoceros所包含的NURBS建模功能,堪称业界翘楚。NURBS,即非均匀有理B样条,是计算机图…...
Unleashing Text-to-Image Diffusion Models for Visual Perception
mmcv的环境不好满足,不建议复现...
[2024]docker-compose实战 (1)前言
前言 本文用来记录使用docker-compose来实战搭建一个多项目的测试环境. 环境中包含nodejs, php, html, redis, MongoDB, mysql. 在本次部署流程中, 尽量保证原镜像的"干净简洁", 尽量不会往镜像中加入各种软件和插件, 所有的配置尽可能的在宿主机映射进去. 项目…...
并发编程面试题3
一、CountDownLatch,Semaphore的高频问题: 1.1 CountDownLatch是啥?有啥用?底层咋实现的? CountDownLatch 本质上是一个计数器,用于协调多个线程之间的同步。主要应用场景是在多线程并行处理业务时,需要等待其他线程处理完再进行后续操作,例如合并结果或响应用户请求…...
Movable antenna 早期研究
原英文论文名字Historical Review of Fluid Antenna and Movable Antenna 最近,无线通信研究界对“流体天线”和“可移动天线”两种新兴天线技术的发展引起了极大的关注,这两种技术因其前所未有的灵活性和可重构性而极大地提高了无线应用中的系统性能。…...
Polkadot 安全机制揭秘:保障多链生态的互操作性与安全性
作者:Filippo Franchini,Web3 Foundation 原文:https://x.com/filippoweb3/status/1806318265536242146 编译:OneBlock Polkadot 是一个创新的多链区块链平台,旨在实现不同区块链之间的互操作性和共享安全性。本文将详…...
python将多个文件夹里面的文件拷贝到一个文件夹中
网上可以搜到很多方式,有的好使,有的不好使,亲测如下脚本可用,并可达到我想要的效果,只将多个文件夹里的文件拷贝到一个文件夹中,不拷贝文件夹本身,如果需要文件夹也拷贝打开注释行即可 import…...
docker私有仓库harbor部署
docker私有仓库harbor部署 概述 Docker 官方镜像源被中国大陆政府封锁,导致无法在中国大陆的计算机上直接使用 Docker 拉取镜像,导致使用者一下子手足无措了,的确一开始会有很大的影响,为了应对这种影响我们可以自己构建私有仓库&…...
如何在Java中实现函数式编程
如何在Java中实现函数式编程 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Java中,函数式编程是一种编程范式,它将计算视为数学函数…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
在Zenodo下载文件 用到googlecolab googledrive
方法:Figshare/Zenodo上的数据/文件下载不下来?尝试利用Google Colab :https://zhuanlan.zhihu.com/p/1898503078782674027 参考: 通过Colab&谷歌云下载Figshare数据,超级实用!!࿰…...
CppCon 2015 学习:REFLECTION TECHNIQUES IN C++
关于 Reflection(反射) 这个概念,总结一下: Reflection(反射)是什么? 反射是对类型的自我检查能力(Introspection) 可以查看类的成员变量、成员函数等信息。反射允许枚…...
