2024认证杯数学建模C题思路模型代码

目录

2024认证杯数学建模C题思路模型代码:4.11开赛后第一时间更新,获取见文末名片

以下为2023年认证杯C题:

2024年认证杯数学建模C题思路模型代码见此


2024认证杯数学建模C题思路模型代码:4.11开赛后第一时间更新,获取见文末名片

以下为2023年认证杯C题:

   问题分析

        问题的研究对象是正常与不正常的心搏,研究的内容为其中心电波形功率谱密度的变化情况。该问题描述了心律失常时不同心搏的类别变化特点,并在不同的异常心率搏动下提出了分类排序的要求:

        2.1对问题1的分析

        针对问题1:可以将问题分为两个小问题。首先对本文数据异常心搏整合,并进行其特性的分析。因为每个csv的文件都是2s的时间序列数据,直接使用时间序列建模明显数据过于繁琐,并不可取。因此,按照思路可以利用这些数据时间序列去提取统计特征、频域特征、时域特征,并存储于数据集中。根据上述的特征,对每个样本提取特征,并对正常的标记 0,异常的标记 1。 使用监督学习方法,建立机器学习模型进行训练和调参。其次,对心律失常的情况进行分类,这部分类别 label 题目没有给,因此属于无监督学习聚类分析。然后通过使用基于质心的聚类算法,自己决定类的数目。

        2.2对问题2的分析

        针对问题2:将第一问所得数据集分为数据集和测试集,然后更新聚类中心。可以参考统计模型中的多元线性回归分析的标准化回归系数和机器学习模型的特征重要性分析。这一步的思想是将第一问打的 label 作为 target 进行拟合模型,让模型本身来判断哪些特征是重要的分类依据。具体需要先将数据标准化,将 label 作为因变量,可以带入多元线性回归模型观察标准化回归系数的大小,或者带入机器学习分类模型观察特征重要性的大小,直接量化各个特征的分类重要性。最后将特征值可视化,再去量化其标准。

        2.3对问题3的分析

        针对问题3:这题可以根据问题1和问题2的结论去分析,一般来说,心搏数据与正常心搏偏离越大则越危险,可以直接与其比较得出统计特征以此做出统计分类。然后,采用机器学习分类中的置信度,假设有3种异常,将正常编号为0,异常的分程度标记为1、2、3,再机器学习进行数据拟合,若心搏数据越偏离正常,则情况越紧急,标记分级更高,若心搏数据偏向正常,则情况越轻缓,标记分级低。

        问题一的模型建立与求解:

        由于心电监测仪的处理器数据速度和容量有限,会大大限制心电监测长时间的数据计算,因此如何在2s内将心率异常状况分类是一个重点问题。因此:

可通过机器学习输入样本集:会将数据集划分为两部分:训练集和测试集。训练集用来训练模型,测试集用来评估模型的性能。通过训练集,可以得到一个模型,然后用测试集来评估这个模型的泛化能力。如果模型在测试集上的表现很好,那么就可以认为这个模型具有很好的泛化能力,可以用来预测新的数据。在数学建模中,建立训练集和测试集的过程与机器学习中的过程类似。通常会将数据集划分为训练集和测试集,然后使用训练集来建立模型,使用测试集来评估模型的性能。这个过程可以帮助确定模型的参数和超参数,并且评估模型的预测能力。通过这个过程,可以得到一个可靠的模型,用来解决实际问题。

        四种模型

        使用心跳频率去分析异常情况,可以通过监测心跳频率的变化来判断患者是否出现了心脏疾病等异常情况。以下是四种常用的机器学习模型对心跳频率异常情况的分析:

①Logistics模型:Logistics模型可以用来预测二元分类问题,如判断患者是否有心脏疾病。通过输入患者的心跳频率等特征,Logistics模型可以输出一个概率值,表示患者是否有心脏疾病的可能性。如果概率值大于0.5,则认为患者有心脏疾病;否则,认为患者没有心脏疾病。

Logistic回归模型对因变量y直接进行建模,而是对y取某个值的概率进行建模,即p{y=1|x}进行建模。这个概率的取值只有0或1两种情况。那么可以得到p{y=1|x}与x的关系建立模型:

②决策树模型:决策树模型可以用来预测多元分类问题,如判断患者是否有不同类型的心脏疾病。通过输入患者的心跳频率等特征,决策树模型可以逐步判断患者是否有不同类型的心脏疾病。例如,如果患者的心跳频率小于60次/分钟,则认为患者可能患有心房颤动等疾病。

③随机森林模型:随机森林模型可以用来预测多元分类问题,如判断患者是否有不同类型的心脏疾病。与决策树模型不同的是,随机森林模型会生成多个决策树,并且每个决策树都是基于不同的随机样本和特征生成的。通过对多个决策树的预测结果取平均值,随机森林模型可以更准确地预测患者是否有心脏疾病。

④XGBoost模型:XGBoost模型是一种高效的集成学习模型,可以用来预测二元或多元分类问题。与随机森林模型类似,XGBoost模型也是基于多个决策树生成的。但是,XGBoost模型在生成决策树时采用了一些优化技术,如梯度提升和正则化等,可以更准确地预测患者是否有心脏疾病。

        

 利用文本数据生成的决策树模型部分图

        问题二的模型建立与求解:

利用文本数据生成的心搏数据

        由上图可知,不会存在完全一致的心搏频率图,因此如何衡量出一个标准应用于心电监测仪去判断心律失常的类别尤为重要。

因此,在通过机器学习后,将测试集整理出来:

 部分机器学习后心搏频率测试数据

        经过大量的测试数据分析,最终选用了logistic模型、决策树模型、随机森林模型和xgboost模型进行比较。

 机器学习后四种模型的性能度量指标折线图

 机器学习后四种模型的性能度量指标表

        通过在对比分析的结果中不难发现,发现随机森林模型和XGBoost模型表现更加优秀,因此建议在实际应用中使用这两种模型,以获得更好的预测效果。因此选用随机森林模型和XGBoost模型的前十项指标数据进行分析:

 随机森林最重要的十个特征索引图

 XGBoost最重要的十个特征索引图

        最后,则是对重要的特征进行可视化。假设x1,x2,x3,x4,x5是最重要的特征,则将他们三三排列组合成10种,绘制三维散点图,将不同label的点用不同颜 色标记,这样可以直观看出哪些点在哪些取值下会严重影响分类的性能,得到判断依据。

        问题三的模型建立与求解:

1)危险程度衡量的指标分析

        本题主要是对问题一和问题二的总结,利用问题一中求出的异常种类以及问题二得出的异常心率标准。可以根据心率失常的类型以及临床表现,将异常心率的失常程度分为:低危型心率失常、中危型心率失常和高危型心率失常。

根据上述的分类,不但可以以每个片段的分类顺序从上到下分为高中低三个等级,还可以依据每种等级内会发生的心律失常类型进一步排序,而为了实现心律失常 风险评估和排序,使用了一种基于机器学习的方法,具体步骤如下:

Step1:

        像解决问题一的同样方法,在标注完正常心率与异常心率的图标中,对每个片段,计算其各类型的特征值,并将其当做改片段的特征向量。

Step2:

        根据心电图中已知的正常心搏频率和异常心搏频率进行区别标注,方便下一步让电脑明白数据,例如:正常心搏数据标记为0,异常拼搏数据从低到高依次为1、2、3。

Step3:

        在数据预处理完成后,使用已经标注好的样本数据来进行训练学习,采用四种聚类分析模型,分别是:Logistic模型、决策树模型、随机森林模型和XGBoost模型。在分析求证后,最终使用了Logistic模型。

Step4:

        在模型训练完成后,使用新的心电图数据输入模型中,就可以依靠2s的心电频谱检测出每个片段的危险等级,将预测的结果排序好和分级,更有利于医生能够更加快速地诊断和处理。 

2)实际上的聚类分析得出的结论

        使用logistci模型,可得Logistic回归模型的认为近似0的概率分别如下 

类型

近似0的概率

1

0.058

2

0.0327

3

0.046

根据逻辑回归模型进行对数据进行预估,将预估值里面是心率失常而且类型不同的人分别对应求总和,不同类型心率失常的人分别求其样本总数,将其对应求概率,该概率为求近似0(正常心率的人)的概率,概率越低证明他与正常人的心率相差更大,即表明该人心率失常就更为严重。

部分代码展示:


2024年认证杯数学建模C题思路模型代码见此

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

150个 HTML5 网站模版 量大慢选

HTML5 网站模版 No.1 HTML5 网站模版 No.1

跨平台桌面应用 Electron 入门学习

本文章主要为该视频的学习笔记,如果侵权会速删。 Electron 01 课程介绍_哔哩哔哩_bilibiliElectron 01 课程介绍, 视频播放量 3046、弹幕量 0、点赞数 75、投硬币枚数 43、收藏人数 179、转发人数 2, 视频作者 极客丶张德龙, 作者简介 当你的能力还不足以撑起自己的…

谷歌关键词优化全攻略提高曝光率-华媒舍

现如今,互联网已成为信息获取的主要渠道,而搜索引擎则是人们寻找信息的首选工具之一。其中,谷歌作为全球最大的搜索引擎,其搜索结果的排名直接影响着网站的曝光率和流量。了解并掌握谷歌关键词优化的技巧,成为提升网站…

AIGC专栏10——EasyAnimate 一个新的类SORA文生视频模型 轻松文生视频

AIGC专栏10——EasyAnimate 一个新的类SORA文生视频模型 📺轻松文生视频 学习前言源码下载地址技术原理储备(DIT/Lora/Motion Module)什么是Diffusion Transformer (DiT)LoraMotion Module EasyAnimate简介EasyAnimate原理界面展示快速启动云…

Linux:环境基础开发工具使用

文章目录 前言1.Linux下的软件安装1.1 什么是软件包1.2 如何安装软件1.3 如何卸载软件 2.vim2.1 vim的基本概念2.2 vim的基本操作2.3 vim正常模式命令集2.4 vim末行模式命令集2.5 vim的操作总结 3.Linux下的编译器:gcc3.1 gcc的使用3.2 gcc是如何工作的3.2.1 预处理…

(我的创作纪念日)[MySQL]数据库原理7——喵喵期末不挂科

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

C++的引用和内联函数,auto

什么是引用 引用就是取别名 可以给一个变量取多个别名,也可以给别名取别名 别名与本名拥有同一地址,对任意别名修改,也会同时修改其他别名和本名 引用的作用 引用的作用与指针重叠度很高 图中函数的参数int& a,int& b,a是x的别名,b是y的别名 则ab的交换就是xy的交…

【七 (2)FineBI FCP模拟试卷-平台新增用户留存分析】

目录 文章导航一、字段解释1、用户平台登录信息表格2、用户平台激活信息表格 二、需求三、操作步骤1、建立用户平台登录信息表格和用户平台激活信息表格的关联关系2、将用户平台激活信息表格的激活日期添加到用户平台登录信息表格3、新增公式列,计算激活时间和登录时…

JavaSE——常用API进阶二(3/8)-Date、SimpleDateFormat(构造器、常用的方法、用法示例、时间格式的常见符号)

目录 Date 构造器、常用的方法 用法示例 SimpleDateFormat 构造器、格式化时间的方法 时间格式的常见符号 用法示例 解析字符串时间成为日期对象 接下来会学习JDK8以前传统的日期、时间,以及JDK8开始新增的日期、时间;有部分项目还是有在使用JDK…

mac 配置前端开发环境brew,git,nvm,nrm

我的电脑是mac 3 pro 一、配置Homebrew 打开终端,执行指令 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"查看版本 brew -v 安装nvm brew install nvm 再执行 brew reinstall nvm 我这边安装好了…

【Linux实践室】Linux高级用户管理实战指南:用户所属组变更操作详解

🌈个人主页:聆风吟_ 🔥系列专栏:Linux实践室、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 🔔Linux查看用户所属组2.1.1 👻使…

Spring源码刨析之配置文件的解析和bean的创建以及生命周期

public void test1(){XmlBeanFactory xmlBeanFactory new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));user u xmlBeanFactory.getBean("user",org.xhpcd.user.class);// System.out.println(u.getStu());}先介绍一个类XmlBeanFac…