2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛-B题 疾病的预测与大数据分析
难度排序(从易到难):B题(中等) < A题(中等偏高) < C题(高)。理由:B题基于标准数据分析流程,相对直接;A题涉及多目标优化,增加复杂度;C题引入量子技术,门槛最高。
开放度排序(从低到高):C题(中等偏低) < A题(中等) < B题(高)。理由:C题受QBoost框架限制;A题有地理和成本约束,但优化策略灵活;B题特征和模型选择自由度最大。
以下为ABC题选题建议及初步分析:(要注意的是,本次选题建议会给出每道题目的题目分析、第一问建模过程和推荐算法,然后根据学生不同的专业,针对性给出选题建议)。
综合评价:
B题(疾病预测)是数据分析的“甜点区”,难度适中、开放度高,适合大多数专业,尤其数据科学团队。A题(灌溉优化)提供实用场景但难度略高,适合有优化经验的团队。C题(量子Boosting)创新性强但门槛高,仅推荐技术专家。竞赛中,选题应优先考虑团队专长:数据分析爱好者选B题,环境/农业背景选A题,计算机/量子背景选C题。准备时,建议利用附件数据(A题和B题)进行预处理练习,并参考Kaiwu SDK文档(C题)。
A题 农业灌溉系统优化
A题要求优化农场灌溉系统,涉及土壤湿度预测、管道和储水罐的成本最小化设计,以及应对旱灾的应急方案。问题基于真实气象和土壤数据(附件提供),需综合考虑作物需水量、动态天气和地理布局。核心挑战包括建立预测模型(如土壤湿度与气象因素的关系)、优化引水管布线(考虑非线性成本)和储水罐配置,确保作物存活。
建模过程为:
推荐算法:
·预测模型:时间序列分析(如ARIMA、LSTM)用于土壤湿度预测。
·优化算法:遗传算法(GA)或线性规划(LP)用于成本最小化;地理信息系统(GIS)工具辅助布局设计。
·其他:蒙特卡洛模拟用于旱灾风险评估。
大家可以使用这些可视化方法:
前沿可视化
·三维时空热力图:Plotly动态展示土壤湿度随时间和空间位置的变化
·SHAP力导向图:解释各气象因子对预测值的贡献路径
传统可视化
·多变量折线图:Matplotlib叠加显示T/P/RR与5cm_SM的时序关系
B题 疾病的预测与大数据分析
B题聚焦中风、心脏病和肝硬化的预测模型构建,基于三个CSV数据集(stroke.csv、heart.csv、cirrhosis.csv)。任务包括数据预处理、统计分析、预测模型开发、多疾病关联分析,以及为WHO提供预防建议。核心是挖掘特征(如年龄、血压、生活习惯)与疾病概率的关系,并评估共病风险。
建模过程为:
推荐算法:
·数据预处理:标准化、PCA降维、SMOTE处理不平衡数据。
·预测模型:分类算法如逻辑回归、随机森林或XGBoost;关联分析使用Apriori或贝叶斯网络。
·评估:交叉验证、ROC曲线分析。
·TabTransformer利用自注意力机制处理表格数据,优于传统树模型
大家可以使用这些可视化方法:
前沿可视化
·UMAP降维投影:Plotly交互展示高维特征空间中疾病聚类
·累积局部效应图(ALE):展示关键特征(如年龄)对患病概率的边际效应
传统可视化
·关联规则桑基图:Pyecharts绘制三种疾病间的共病关系流
C题 基于Quantum Boosting的二分类模型问题
C题要求使用QBoost方法处理Iris数据集的二分类任务(Setosa vs. Versicolor)。流程包括数据预处理、弱分类器设计、QUBO模型转化,并利用Kaiwu SDK的模拟退火求解器优化权重。核心是将传统Boosting问题量子化,以提升计算效率。
建模过程为:
推荐算法:
·数据预处理:标准化(如Z-score)、训练测试集划分(比例可自定)。
·弱分类器:单特征决策树(如花瓣长度阈值)。
·QUBO求解:模拟退火算法(通过Kaiwu SDK);集成方法参考AdaBoost原理。
·量子卷积弱分类器用量子卷积核提取花瓣/萼片纹理特征
大家可以使用这些可视化方法:
前沿可视化
·量子态保真度热图:展示弱分类器权重优化过程
·能量景观曲面图:Matplotlib 3D绘制QUBO目标函数曲面
传统可视化
·决策边界图:Seaborn绘制强分类器在特征空间的划分边界
亚太中文赛作为2025年暑期第一场数模竞赛,难度约为0.5-0.6个国赛。本文将为大家详细的带来每个题目在解题过程中可能遇到的难点,以便大家快速完成选题工作。
A题 数据预测+优化 与国赛BC题类型一致
B题 数据分析+数据预测+概率模型 与国赛C题类型一致
C题 指定解题工具+分类模型+疑似软件广告费
预估选题人数 A:B:C=2:6:1
预估赛题难度 A:B:C=2:1:3
竞赛趣闻:
1、亚太中文赛A题气象数据集与2025数维杯C题数据集相同,均为https://rp5.ru/%E3%80%82提供气象数据,
2、
A题:农业灌溉系统优化
问题1:土壤湿度预测模型
问题描述:农业灌溉系统依赖准确的土壤湿度预测。问题要求建立一个基于历史气象数据的土壤湿度预测模型,用以预测不同天气条件下的土壤湿度。
可以使用回归分析、机器学习或深度学习方法,通过历史气象数据(如温度、气压、降水量等)与土壤湿度的关系进行建模。具体步骤包括数据预处理、特征选择、模型训练与验证。
l回归模型:线性回归、支持向量回归(SVR)。
l机器学习模型:随机森林、决策树、KNN回归。
l深度学习模型:LSTM神经网络(适用于时序数据)。
创新点:可以探索使用集成学习模型(如XGBoost)结合气象数据特征,或采用深度神经网络进行非线性建模。
问题2:灌溉系统布线与储水罐容积优化
问题描述:优化灌溉系统的管道布线和储水罐配置,目的是最小化建设成本并确保作物生长所需的水量。
构建优化模型,对灌溉管道布线、储水罐位置与容积进行优化。考虑河流供水管道建设成本与水管流量的非线性关系。只考虑土壤湿度。
创新点:可以问题一的模型来预测不同气象条件下的灌溉需求。
问题3:应急水源设计
问题描述:考虑旱季期间水源的减少,要求设计一个应急储备水源系统,确保在河流供水减少的情况下仍能满足作物生长。
通过考虑不同水源的比例与需求,使用动态优化方法来设计应急储备水源的比例,结合概率分析确保水源的合理配置。结合气候变化预测模型,动态调整应急水源的比例,提升系统的灵活性与响应能力。
问题4:灌溉方案规划
问题描述:规划不同作物在不同生长阶段的灌溉需求,确保灌溉系统满足需求并降低水源使用。
使用作物的生长模型与水需求数据,通过最优化调度算法来分配水源,并结合系统调整(如管道重布线)确保每月的灌溉需求得到满足。
B题:疾病的预测与大数据分析
问题1:数据预处理与基础统计分析
问题描述:对疾病数据集进行预处理,并分析各个特征与疾病发生的关系。
进行数据清洗、缺失值填补、标准化等步骤,使用描述性统计与可视化工具(如直方图、散点图)分析不同特征与疾病发生的相关性,描述性统计分析:均值、中位数、方差、相关系数等。
问题2:疾病预测模型
问题描述:基于特征建立疾病预测模型,评估不同疾病(心脏病、中风、肝硬化)的患病概率。
可以使用分类算法(如逻辑回归、支持向量机、随机森林)来预测疾病的发生概率,并使用交叉验证和混淆矩阵评估模型的性能。
可能使用的模型:
逻辑回归:适合处理二分类问题。
支持向量机(SVM):在高维空间有效分类。
随机森林:集成学习方法,适用于处理复杂数据。
问题3:多疾病关联与综合风险评估
问题描述:构建一个综合风险评估模型,预测患者同时患有心脏病、中风和肝硬化的概率。
可以使用贝叶斯网络、马尔科夫链等模型进行多重疾病的联合概率分析,并结合多变量回归模型评估共病情况。
可能使用的模型:
贝叶斯网络:用于多变量之间的联合概率建模。
马尔科夫链:用于描述疾病状态之间的转移概率。
多元回归:分析多个特征对患病风险的影响。
问题4:预防措施建议
八仙过海、各显神通,根据分析结果,提出针对心脏病、中风和肝硬化的预防建议。
C题:基于Quantum Boosting的二分类模型优化
问题1:数据预处理与弱分类器构建
问题描述:对Iris数据集进行预处理,构建一组弱分类器。
对数据集进行标准化,并根据特征构建弱分类器,选择合适的阈值或决策规则来进行分类。
可能使用的模型:
决策树:构建基于单一特征的弱分类器。
阈值规则:基于特征值进行简单分类。
问题2:QBoost建模与QUBO转化
问题描述:将弱分类器集成问题转化为QUBO模型。
将Boosting问题转化为二次无约束二进制优化问题,并使用量子优化方法来求解。
问题3:求解与模型评估
问题描述:利用Kaiwu SDK进行求解,评估模型的性能。
B 题(疾病的预测与大数据分析)分问详细思路、问题分析及代码
问题 1:数据预处理与基础统计分析
问题分析
核心任务是对三种疾病数据集(stroke.csv、heart.csv、cirrhosis.csv)进行预处理、统计分析和可视化,挖掘影响患病概率的关键因素。
·数据特点:医疗数据通常包含数值型(年龄、血压)、分类型(性别、吸烟状态)特征,可能存在缺失值、异常值和不平衡问题(患病样本少)。
·分析目标:通过统计量(均值、频率)和可视化(相关性、分布差异),识别与疾病显著相关的因素(如年龄是否与中风正相关、吸烟是否增加心脏病风险)。
详细思路
1. 数据预处理
o 加载与查看:读取三个数据集,查看特征名称、类型(数值 / 分类)、缺失值比例(isnull().sum())、样本量。
o 缺失值处理:
o数值特征:用均值 / 中位数填充(如年龄用中位数,避免极端值影响);
o分类特征:用众数填充(如性别用 “男”,若 “男” 为多数);
o若缺失比例过高(如 > 30%),考虑删除特征或样本(需说明理由)。
o 异常值检测:用箱线图或 Z-score(|Z|>3)识别数值特征(如血压、血糖)的异常值,处理方式:修正为边界值或删除(需谨慎,避免丢失信息)。
o 数据类型转换:
o分类特征编码:二分类(如性别:男 = 1,女 = 0)用LabelEncoder;多分类(如工作类型:私人 / 政府/ 无业)用 OneHotEncoder。
o目标变量:确保为 0-1(0 = 未患病,1 = 患病)。
2. 基础统计分析
o 描述性统计:计算数值特征的均值、标准差、四分位数(患病组 vs 未患病组对比);分类特征的频率分布(如心脏病患者中吸烟者占比)。
o 相关性分析:计算数值特征间的 Pearson 相关系数(如年龄与中风概率的相关性),用热力图可视化;分类特征与目标变量的卡方检验(如性别是否与肝硬化相关)。
3. 可视化分析
o 单特征分布:患病组与未患病组的年龄直方图(对比年龄分布差异)、血压箱线图(看患病组是否血压更高)。
o 分类特征影响:柱状图展示不同吸烟状态下的心脏病患病率。
o 多特征关联:用散点图(年龄 vs 血压,按患病状态着色)观察交互效应。
问题 2:疾病预测模型构建与评估
问题分析
需为中风、心脏病、肝硬化分别构建患病概率预测模型,核心是特征选择(排除无关特征)和模型优化(平衡准确率与灵敏度)。
·模型选择:分类模型(逻辑回归、随机森林、XGBoost),需适应医疗场景(如中风预测需高灵敏度,避免漏诊)。
·评估指标:不能仅用准确率(因数据不平衡),需用精确率(Precision)、召回率(Recall,灵敏度)、F1 值、AUC-ROC(整体区分能力)。
详细思路
1. 特征选择
o 方法:基于问题 1 的分析(保留相关特征),结合统计检验(如方差分析 ANOVA:数值特征与疾病的组间差异)、特征重要性(随机森林的feature_importances_)。
o 如:中风模型保留年龄、高血压、血糖、吸烟状态;心脏病模型保留胸痛类型、血压、胆固醇。
2. 数据集划分
o 按 7:3 或 8:2 划分训练集与测试集(train_test_split),确保分层抽样(stratify=y),维持患病比例一致。
3. 模型训练与优化
o 基础模型:逻辑回归(可解释性强)、随机森林(处理非线性)、XGBoost(高准确率)。
o 处理不平衡:用 SMOTE(合成少数类样本)解决患病样本少的问题(SMOTE(random_state=42))。
o 超参数调优:用 GridSearchCV 或RandomizedSearchCV 优化参数(如随机森林的n_estimators、max_depth)。
4. 模型评估与改进
o 准确性检验:测试集上计算混淆矩阵、Precision/Recall/F1、AUC,绘制 ROC 曲线(对比不同模型的 AUC 大小)。
o 灵敏度分析:通过特征重要性(如 XGBoost 的plot_importance)或部分依赖图(PDP),分析某特征(如年龄增加 10 岁)对预测概率的影响。
o 模型改进:若 AUC 低,尝试集成模型(如 Stacking:逻辑回归 + XGBoost)或增加特征交互项(如年龄 × 高血压)。
问题 3:多疾病关联与共病概率预测
问题分析
需分析三种疾病的共病情况(同时患两种或三种),核心是挖掘共同风险因素(如肥胖是否同时增加心脏病和中风风险)和疾病间关联(如心脏病患者是否更易中风)。
·数据挑战:三个数据集可能无共同个体 ID,需假设特征一致性(如 “年龄”“吸烟” 在三个数据集中定义相同),通过特征分布关联共病概率。
详细思路
1. 共病情况统计
o 若数据集有重叠个体(如同一人在三个数据集中),直接统计共病频率(同时患中风和心脏病的样本数 / 总样本数)。
o 若无重叠,基于特征分布推断:如计算 “高血压” 在中风患者中占比为 30%,在心脏病患者中占比为 40%,则高血压人群同时患两种病的概率约为 30%×40%(简化假设独立,实际需修正)。
2. 共同特征分析
o 用 Venn 图展示三种疾病的共同特征(如年龄、吸烟、高血压是三者的共同风险因素)。
o 关联规则挖掘:用 Apriori 算法(mlxtend.frequent_patterns)发现共病规则(如 {高血压 = 1}→{中风 = 1 且心脏病 = 1},支持度和置信度)。
3. 共病概率预测模型
o 多输出分类:将问题转化为多标签分类(目标变量为 3 个:是否患中风、心脏病、肝硬化),用 MLkNN(多标签 k 近邻)或集成模型(如 XGBoost 扩展)。
o 条件概率模型:基于贝叶斯定理,计算联合概率:
oP (中风∩心脏病) = P (心脏病 | 中风) × P (中风)
o其中 P (心脏病 | 中风) 可通过逻辑回归建模(以中风状态为特征之一预测心脏病)。
问题 4:预防建议(致 WHO 的信)
问题分析
基于前三问的结论,提出针对三种疾病的预防措施,需结合数据支撑(如 “年龄是中风的首要风险因素,建议 40 岁以上人群定期体检”)。
建议框架
plaintext
尊敬的世界卫生组织:
基于对中风、心脏病和肝硬化数据集的分析,我们提出以下预防建议:
1. 控制共同风险因素
- 高血压:数据显示高血压人群的中风风险是正常人群的2.5倍,心脏病风险是1.8倍,建议通过低盐饮食、运动控制血压,定期监测(每半年1次)。
- 吸烟:吸烟者患心脏病的概率比非吸烟者高40%,且与肝硬化显著相关,建议推行戒烟计划(如尼古丁替代疗法)。
- 年龄:50岁以上人群三种疾病患病率均显著上升,建议40岁起进行年度健康筛查(含血压、肝功能检测)。
2. 针对性预防措施
- 中风:高血糖(>7mmol/L)人群中风风险增加,需控制碳水摄入,糖尿病患者加强血糖管理。
- 心脏病:胸痛类型为“典型心绞痛”的人群患病概率达60%,建议此类人群减少剧烈运动,及时就医。
- 肝硬化:长期饮酒者的肝硬化风险是不饮酒者的3倍,建议限制酒精摄入(男性≤2杯/天,女性≤1杯/天),接种肝炎疫苗。
3. 共病管理
- 同时患高血压和肥胖的人群,患两种及以上疾病的概率达25%,建议综合干预(减重+降压)。
以上建议基于数据统计与模型分析,希望为全球慢性病防控提供参考。
此致
敬礼
[团队名称]
[日期]
总结
通过网盘分享的文件:2025亚太杯资料
链接: https://pan.baidu.com/s/1IPfcDObvPTCtjVx4UbTl3Q 提取码: yutf