2017年亚太杯APMCM数学建模大赛A题睡眠对人体的影响求解全过程文档及程序

news2024/9/27 17:28:56

2017年亚太杯APMCM数学建模大赛

A题 睡眠对人体的影响

原题再现

  自2001年以来,世界睡眠医学协会将每年的3月21日定为世界睡眠日,以引起人们对睡眠的重要性和质量的关注。

  一整天的精神状态取决于昨晚的睡眠质量,高睡眠质量自然保证了人们精力充沛。但据统计,中国成年人失眠率高达38.2%,青少年失眠率也在上升。一般来说,如果入睡时间超过30分钟,就属于失眠的范畴,所以我们相信许多参与者也是失眠者。长期失眠会使人感到疲劳,一整天精力不足,注意力无法集中,因此工作和学习效率也较低。严重失眠甚至会引起自主神经功能紊乱,导致身体各系统失衡和各种问题。

  影响失眠的因素很多,一般可分为客观因素和主观因素。客观因素是环境变化、睡前喝茶或喝咖啡等,主观因素一般是生活压力、情绪失落、精神兴奋等精神因素。然而,处于生长发育期的年轻人的大脑极易因学习和工作压力而疲劳。因此,他们必须特别注意卧床休息,以确保身体健康。

  人体睡眠质量和可能影响睡眠质量的各种指标数据见附件一。(来源和测试编号不是指标)

  附件二给出了睡眠状况的相关分数(“0”表示良好,“1”表示正常,“2”表示较差,“3”表示极差),分数越高,睡眠状况越差。

  (1) 根据附件一中的数据分析给定的指标与睡眠质量之间的关系,如果一个或多个指标与睡眠品质之间没有相关性,则找出并删除。

  (2) 分析诊断结果与睡眠之间的关系。

  (3) 假设你是一名医生,根据附件三中的数据,你会对患者做出什么诊断?给出您的诊断结果。

  (4) 为了身体的健康,如何科学地安排我们的休息时间?制定适当的睡眠计划并评估其有效性。

整体求解过程概述(摘要)

  据统计,中国人的失眠率正在上升。如果人们不注意休息,长期失眠会导致各种疾病的发生。因此,为了保持身心健康,需要一个合理的睡眠计划。
  为了解决问题1,首先,本文分析了附件一中的数据,排除了异常数据。然后,根据新数据确定指标与睡眠质量之间的相关性,使用SPSS分析每个属性的Pearson相关系数,从而消除了一个名为Reliability的无关属性。同时,附件一中的诊断结果根据性别和年龄分为六组,这六组数据中排除了与睡眠质量无关的指标。最后,利用统计分类模型得到了睡眠质量与给定指标之间的多元回归关系。
  对于问题2,本文首先分析了附件二表格中的数据,排除了异常值。然后,根据国际分类标准,本文试图用定性分析的方法对诊断类型进行降维分类。接下来,对数据进行定量分析,发现男女比例接近1:2。以建立迭代模型为基础,依据机器学习的深度原理,建立诊断评价矩阵。不断向下迭代低维数据,直到迭代精度达到模型的最优解,然后立即停止迭代,以获得最优解。最后,最终迭代判断的正确性达到72.1%,这意味着疾病变量和睡眠指标具有更高的匹配度。
  针对问题3,将附件三中的数据引入问题2的模型中,采用MATLAB算法进行深度机器学习。
  第二,使用附件二中的干净数据作为样本集,并将附件三集发送到样本集中进行训练,将获得评估指标。在对最终的评价标准进行排序和筛选得到最优解后,根据最优解,找到相应的疾病。最终,有一半的人患有抑郁症。
  针对问题4,本文利用MATLAB进行随机仿真。根据Hadoop的结果规划健康的睡眠时间表,随着迭代次数的增加,Hadoop更有效,并发现影响人们睡眠的指标大多恢复到正常值。

模型假设:

  为了简化问题并方便我们模拟现实生活中的条件,
  我们做了以下基本假设,每一个都是合理的。
   假设标题中的数据适合所有人。
   假设医生是专业的,但也有判断错误
   假设数据源是真实可靠的。

问题重述:

  背景
  进入21世纪以来,人们的健康意识空前提高,“拥有健康才能拥有一切”的新理念深入人心。因此,睡眠问题引起了国际社会的关注。根据世界卫生组织对14个国家和15个地区的25916名初级保健患者的调查,发现27%的人有睡眠问题。据报道,美国失眠的发病率高达32至50%,英国为10~14%,日本为20%,法国为30%,中国超过30%。50%的学生睡眠不足。

  睡眠障碍对生活质量有负面影响,但相当多的患者没有得到正确的诊断和治疗。睡眠障碍已经成为威胁全世界公众的一个突出问题。

  影响失眠的许多因素通常可分为两大类,即客观因素和主观因素。客观因素有环境变化、睡前喝茶或喝咖啡等。;而主观因素一般是生活压力、情绪损失、精神兴奋等心理因素。然而,在他们的成长和发展过程中,年轻人很容易因为学习和工作的压力而感到疲惫。因此,他们必须特别注意卧床休息,以确保身体健康。

  问题重述

  为了研究睡眠对人体的影响,根据附件一和附件二中的数据解决了以下问题:

   根据附件一中的数据,分析给定指标与睡眠质量之间的关系。如果一个或多个指标与睡眠质量之间没有相关性,请识别并排除它们。

   分析诊断与睡眠之间的关系。

   根据附件三中的数据,对患者进行了诊断并给出了结果。

   如何安排休息以保持良好的健康?制定睡眠计划并评估其有效性。

  文献综述

  为了测量睡眠质量,匹兹堡大学精神病学家Buysse博士和其他人于1989年编制了匹兹堡睡眠质量指数(PSQI)。该量表适用于睡眠障碍、精神障碍患者,也适用于一般睡眠质量的评估。

  基于匹兹堡睡眠质量量表,严有为和林荣茂通过收集问卷和构建结构方程模型,进一步研究了焦虑与睡眠质量的关系及其潜在机制。结果表明,焦虑敏感学生的PSQI得分明显高于低焦虑敏感学生。焦虑敏感度越高,睡眠质量就越差。

  正是因为睡眠问题在所有年龄段都会出现。因此,研究老年人的睡眠也是必要的。对此,赵培秋通过对65例老年患者的临床观察护理,分析了老年人失眠的原因,包括生理因素、心理因素、环境因素、药物因素、饮食因素五个方面。

  进一步的研究是基于模型与现实的比较。刘贤臣、唐茂琴提出以神经症患者为测试对象,采用统计学分析技术对匹兹堡睡眠质量指数进行信度和有效性测试。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:

部分程序如下:
// Operating environment: EXCEL;
=EXACT($C$2,C16)*EXACT($D$2,D16)*(SQRT(POWER(($B$2-B16),2))+SQRT(POWE
R(($E$2-F16),2))+SQRT(POWER(($F$2-G16),2))+SQRT(POWER(($G$2-H16),2))+SQRT(
POWER(($H$2-I16),2))+SQRT(POWER(($I$2-J16),2))+SQRT(POWER(($J$2-K16),2))+SQ
RT(POWER(($K$2-L16),2)))
%% AUTHOR: Contestants of APMCM;
%% FUNCTION: A program used for data processing on MATLAB;
%% TIME: 25th,Nov ember,2017.
%% Initialization;
clear
clc
%% Basic parameters configuration;
upperlimit=5665; % The number of rows to process.
diagnosis_less_limit=100; % Lowest limit of classification.
filename='data_clear.xlsx'; % The original data stored in this file.
sheet='原始数据'; % The name of the sheet in the EXCEL.
%% Loading the original data;
% number_init=xlsread(filename,sheet,'A2:A6350');
% age_init=xlsread(filename,sheet,'B2:B6350');
% [temp1,temp2,sex_init]=xlsread(filename,sheet,'C2:C6350');
% [temp3,source_init,temp4]=xlsread(filename,sheet,'D2:D6350');
[temp5,diagnosis_init,temp6]=xlsread(filename,sheet,'E2:E6350');
% sleep_quality_init=xlsread(filename,sheet,'F2:F6350');
% sleep_latency_init=xlsread(filename,sheet,'G2:G6350');
% sleep_time_init=xlsread(filename,sheet,'H2:H6350');
% sleep_efficiency_init=xlsread(filename,sheet,'I2:I6350');
% sleep_disorder_init=xlsread(filename,sheet,'J2:J6350');
% hypnagogue_init=xlsread(filename,sheet,'diagnosis_species 2:diagnosis_species 6350');
% daytime_dyfunction_init=xlsread(filename,sheet,'L2:L6350');
clear temp* sheet filename % Free up memory space.
%% Convert sexual attributes to Boolean distribution;
% for i=1:upperlimit-1
% if(length(sex_init{i}) == 4) 
% sex(i,1)=1;
% else
% sex(i,1)=0;
% end
% end
%% Number the illness types
diagnosis_names=cell(upperlimit-1,1);
i=1;diagnosis_species =1;flag=0;
for m=1:upperlimit-1
 for i=1:diagnosis_species 
 temp=strcmp(diagnosis_names{i},diagnosis_init{m}); % The same is returned 
1, defference is returned 0;
 if(temp)
 else
 flag=flag+1;
 end
 end
 if(flag==diagnosis_species )
 diagnosis_names{diagnosis_species } = diagnosis_init{m};
diagnosis_species =diagnosis_species +1;
 end
 flag=0;
end
diagnosis_species=diagnosis_species-1;
clear i m temp flag
%% Calculate the number of each condition;
temp=0;flag=0;m=0;
for i=1:diagnosis_species 
 for m=1:upperlimit-1
 temp=strcmp(diagnosis_names{i},diagnosis_init{m});
 if(temp == 1) 
 flag=flag+1;
 end
 end
 diagnosis_number(i,1)=flag;
 flag=0;
end
clear temp i flag m 
%% The explanation format of the conversion disorder is a character;
%% Find out the rare ones and find the quantity;
for i=1:diagnosis_species
 if(diagnosis_number(i,1) <= diagnosis_less_limit)
 boolean_evaluation(i,1)=1;
 else
 boolean_evaluation(i,1)=0;
 end
end
clear i
other_diagnosis_species=sum(boolean_evaluation);
other_diagnosis_number=sum(boolean_evaluation.*diagnosis_number);
%% call any required information;
% for i=1:diagnosis_species
% if(temp(i,1)==1)
% number_less(i,1)=number_init(i,1);
% age_less(i,1)=age_init(i,1);
% sex_less(i,1)=sex_(i,1);
% source_less{i}=source_init{i};
% diagnosis_less{i}=diagnosis_init{i};
% sleep_quality_less(i,1)=sleep_quality_init(i,1);
% sleep_latency_less(i,1)=sleep_latency_init(i,1);
% sleep_time_less(i,1)=sleep_time_init(i,1);
% sleep_efficiency_less(i,1)=sleep_efficiency_init(i,1);
% sleep_disorder_less(i,1)=sleep_disorder_init(i,1);
% hypnagogue_less(i,1)=hypnagogue_init(i,1);
% daytime_dyfunction_less(i,1)=daytime_dyfunction_init(i,1);
% end
% end
% clear temp
%% Classify and make pie charts by number;
% Processing data;
k=1;
data=(~boolean_evaluation).*diagnosis_number; % Input data
final_classification_species=sum(~boolean_evaluation)+1;
for i=1:diagnosis_species
if(data(i) == 0)
 else
 data_useful(k,1)=diagnosis_number(i,1);
 k=k+1;
 end
end
final_classification_numbers=[data_useful;other_diagnosis_number];
%% Make sure the names of classification;
k=1;
for i=1:diagnosis_species
 if(boolean_evaluation(i) == 0)
 final_classification_names{k}=diagnosis_names{i};
 k=k+1;
 end
end
final_classification_names{final_classification_species}='Other Diagnosises';
clear i k data data_useful
label=final_classification_names; % Enter the label;
data=final_classification_numbers'; % Define the salient parts;
for i=1:final_classification_species
 
if(final_classification_numbers(i,1)>(sum(final_classification_numbers)/final_classification_s
pecies))
 explode(i,1)=1;
 else
 explode(i,1)=0;
 end
end
explode=explode';
bili=data/sum(data); % Calculate the ratio;
baifenbi=num2str(bili'*100,'%1.2f');% Calculate the percentage;
baifenbi=[repmat(blanks(2),length(data),1),baifenbi,repmat('%',length(data),1)];
baifenbi=cellstr(baifenbi);
Label=strcat(label,baifenbi');
%% Drawing;
pie(data,explode,Label)
clear i label Label explode data bili baifenbi data_useful
%% Output analysis result.
disp('According to the data you provided, the final result of the output analyzed by the 
mathematical modelis:')
disp('Each categorie of disorders is:')
final_classification_species'
disp('Each names of the categories is:')
final_classification_names
disp('Each number of patients with disease is')
final_classification_numbers'
disp('The resulting of pie chart is shown in the window.')
%% AUTHOR: Contestants of APMCM;
%% FUNCTION: A program used for data processing on MATLAB;
%% TIME: 25th,Nov ember,2017.
clc,clear, close all;
data=load('shuju.txt'); %Enter the text document shuju.txt in the workspace named data form
plot(data(:,1),'r')
ylabel('Reliability');
legend('Reliability');
figure;
plot(data(:,2))
ylabel('Psychoticism');
legend('Psychoticism');
figure;
plot(data(:,3),'k')
ylabel('Nervousness');
legend('Nervousness');
figure;
plot(data(:,4),'g')
ylabel('Character');
legend('Character');
%% AUTHOR: Contestants of APMCM;
%% FUNCTION: A program used for data processing on MATLAB;
%% TIME: 25th,Nov ember,2017.
x1=data(:,1);
x2=data(:,2);
x3=data(:,3);
x4=data(:,4);
x5=data(:,5);
x6=data(:,6);
x7=data(:,7);
y=data1(:,1);
x=[x1 x2 x3 x4 x5 x6 x7];
stepwise(x,y)
%% AUTHOR: Contestants of APMCM;
%% FUNCTION: A program used for data processing on MATLAB;
%% TIME: 25th,Nov ember,2017.
x1=data(:,1);
x2=data(:,2);
x3=data(:,3);
x4=data(:,4);
x5=data(:,5);
x6=data(:,6);
x7=data(:,7);
y=data1(:,1);
x=[x1 x2 x3 x4 x5 x6 x7];
X=[ones(1623,1) x1 x2 x3 x4 x5 x6 x7];
 b=regress(y,X)
%% AUTHOR: Contestants of APMCM;
%% FUNCTION: A program used for data processing on MATLAB;
%% TIME: 25th,Nov ember,2017.
clc,clear, close all;
data=load('yuchuli.txt'); %Enter the text document shuju.txt in the workspace named data 
form
plot(data(:,1),'r')
ylabel('Reliability');
legend('Reliability');
figure;
plot(data(:,2))
ylabel('Psychoticism');
legend('Psychoticism');
figure;
plot(data(:,3),'k')
ylabel('Nervousness');
legend('Nervousness');
figure;
plot(data(:,4),'g')
ylabel('Character');
legend('Character');
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

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

相关文章

C++面试常见问题多态如何实现?虚函数的底层如何实现?

1.黑马程序员多态例子 class Animal { public://Speak函数就是虚函数//函数前面加上virtual关键字&#xff0c;变成虚函数&#xff0c;那么编译器在编译的时候就不能确定函数调用了。virtual void speak(){cout << "动物在说话" << endl;} };class Cat …

Jetpack:016-Jetpack中的SanckBar

文章目录 1. 概念介绍2. 使用方法2.1 显示内容2.2 显示方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack相关的概念和主要内容&#xff0c;本章回中主要介绍 SnackBar。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章…

【J-Long Group Limited】申请1500万美元纳斯达克IPO上市

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;总部位于中国香港的J-Long Group Limited&#xff08;简称&#xff1a;J-Long&#xff09;近期已向美国证券交易委员会&#xff08;SEC&#xff09;提交招股书&#xff0c;申请在纳斯达克IPO上市&…

C语言 每日一题 PTA 10.21-10.24日 day3

1.计算分段函数[1] 本题目要求计算下列分段函数f(x)的值&#xff1a; yf(x)1/x x!0 yf(x)0 x0 int main() {double num 0;scanf("%lf", &num);double result 0;if (num 0){result 0;}else{result 1 / num;}printf("f(%.1lf)%.1lf", num, result)…

获取Android签名文件的MD5和SHA1指纹

以前在App中集成百度地图时&#xff0c;需要在百度地图的开发者网站上绑定应用的包名和签名&#xff0c;以预防自己的key被别人乱用。 最近公司的一个球机产品也搞了类似的做法&#xff0c;我们要访问它的摄像头功能需要使用厂家提供的aar库&#xff0c;但是你要想正常调用它的…

Unity性能优化一本通

文章目录 关于Unity性能优化一、资源部分&#xff1a;1、图片1.1、 图片尺寸越小越好1.2、使用2N次幂大小1.3、取消勾选Read/Write Enabled1.4、图片压缩1.5、禁用多余的Mip Map1.6、合并图集 2、模型2.1.限制模型面数2.2.限制贴图的大小2.3.禁用Read/Write Enables2.4.不勾选其…

阻塞队列BlockingQueue实战及其原理分析

一&#xff0c;队列 1. 队列 是限定在一端进行插入&#xff0c;另一端进行删除的特殊线性表。 允许出队的一端称为队头&#xff0c;允许入队的一端称为队尾。 先进先出(FIFO)线性表。 1.1 Queue接口 2. 阻塞队列&#xff08;BlockingQueue&#xff09; 阻塞队列 (BlockingQueu…

Linux系统64位ATT系统调用汇编指令syscall

相关概念 在Linux中syscall是系统调用&#xff08;英文&#xff1a;system call&#xff09;的指令。 想要深入了解syscall的作用&#xff0c;就需要了解特权级别。 现代计算机通常采用名为保护环&#xff08;Protection Rings&#xff09;的机制来保护整个系统的数据和功能&a…

出海 SaaS 企业增长修炼手册2:Kyligence 落地 PLG 是如何避坑的?

在第一篇文章&#xff08;点击阅读 &#x1f449; 出海 SaaS 企业增长修炼手册&#xff1a;聊聊 PLG 的关键指标、技术栈和挑战&#xff09;中&#xff0c;我们分享了 SaaS 企业在落地 PLG 战略中可能遇到的挑战以及相应的解决方案&#xff0c;今天我们将从 Kyligence 亲身实践…

【数据结构】数组和字符串(二):特殊矩阵的压缩存储:对角矩阵——一维数组

文章目录 4.2.1 矩阵的数组表示4.2.2 特殊矩阵的压缩存储a. 对角矩阵的压缩存储结构体初始化元素设置元素获取打印矩阵主函数输出结果代码整合 4.2.1 矩阵的数组表示 【数据结构】数组和字符串&#xff08;一&#xff09;&#xff1a;矩阵的数组表示 4.2.2 特殊矩阵的压缩存储…

Qt之普通项目如何生成DLL(含源码+注释)

文章目录 一、示例图二、普通项目需要改造的内容三、源码&#xff08;创建了一个TestDLL的项目&#xff0c;更改内容主要在pro文件和maindow.h文件&#xff09;TestDLL.promainwindow.hmainwindow.cppmainwindow.ui 总结 一、示例图 使用不同的编译模式编译&#xff0c;会在对…

卷积神经网络的感受野

经典目标检测和最新目标跟踪都用到了RPN(region proposal network)&#xff0c;锚框(anchor)是RPN的基础&#xff0c;感受野(receptive field, RF)是anchor的基础。本文介绍感受野及其计算方法&#xff0c;和有效感受野概念。 1.感受野概念 在典型CNN结构中&#xff0c;FC层(…

一款集成了主流大语言模型以及绘图模型的 APP, 采用 Flutter 开发,代码完全开源!!

一款集成了主流大语言模型以及绘图模型的 APP&#xff0c; 采用 Flutter 开发&#xff0c;代码完全开源&#xff0c;支持以下功能&#xff1a; 支持 OpenAI 的 GPT-3.5&#xff0c;GPT-4 大语言模型支持 Anthropic 的 Claude instant&#xff0c;Claude 2.0 大语言模型支持国产…

Python 框架学习 Django篇 (六) 数据表关联、ORM关联

在后端服务器开发中&#xff0c;特别是前后端分离的架构中数据库是非常重要的&#xff0c;后端主要就是负责管理数据&#xff0c;而我们经常使用的mysql、oracle 都是关系型数据库&#xff0c;什么是关系型数据库&#xff1f;就是建立在关系模型基础上的数据库&#xff0c;而最…

竞赛 深度学习人体跌倒检测 -yolo 机器视觉 opencv python

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习的人体跌倒检测算法研究与实现 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满…

flutter 使用FlutterJsonBeanFactory工具遇到的问题

如下图&#xff0c;使用FlutterJsonBeanFactory工具生成的数据类 但是其中 生成的 import package:null/&#xff0c;导致的错误&#xff1a;Target of URI doesn’t exist: ‘package:null/generated/json/asd.g.dart’ 尝试过的方法&#xff1a; 手动添加包名&#xff0c;…

面试算法39:直方图最大矩形面积

题目 直方图是由排列在同一基线上的相邻柱子组成的图形。输入一个由非负数组成的数组&#xff0c;数组中的数字是直方图中柱子的高。求直方图中最大矩形面积。假设直方图中柱子的宽都为1。例如&#xff0c;输入数组[3&#xff0c;2&#xff0c;5&#xff0c;4&#xff0c;6&am…

前后端交互系统:在Node.js中运行JavaScript

在Node.js中运行JavaScript&#xff0c;您需要编写适用于服务器端的代码&#xff0c;而不是浏览器端的代码。以下是一些示例代码&#xff0c;用于在Node.js中创建一个简单的HTTP服务器并在浏览器中访问它&#xff1a; // 引入Node.js内置的http模块 const http require(http);…

华为ERP,包含哪些内容?技术的先进性体现在哪里?

华为作为全球领先的信息和通信技术&#xff08;ICT&#xff09;解决方案提供商&#xff0c;其企业资源规划&#xff08;ERP&#xff09;系统是一个高度复杂且集成的管理软件平台&#xff0c;用于优化公司内部的业务流程和资源分配。华为ERP系统包括一系列模块和功能&#xff0c…

pytest-yaml 测试平台-2.支持上传YAML格式用例

前言 pytest-yaml 测试平台用例结构是遵循pytest-yaml-yoyo 框架用例规则。 如果你之前已经有用 pytest-yaml-yoyo 框架完成了yaml 用例的编写&#xff0c;可以直接在平台上导入yaml 用例。 yaml 用例 test_用例文件a.yml config:name: 单个用例文件test_a:name: extract提…