2023华数杯数学建模C题完整5问代码思路分析
目前已经写出2023华数杯C题母亲身心健康对婴儿成长的影响全部5问的完整代码和42页论文(正文30页,论文部分摘要如下:
本文共解决了五个问题,涉及婴儿行为特征、睡眠质量与母亲的身体指标和心理指标的关系,以及如何优化婴儿的行为特征和睡眠质量。
对于问题1,我们对数据进行了预处理,处理婴儿行为特征数据,并将其转换为数值型数据,然后使用皮尔逊相关系数来研究母亲的身体指标和心理指标与婴儿行为特征和睡眠质量之间的关系。
对于问题2,我们将婴儿的行为特征分为三种类型:安静型、中等型、矛盾型。为了建立婴儿的行为特征与母亲的身体指标和心理指标的关系模型,我们建立了多种分类模型,如逻辑回归、支持向量机、决策树、随机森林、XGBoost模型等。然后,我们使用这些模型来预测那些行为特征信息被删除的婴儿属于哪种类型,判断数据表中最后20组(编号391-410号)婴儿的行为特征信息。预测结果表明,.......
对于问题3,我们利用提供的数据建立治疗费用与降低分数之间的线性模型,计算了当前行为特征为矛盾型的婴儿(编号238)的最大治疗费用。然后,使用第二问建立的XGBoost分类模型预测该婴儿在不同CBTS、EPDS和HADS得分下的行为特征,从而找到使治疗费用最小的降低得分方案。求解结果为:使行为特征变为中等型的最少治疗费用: ,调整方案:;使行为特征变为安静型的最少治疗费用: ,调整方案:.......。
对于问题4,我们通过基于熵权法的TOPSIS综合评价方法对婴儿的睡眠质量进行分类评价,利用熵权法确定指标权重避免了专家赋权带来的主观性,使用数据标准化和正向化方法构建了评分模型。之后利用评级结果建立回归模型预测综合睡眠质量评级。对于问题5,我们在问题3基础上,调整婴儿的睡眠质量评级为优,并重新预测睡眠质量。求解结果为:使睡眠质量变为4.0(优)的最少治疗费用: ......,调整方案:......
综上所述,本文的研究为了理解母亲与婴儿之间的关系,优化婴儿行为特征和睡眠质量提供了重要的见解和解决方案。
全部5问的代码如下
一、 问题重述... 4
二、 问题分析... 5
2.1 问题一分析... 5
2.2 问题二分析... 6
2.3 问题三分析... 6
2.4 问题四分析... 6
2.5 问题五分析... 6
三、 模型假设... 7
四、 符号说明... 7
五、 模型的建立和求解... 8
5.1 问题一模型的建立和求解... 8
5.1.1 数据预处理... 8
5.1.2 皮尔逊相关系数分析... 8
5.2 问题二模型的建立和求解... 10
5.2.1 逻辑分类模型的建立... 11
5.2.2 支持向量机分类模型的建立... 12
5.2.3 决策树分类模型的建立... 12
5.2.4 随机森林分类模型的建立... 13
5.2.5 XGBoost分类模型的建立... 13
5.2.6 预测结果对比与分析... 14
5.3 问题三模型的建立和求解... 15
5.3.1 治疗费用与分数的线性模型... 15
5.3.2 最小治疗费用优化求解模型... 16
5.3.3 治疗方案求解结果与分析... 18
5.4 问题四模型的建立和求解... 19
5.4.1 基于熵权法的TOPSIS评价模型... 19
5.4.2 数据正向化... 19
5.4.3 数据标准化... 21
5.4.4 熵权法确定权重... 21
5.4.5 评分模型构建... 23
5.4.6 睡眠质量综合评价得分... 24
5.4.7 睡眠质量XGBoost关联模型建立... 24
5.4.8 综合睡眠质量预测结果... 25
5.5 问题五模型的建立和求解... 26
5.5.1 睡眠质量调整治疗方案... 26
5.5.2 问题五治疗策略... 28
六、 模型的评价与推广... 28
七、 参考文献... 30
八、 附录... 31
一、 问题重述
2023华数杯数学建模竞赛C题题目:
母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护,还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、压力等,可能会对婴儿的认知、情感、社会行为等方面产生负面影响。压力过大的母亲可能会对婴儿的生理和心理发展产生负面影响,例如影响其睡眠等方面。
附件给出了包括390名3 至12 个月婴儿以及其母亲的相关数据。这些数据涵盖各种主题,母亲的身体指标包括年龄、婚姻状况、教育程度、妊娠时间、分娩方式,以及产妇心理指标CBTS(分娩相关创伤后应激障碍问卷)、EPDS (爱丁堡产后抑郁量表)、HADS(医院焦虑抑郁量表)和婴儿睡眠质量指标包括整晚睡眠时间、睡醒次数和入睡方式。
请查阅相关文献,了解专业背景,根据题目数据建立数学模型,回答下列问题。
1. 许多研究表明,母亲的身体指标和心理指标对婴儿的行为特征和睡眠质量有影响,请问是否存在这样的规律,根据附件中的数据对此进行研究。
2. 婴儿行为问卷是一个用于评估婴儿行为特征的量表,其中包含了一些关于婴儿情绪和反应的问题。我们将婴儿的行为特征分为三种类型:安静型、中等型、矛盾型。请你建立婴儿的行为特征与母亲的身体指标与心理指标的关系模型。
数据表中最后有20组(编号391-410号)婴儿的行为特征信息被删除,请你判断他们是属于什么类型。
3. 对母亲焦虑的干预有助于提高母亲的心理健康水平,还可以改善母婴交互质量,促进婴儿的认知、情感和社交发展。CBTS、EPDS、HADS的治疗费用相对于患病程度的变化率均与治疗费用呈正比,经调研,给出了两个分数对应的治疗费用,详见表1。现有一个行为特征为矛盾型的婴儿,编号为238。请你建立模型,分析最少需要花费多少治疗费用,能够使婴儿的行为特征从矛盾型变为中等型?若要使其行为特征变为安静型,治疗方案需要如何调整?
4. 婴儿的睡眠质量指标包含整晚睡眠时间、睡醒次数、入睡方式。请你对婴儿的睡眠质量进行优、良、中、差四分类综合评判,并建立婴儿综合睡眠质量与母亲的身体指标、心理指标的关联模型,预测最后20组(编号391-410号)婴儿的综合睡眠质量。
5. 在问题三的基础上,若需要让238号婴儿的睡眠质量评级为优,请问问题三的治疗策略是否需要调整?如何调整?
二、 问题分析
2.1 问题一分析
问题1:分析母亲的身体指标和心理指标对婴儿的行为特征和睡眠质量的影响。这是一个相关性分析问题。首先,对数据进行预处理,包括数据清洗和转换。然后使用皮尔逊相关系数来衡量母亲的身体指标和心理指标与婴儿行为特征和睡眠质量之间的相关性。
方法:皮尔逊相关系数分析
import numpy as np
from scipy.stats import pearsonr, spearmanr
import statsmodels.api as sm
import seaborn as sns
import matplotlib.pyplot as plt# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
# 设置负数的符号
plt.rcParams['axes.unicode_minus'] = False# 建立新的变量,取data的前391行数据
data_analysis = data.head(391)# 进行皮尔逊相关系数分析
correlation_matrix = data_analysis.corr(method='pearson')
print(correlation_matrix)# 可视化绘图
plt.figure(figsize=(10, 8))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', linewidths=0.5)
plt.title('Pearson Correlation Heatmap')
plt.show()
2.2 问题二分析
问题2:建立婴儿的行为特征与母亲的身体指标和心理指标的关系模型。这是一个多分类问题。通过建立分类模型,将婴儿的行为特征分为三种类型:安静型、中等型、矛盾型。
方法:使用多种分类模型(如决策树、随机森林、XGBoost等)建立模型,然后对婴儿的行为特征进行分类预测。
部分代码如下:
# 选择母亲的身体指标和心理指标,以及婴儿的行为特征作为数据分析的子集
subset_columns = ['EPDS', 'HADS', 'CBTS', '母亲年龄', '婚姻状况', '教育程度', '妊娠时间(周数)', '分娩方式', '婴儿行为特征']
data_analysis = data.loc[:, subset_columns]# 划分训练集和测试集,其中删除的婴儿信息为测试集
train_data = data_analysis.loc[1:390, :]
test_data = data_analysis.loc[391:411, :]# 将婴儿的行为特征作为目标变量
y_train = train_data['婴儿行为特征']
y_test = test_data['婴儿行为特征']# 将母亲的身体指标和心理指标作为特征变量
X_train = train_data[['EPDS', 'HADS', 'CBTS', '母亲年龄', '婚姻状况', '教育程度', '妊娠时间(周数)', '分娩方式']]
X_test = test_data[['EPDS', 'HADS', 'CBTS', '母亲年龄', '婚姻状况', '教育程度', '妊娠时间(周数)', '分娩方式']]
2.3 问题三分析
问题3:建立模型,分析最少需要花费多少治疗费用,能够使婴儿的行为特征从矛盾型变为中等型;若要使其行为特征变为安静型,治疗方案需要如何调整。
方法:首先需要计算当前行为特征为矛盾型的婴儿(编号238)的最大治疗费用。然后,使用第二问建立的XGBoost分类模型预测该婴儿在不同CBTS、EPDS和HADS得分下的行为特征,从而找到使治疗费用最小的降低得分方案。
2.4 问题四分析
问题4:对婴儿的睡眠质量进行优、良、中、差四分类综合评判,并建立婴儿综合睡眠质量与母亲的身体指标和心理指标的关联模型,预测最后20组婴儿的综合睡眠质量。
方法:使用TOPSIS方法进行综合评判,对婴儿的睡眠质量进行分类。然后建立XGBoost回归模型,将母亲的身体指标和心理指标作为特征,婴儿的综合睡眠质量评级作为目标变量,进行回归分析。
2.5 问题五分析
问题5:在问题3的基础上,调整婴儿的睡眠质量评级为优,然后重新建立模型预测最后20组婴儿的综合睡眠质量。
方法:根据问题3中得到的模型,调整问题3中的睡眠质量评级为优,并重新建立XGBoost回归模型。预测最后20组婴儿的综合睡眠质量评级。
三、 模型假设
四、符号说明
五、 模型的建立和求解
5.1 问题一模型的建立和求解
问题1需要进行数据分析来探究母亲的身体指标和心理指标是否对婴儿的行为特征和睡眠质量有影响。在这种情况下,可以使用统计学和机器学习技术进行相关性和回归分析,以确定指标之间的关系。步骤如下:
1. 数据预处理:首先,对数据进行清洗和预处理。这可能涉及处理缺失值、转换分类数据为数值数据、标准化数据等步骤。
2. 相关性分析:使用相关性分析来了解指标之间的相关性。可以通过计算皮尔逊相关系数或斯皮尔曼等级相关系数来衡量变量之间的线性或非线性关系。
3. 回归分析:如果有足够的数据,可以使用回归分析来建立模型,以预测婴儿行为特征和睡眠质量与母亲身体指标和心理指标之间的关系。可以尝试多元线性回归或其他适合的回归方法。
4. 统计显著性检验:在回归分析中,需要对模型进行统计显著性检验,以确定模型的预测效果是否显著。
5. 结果解释:根据分析的结果,解释母亲的身体指标和心理指标对婴儿行为特征和睡眠质量的影响程度。需要注意,相关性并不意味着因果关系,因此需要谨慎解释结果。
5.1.1 数据预处理
我们需要处理婴儿行为特征数据,并将其转换为数值型数据。
5.1.2 皮尔逊相关系数分析
当我们想要了解两个变量之间的相关性时,可以使用皮尔逊相关系数分析。它是一种用于衡量两个连续变量之间线性相关程度的统计方法。简单来说,皮尔逊相关系数可以告诉我们这两个变量是正相关、负相关还是没有相关性。
皮尔逊相关系数的原理基于协方差和标准差的概念。它通过计算两个变量的协方差来衡量它们的共变动程度,再除以各自的标准差,从而得到一个介于-1和1之间的值,表示两个变量之间的相关性。
文档和代码下载方式:
https://mbd.pub/o/bread/mbd-ZJyXkppx
相关文章:

2023华数杯数学建模C题完整5问代码思路分析
目前已经写出2023华数杯C题母亲身心健康对婴儿成长的影响全部5问的完整代码和42页论文(正文30页,论文部分摘要如下: 本文共解决了五个问题,涉及婴儿行为特征、睡眠质量与母亲的身体指标和心理指标的关系,以及如何优化…...

02_kafka_基本概念_基础架构
文章目录 常见的消息队列工作模式基本概念kafka 特性Kafka 基本架构topic 分区的 目的/ 好处 日志存储形式消费者,消费方式 逻辑消费组 高性能写入: 顺序写 mmap读取:零拷贝DMA 使用场景 常见的消息队列工作模式 至多一次:消息被…...

HTTP 常用状态码 301 302 304 403
HTTP 常用状态码 301 302 304 403 301 永久重定向,浏览器会把重定向后的地址缓存起来,将来用户再次访问原始地址时,直接引导用户访问新地址 302 临时重定向,浏览器会引导用户进入新地址,但不会缓存原始地址,…...

分布式 - 服务器Nginx:一小时入门系列之静态网页配置
文章目录 1. 静态文件配置2. nginx listen 命令解析3. nginx server_name 命令解析4. nginx server 端口重复5. nginx location 命令 1. 静态文件配置 在 /home 文件下配置一个静态的AdminLTE后台管理系统: [rootnginx-dev conf.d]# cd /home [rootnginx-dev home…...

kubernetes网络之网络策略-----Network Policies - Example
创建一个Deployment并配置Service 创建一个 nginx Deployment 用于演示 Kubernetes 的 NetworkPolicy: kubectl create deployment nginx --imagenginx 输出结果 deployment.apps/nginx created通过Service暴露该Deployment kubectl expose deployment nginx --po…...

【GDI/GDI+】如何抓取屏幕保存到bitmap文件?
问题 如何抓取屏幕保存到bitmap文件? 方法 GDI 方法 1、抓取。 HBITMAP CRectChartUI::GetBitmap(HDC hDC) {HDC hMemDC;int x, y;int nWidth, nHeight;HBITMAP hBitmap, hOldBitmap;hMemDC CreateCompatibleDC(hDC);nWidth GetDeviceCaps(hDC, HORZRES);nHei…...

HDFS介绍
目录 编辑 一、HDFS基础 1.1 概述 1.2 HDFS的设计目标 1.2.1 硬件故障 1.2.2 流式数据访问 1.2.3 超大数据集 1.2.4 简单的一致性模型 1.2.5 移动计算而不是移动数据 1.2.6 跨异构硬件和软件平台的可移植性 1.3 基础概念 1.3.1 块(Block) 1.3.2 复制…...

每日一题——两数之和
题目 给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。 (注:返回的数组下标从1开始算起,保证target一定可以由数组里面2个数字相加得到࿰…...

Maven: ‘mvn‘ is not recognized as an internal or external command
下载并配置好Maven之后,CMD测试安装是否成功:mvn -v 提示: mvn is not recognized as an internal or external command, operable program or batch file. 检查环境变量: MAVEN_HOME: %MAVEN_HOME%\bin: 看上去没问题&#x…...

CubeSLAM: Monocular 3D Object SLAM——论文简述
一、简介 提出一种在动态和静态环境中同时进行3D目标检测和定位建图的方法,并且能够互相提升准确度。具体地,对于3D目标,其位置、方向和尺寸通过slam进行了优化;而3D目标作为slam中的路标,可以提供额外的语义和几何约…...

【雕爷学编程】MicroPython动手做(30)——物联网之Blynk 2
知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…...

linux scp 拷贝文件到目标linux系统
scp -P 8866 -r jsonrpc/ root192.168.6.66:/folder_path...

Oracle-expdp报错ORA-39077、06502(Bug-16928674)
问题: 用户在使用expdp进程导出时,出现队列报错ORA-39077、ORA-06502 ORA-31626: job does not exist ORA-31638: cannot attach to job SYS_EXPORT_SCHEMA_01 for user SYS ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: at "SYS.KUPV$…...

Kafka入门,保姆级教学
文章目录 Kafka概念消息中间件对比消息中间件对比-选择建议Kafka常用名词介绍Kafka入门1. Kafka安装配置2.Kafka生产者与消费者关系3.Kafka依赖4.生产者发消息5.消费者接受消息6.Kafka高可用性设计6.1集群Kafka备份机制(Reolication) 7.kafka生产者详解7.1 发送类型7.2参数详解…...

RabbitMQ 过期时间(TTL)
TTL,Time to Live的简称,即过期时间,RabbitMQ可以对消息和队列设置TTL。 RabbitMQ支持设置队列的过期时间和消息的过期时间。如果设置队列的过期时间则队列中所有的消息都有相同的过期时间。如果设置消息的过期时间则每条消息的过期时间则可以不同。如两…...

C 语言练习题、持续更新
文章目录 C语言练习题读懂每个练习题才是学好一门代码的重要经历目录(先不要看答案,首先自己做才能更好的领悟,做不来没关系)题目一:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数&…...

Android Q以上后台启动Activity初步尝试
在Android Q以后 google不允许在后台service 广播等等启动Activity 具体请看google文档从后台启动 Activity 的限制 | Android 开发者 | Android Developers 文档里有详细的说明,在哪种情况下可以后台启动Activity。 大体分为以下几种情况: 1、应用具有可见窗口,例如前…...

【torchlars】windows下载github中的torchlars包遇到的问题及解决方案
环境 python3.7 windows10 cuda11.1 pytorch1.8.1 虚拟环境miniconda 目的 windows下载github中的torchlars包 遇到的问题 问题一:直接下载好文件夹输入指令:python setup.py install 出现错误:RuntimeError: Error compiling objects f…...

SolidUI社区-通用Prompt技巧
背景 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相…...

C++中类的封装写出一个文件加密的小项目
文件的加密较为简单,当然也可以修改它的加密方式等,供大家参考 #include<string> #include<fstream> class ReaderFile { public:string Read(const string& filename){cout << "读取文件,获取明文"<<…...

【网络编程·传输层】UDP和TCP的报头
目录 一、端口号划分 二、部分指令 1、pidof(用于查看进程id) 2、netstat(查看网络状态) 三、UDP协议 1、UDP协议格式 2、UDP协议如何进行封装、解包、分用 2.1封装、解包 2.2分用 3、UDP协议的特点 3.1UDP协议的特点 …...

C语言编程技巧 全局变量在多个c文件中公用的方法
在使用C语言编写程序时,经常会遇到这样的情况:我们希望在头文件中定义一个全局变量,并将其包含在两个不同的C文件中,以便这个全局变量可以在这两个文件中共享。举个例子,假设项目文件夹"project"下有三个文件…...

【HDFS】NN处理全量块汇报时reportDiff的一些细节
NN处理全量块汇报(FBR)时的一些细节怎么生成的toRemove怎么check 汇报上来的块是不是corrupt的?reportDiff方法里巧妙地引入delimiterBlock这个block的作用前置知识:【HDFS】Block、BlockInfo、BlockInfoContiguous、BlockInfoStriped的分析记录 上面的文章中介绍了关于Bl…...

JVM之类加载与字节码(一)
1.类文件结构 一个简单的HelloWorld.Java package cn.itcast.jvm.t5; // HelloWorld 示例 public class HelloWorld { public static void main(String[] args) { System.out.println("hello world"); } }编译为 HelloWorld.class 后的样子如下所示: […...

【数据结构OJ题】合并两个有序数组
原题链接:https://leetcode.cn/problems/merge-sorted-array/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 看到这道题,我们注意到nums1[ ]和nums2[ ]两个数组都是非递减的。所以我们很容易想到额外开一个数组tmp[ ]&#x…...

数据结构笔记--归并排序及其拓展题(小和问题、逆序对问题)
目录 1--归并排序 2--小和问题 3--逆序对问题 1--归并排序 归并排序的核心思想:将一个无序的序列归并排序为一个有序的系列;通过递归将无序的序列二分,从底层开始将二分的序列归并排序为有序序列; #include <iostream> #…...

flutter开发实战-实现css线性渐变转换flutter渐变LinearGradient功能
flutter开发实战-实现css线性渐变转换flutter渐变LinearGradient功能 在之前项目开发中,遇到更换样式,由于从服务器端获取的样式均为css属性值,需要将其转换成flutter类对应的属性值。这里只处理线性渐变linear-gradient 比如渐变 “linear-…...

python推理小游戏bagels
python推理小游戏bagels bagels是一个推理小游戏,你的朋友想到一个随机的、没有重复的3位数字,你尝试去猜测它是什么。每次猜测之后,朋友就会给出3中类型的线索: Bagels: 你猜测的3个数都不在神秘数字中;Pico&#x…...

DBSCAN聚类
一、概述 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,簇集的划定完全由样本的聚集程度决定。聚集程度不足以构成簇落的那些样本视为噪声点,因此DBSCAN聚类的方式也可以用于异常点的检测。 二、算法…...

java+ssm美食推荐交流系统 7jsw7
随着社会的发展,美食推荐系统的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但美食推荐信息鱼龙混杂,真假难以辨别。为了方便用户更好的获得美食推荐信息,因此,设计一款安全高效的美食推荐系统极为重要。 为…...