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.mzph.cn/news/814796.shtml

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

相关文章

JavaScript进阶6之函数式编程与ES6ESNext规范

函数式编程 柯里化currycurrycompose示例:简化版展开写: debug示例一:示例二: 模板字符串css in js方案 箭头函数问题 生成器 generator应用场景 反射 Reflect 柯里化curry compose是curry的应用 在 lodash/fp underscore ramba …

53.网络游戏逆向分析与漏洞攻防-基础数据分析筛选-逆向分析寻找消息数据解压缩过程

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果 现在的代码都是依据数据包来写的,如果看不懂代码,就说明没看懂数据包…

Spring Boot 整合 Apache Phoenix 进行 HBase 数据操作指南

在Spring Boot中集成Apache Phoenix以便执行SQL查询和表操作,你可以使用Phoenix的JDBC驱动。下面是一个简单的示例,展示了如何在Spring Boot应用中集成Phoenix,并执行基本的表操作和查询。 1. 添加依赖 首先,你需要在你的pom.xm…

C# Solidworks二次开发:访问BOM表特性相关API详解

大家好,今天要讲的文章是和BOM表特性相关的API。 下面为要介绍的API: (1)第一个为GetConfigurationCount,这个API的含义为获取此BOM表可用或在此BOM表中使用的配置数,下面是官方的具体解释: …

phpMyadmin 设置显示完整内容

额外选项这里,默认部分内容改成完整内容 方案: 版本>4.5.4.1,修改文件:config.inc.php,添加一行代码: if ( !isset($_REQUEST[pftext])) $_REQUEST[pftext] F;

什么是已检查异常和未检查异常?

在Java中,已检查异常(Checked Exceptions)和未检查异常(Unchecked Exceptions)是两种主要的异常类型。 已检查异常(Checked Exceptions):这种类型的异常在编译期就会被检查&#xf…

浮点数的表示

王道考研ppt总结: 二、个人理解 浮点数解决的是定点数的位数局限,导致表示范围有限的问题 阶码:由阶符和数值部分组成,阶符为,小数点向左移动,否则向右移动;数值部分,是底数的几次幂…

【算法】标签算法及其运作流程

标签算法 1. 标签算法及其运作流程2. 标签算法主要有哪些?3.用python语言举例实现聚类 1. 标签算法及其运作流程 标签算法是一种用于自动为数据或文本内容添加标签或分类的算法。这些标签可以帮助组织、检索和理解数据,是信息管理和数据挖掘中的重要工具…

区块链媒体推广的8个成功案例解析-华媒舍

区块链领域作为一个新兴行业,媒体推广对于项目的成功发展起着至关重要的作用。本文将从八个成功案例中来分析区块链媒体推广的重要性和成功策略。 1. 媒体报道对于区块链项目的重要影响 媒体报道是提升区块链项目知名度和用户认可度的重要手段。对于区块链项目来说…

Java | Leetcode Java题解之第25题K个一组翻转链表

题目: 题解: class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode hair new ListNode(0);hair.next head;ListNode pre hair;while (head ! null) {ListNode tail pre;// 查看剩余部分长度是否大于等于 kfor (int i 0…

CSS3新增

一些CSS3新增的功能 课程视频链接 目录 CSS3概述私有前缀长度单位remvwvhvmaxvmin 颜色设置方式rgbahslhsla 选择器动态伪类目标伪类语言伪类UI伪类结构伪类否定伪类伪元素 盒子属性box-sizing问题插播 宽度与设置的不同 resizebox-shadowopacity 背景属性background-originb…

BIRDy:机器人动力学辨识基准

文章目录 前言入门前提条件Benchmark结构运行benchmark如何(重新)生成一条激励轨迹如何(重新)生成实验数据如何(重新)生成机器人的辨识模型如何重新编译基准程序的.MEX文件用户自定义在基准中添加新的机器人在基准中加入新的辨识算法源码前言 如果没有一个合适的框架,学生、工…

SDK-0.7.8-Release-实体管理 - ApiHug-Release

🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace 更多精彩…

大数据存储解决方案和处理流程——解读大数据架构(四)

文章目录 前言数据存储解决方案数据集市运营数据存储(Operational Data Store)数据中心 数据处理数据虚拟化和数据联合虚拟化作为 ETL 或数据移动的替代品数据目录数据市场 前言 在数字时代,数据已成为公司的命脉。但是,仅仅拥有…

CNN卷积神经网络:理论基础、核心架构与多元应用

CNN是一种深度学习模型,利用卷积层提取图像特征,池化层降维与增强不变性,全连接层实现分类/回归。核心理论包括局部感知、权值共享、多层抽象。广泛应用图像识别、目标检测、语义分割、生成任务等领域。 一、CNN理论基础 1、局部感知野&…

二叉树之遍历

概述 之前有说到二叉树的建树,这次讲讲二叉树的遍历过程。二叉树的遍历分为深度优先遍历和广度优先遍历,二叉树的逻辑结构如下所示: class TreeNode{int val;TreeNode left;TreeNode right;public TreeNode(){}public TreeNode(int val){thi…

dPET论文笔记

PBPK论文笔记 题目:Self-supervised Learning for Physiologically-Based Pharmacokinetic Modeling in Dynamic PET 摘要 动态正电子发射断层扫描成像 (dPET) 提供示踪剂的时间分辨图像。从 dPET 中提取的时间活动曲线 (TAC&a…

C#如何快速读取大型文本文件?StreamReader+FileStream

FileStream读取字节流, StreamReader则是用于从字节流中读取文本数据并进行解码。 FileStream用于打开文件流,提供了对文件的底层访问,它读取的是字节流。 StreamReader用于从字节流中读取文本数据,并根据指定的编码(或使用默认编…

题目:一个最优美的图案。

题目:一个最优美的图案。    There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should l…

Spring Boot统一功能处理(一)

本篇主要介绍Spring Boot的统一功能处理中的拦截器。 目录 一、拦截器的基本使用 二、拦截器实操 三、浅尝源码 初始化DispatcherServerlet 处理请求(doDispatch) 四、适配器模式 一、拦截器的基本使用 在一般的学校或者社区门口,通常会安排几个…