评估睡眠阶段分类:年龄和早晚睡眠对分类性能的影响

摘要

睡眠阶段分类是专家用来监测人类睡眠数量和质量的常用方法,但这是一项耗时且费力的任务,观察者之间和观察者内部的变异性较高。本研究旨在利用小波进行特征提取,采用随机森林进行分类,寻找并评估一种自动睡眠阶段分类的方法。研究结果发现,分类器的性能与被试的年龄以及睡眠时段(上半夜和下半夜)有关。

图片

图形摘要

前言

多导睡眠图(PSG)通过采集夜间生理参数来分析患者的睡眠情况。该方法使用脑电图(EEG)、眼电图(EOG)、肌电图(EMG)、心电图、脉搏血氧饱和度、口鼻气流和呼吸动度等多个参数进行监测,并使用EEG、EOG和EMG电极的信息来进行睡眠分期。大脑额叶、中央区和枕叶脑区的电活动以及眼球运动和颏肌电图用于确定睡眠阶段。

PSG通常包括将整晚的睡眠划分成30s的时间段,每个时间段又被分类为一组预定义的睡眠阶段。最近的研究使用机器学习进行自动睡眠评分。Silveira等人(2017)的研究使用随机森林(RF)进行睡眠评分,并将离散小波作为特征提取器。Hassan等人(2017)的方法基于单个EEG通道对睡眠阶段进行分类,而Rahman等人(2018)的研究则基于单个EOG通道进行分类。此外,RF也被用于一系列脑电相关问题,如癫痫早期检测、人类精神状态分类等。但根据Krakovská等人(2011)的研究结果表明,当使用不同类型的通道时,分类性能会有所提高。

考虑到人类自然衰老过程中的睡眠变化,本文旨在分析这些变化如何影响我们的分类模式。Zhou等人(2020)的研究使用随机森林(RF)和LightGBM机器学习算法来分类睡眠阶段。值得注意的是,他们将年龄作为分类任务的一个特征。另一方面,像Gais等人(2000)和Rasch等人(2013)的研究分析了早期睡眠和晚期睡眠时段之间的差异,结果显示出两者之间存在显著差异。本研究还试图分析这些变化如何影响训练模型的性能。

在这里,本文分析了一个睡眠评分模型,以评估年龄以及早晚睡眠对经典分类器性能产生的影响。为此,本研究使用小波作为特征提取器,随机森林作为分类器,试图了解不同模型如何最好地适应每个问题的需求。

图片

图1.a)实验的三个阶段。b)EEG、EOG和EMG通道的单个epoch数据样本。c)级联模型(CM)所使用的分类器。

方法

信号

脑电图(EEG)是一种流行的非侵入性技术,通过在头皮上放置电极来记录脑细胞活动产生的电信号,遵循国际10-20系统。这种方法以高时间分辨率捕获大脑皮层的电活动。眼电图(EOG)是一种通过将电极置于眼外眦来记录被试眼动的方法。肌电图(EMG)测量肌肉对神经刺激的反应或电活动。在睡眠评分中,通常采用颏下EMG。图1显示了每个通道和不同睡眠阶段的30s样本。Sleep-EDF数据集已经分割成30s的时段,这是EEG数据分析的标准做法。

Sleep-EDF扩展数据集

本研究使用了Sleep-EDF扩展(Sleep-EDFx)公共数据集,该数据集包含了从1987年至1991年期间的153个文件,旨在研究健康高加索人群(年龄范围为25-101岁)睡眠中年龄效应的影响。在本文中,所有被试均未服用任何与睡眠相关的药物。随后在被试家中进行两次PSG监测,每次监测时间约为20h。每个样本包含EEG(来自Fpz-Cz和Pz-Oz电极位置)、EOG(水平方向)、颏下EMG和事件标记。所有记录由专家按照R&K标准进行预分类。

所有实验均在清醒(W)、快速眼动(REM)、阶段1(S1)、阶段2(S2)和慢波睡眠(SWS)状态下进行。SWS是根据R&K标准合并阶段3和阶段4的结果。使用EEG Fpz-Cz、EOG和EMG通道,EOG和EEG信号采样率为100Hz;EMG采样率为1Hz,频率响应范围(3dB点)为0.5至100Hz。为了确保记录性能良好,本研究建立了一个标准:如果EEG通道的全带宽(0.5-100Hz)噪声水平超过7 IL V rms,则自动删除记录。专家标记为运动时间且未进行评分的时段被排除在外。对所有被试进行全天PSG监测。剔除白天的W样本以避免噪声信息,保留睡眠前20min和睡眠后20min的W阶段样本。被试按年龄分为四组(表1):第一组(26-35岁)、第二组(50-60岁)、第三组(66-75岁)和第四组(85-101岁)。

表1.被试分组信息。

图片

小波变换用于特征提取

小波变换(WT)是一种从非平稳1D信号(如EEG、EOG和EMG)中提取特征的强大工具。与傅里叶变换不同,小波变换可以在表征频率信息的同时表征时间信息,实现了时间和频率分辨率之间的良好平衡。小波有两种类型:连续小波和离散小波。由于离散小波计算效率高,并且已被证明在睡眠EEG分析方面非常有效,因而本研究使用了离散小波。

随机森林非线性分类

随机森林(RF)是一种由多个树预测器组合而成的分类算法,其中节点由随机选择的特征进行分割。标准化的特征-样本矩阵作为输入。对样本数据进行训练、验证和测试分割。70%的被试数据用于训练和验证,剩下的30%用于测试。在模型训练过程中,本研究使用了留一交叉验证方法,其中一个被试样本用于验证其余被试训练的模型。重复这个步骤,直到所有被试都通过验证阶段。最后,根据所有验证结果的均值和标准差来选择超参数。利用随机种子“1234”确保在后续算法运行中生成相同的随机数序列。

级联模型

图1显示了不同信号的分布情况。可以看到,在EEG中,W、S1和REM的信号是相似的;S2和SWS阶段的波幅更大。级联模型(CM)示意图如图1c所示。本研究将训练分为两个层次。第一层将输入分成两组。第一组包含W期、S1期和REM期。第二组包含S2期和SWS期。然后,训练一个SM模型,用于对这两组之间的样本进行分类。在第二层,使用两个RF模型来对上一层生成的子组进行最终分类。一个模型对第一组样本进行子分类,另一个模型对第二组(S2和SWS)样本进行子分类。

模型设置

通过一系列实验来选择最佳的模型设置和训练配置。首先,以小波系数作为特征训练了一个多类模型,称为小波模型(WM)。本研究训练了三个WMs:一个仅使用了EEG通道,第二个使用了EEG和EOG通道,第三个使用了EEG、EOG和EMG通道进行训练。此外,本研究还考虑了统计值模型(SM),该模型使用小波系数的统计量(均值、中位数、标准差、峰度和偏度)作为特征。最后,将小波变换后的小波系数和统计量作为扩展模型(EM)的特征。

年龄对睡眠阶段分类的影响

睡眠效率、SWS、慢波和快速纺锤波的功率谱密度会随着年龄的增长而降低,而老年人非快速眼动睡眠阶段中的θ-α和β功率增加。基于此,本研究假设对于随年龄变化的睡眠阶段,使用年轻被试训练的模型在对老年被试获得的信号进行分类时可能表现较差,反之亦然。为了验证该假设,本研究训练了四个模型,考虑了每个被试年龄组的数据。最终得到的模型在未经训练的被试数据上进行测试。

早晚睡眠对分类的影响

SWS在睡眠早期阶段占主导地位,并且在整个睡眠期间,其强度和持续时间都在下降。相反,快速眼动(REM)睡眠在睡眠后期变得更加强烈和广泛。假设使用早期睡眠数据样本训练的模型在REM阶段分类方面表现不佳,而在SWS阶段分类中的性能较好。另一方面,使用晚期睡眠样本训练的模型在SWS分类中表现较差,但在REM分类中的表现较好。为了验证这些假设,本研究将一晚上的睡眠时间分成两半。前半夜,称之为早期睡眠,后半夜,称之为晚期睡眠。然后,分别使用早期睡眠和晚期睡眠的样本训练两个模型。最后,测试两个模型的早晚睡眠阶段分类。

特征的统计评估

为了评估所选特征表征不同类别的能力,本研究使用了统计检验。首先,使用Shapiro-Wilk对数据进行正态性检验(p<0.05)。然后,在Hassan等人(2017)研究的基础上,采用单因素方差分析(ANOVA)对所选择的特征进行统计检验,以验证其是否能够区分五个类别。置信区间为95%。因此,p值小于0.05则表明这些特征的方差在类别之间有显著差异。使用Scipy库(V 1.4.1)进行评估。

结果

模型选择

表2显示了仅使用EEG;EEG和EOG;以及EEG、EOG和EMG通道进行训练时,WM模型得出的F分数。最高的F值用粗体突出显示。除S1外,所有类别在使用三个通道训练的模型中都获得了最佳F分数。对于S1,使用两个通道训练的模型表现最佳。对于两个和三个通道训练的模型,其中差异最大的是SWS阶段,相差2.87。

表2.使用不同通道进行训练时,WM模型的F分数。

图片

WM、SM和EM模型的F分数如图2所示。三个模型在W阶段(粉色标记)的F分数是相似的,其中SM模型的F分数相对较低。三个模型在S1阶段(蓝色标记)中的总体表现不佳。在S2阶段(黄色标记),所有模型的结果类似,其中SM和EM模型的F分数略高一些。几乎所有被试的F分数都在60%至80%之间。在三个模型中,有一个被试获得了比其他被试更高的F分数。图2b显示了被试14在各模型上的混淆矩阵。在这三个模型中,S2的分类正确率为96%。WM模型中有相当数量的时段被正确分类为W阶段,但该模型在S2上的错误率为25%。SM模型对W阶段的分类正确率为64%,对S1阶段的分类正确率为25%。EM模型在W阶段的分类正确率为69%,但在S2上的错误率为24%。

图片

图2.WM、SM和EM的结果。

表3显示了SM模型和CM模型中各睡眠阶段的F分数。总的来说,CM模型取得了较好的结果。在W阶段中,SM模型显示出比CM模型更高的F分数。在SWS分类中,两个模型的得分相同。对于其他类别,CM模型的分类效果优于SM模型。单因素方差分析结果显示,五个睡眠阶段之间存在显著差异。

表3.SM模型和CM模型中各睡眠阶段的F分数。

图片

每种算法在各睡眠阶段获得的F分数见表4。随机森林(RF)在所有类别中始终优于其他两种方法。支持向量机(SVM)次之,但其值与RF较为接近,而K最近邻算法(KNN)的效果最差。这种明显的性能差异强调了RF在睡眠阶段分类中的优势。

表4.每种算法在各睡眠阶段获得的F分数。

图片

年龄对分类的影响

图3a显示了使用不同年龄组的被试训练的四个CM的结果,并对来自不同年龄组的测试被试进行分类。根据用于训练的被试年龄将模型命名为G1-model、G2-model、G3-model和G4-model。总体上,使用G1-model对G1被试进行分类取得了较好的效果。G1-model提高了G1被试的分类性能。此外,在G3被试分类中,该模型的F分数更高。在W阶段,G1-model的分类结果低于其他模型。但用该模型对老年被试进行分类时,获得了更高的F分数。每个模型和每个测试被试的S1结果都比较低。当使用G3被试进行分类时,G1-model对S1的分类效果较好。G1-model对所有测试被试的结果均优于其他模型。对于REM阶段,几乎在所有模型中,G2和G3被试的分类效果最佳。

图片

图3.a)在对不同组别进行分类时,四个CM模型(分别使用G1、G2、G3和G4被试组进行训练)的F分数。b)每个睡眠阶段的总F分数。

早晚睡眠的影响

图3b显示了使用早期或晚期睡眠数据训练的模型在对测试被试的早晚睡眠进行分类时的总体结果。总体而言,早期睡眠模型的分类性能优于晚期睡眠模型的性能。使用早期睡眠数据训练的模型在分类早期睡眠时获得了最佳结果。然而,该模型在测试晚睡时的性能下降。在W阶段,几乎所有的结果都是相似的。只有使用早期睡眠数据训练的模型对晚睡进行分类时,性能出现了明显的下降。在S1阶段中,使用早期睡眠数据训练的模型获得了较好的结果。对于S2阶段,与早期睡眠分类相比,这些模型在晚期睡眠中的分类性能较好。在分类早期睡眠时,使用早期睡眠训练的模型比使用晚期睡眠训练的模型获得了更好的结果。在REM阶段,两种模型对早期睡眠的分类性能都更好。在晚期睡眠的REM分类中,使用晚期睡眠数据训练的模型表现优于使用早期睡眠数据训练的模型。

表5显示了根据输入选择的最佳模型。可以观察到,晚期模型对W和REM阶段的分类效果最好,而早期模型对S1和SWS阶段的分类效果最好。

表5.根据输入(早期睡眠或晚期睡眠)对每个阶段进行最佳分类的模型。

图片

结论

本研究使用小波作为特征提取器和随机森林分类器进行了睡眠阶段的分类。研究结果发现,使用不同类型的通道能够提高分类。此外,还可以通过使用CM和统计变量作为特征来改善模型。当使用年轻被试数据进行模型训练时可以改善模型,即使是用于老年被试的分类,其分类效果也较好。但对于特定的睡眠阶段,比如S1阶段,使用老年被试数据训练的模型会表现得更好。最后,对于早期和晚期睡眠分类,针对每个阶段使用特定的模型将有助于提高模型性能。

参考文献:Moris, E., Larrabide, I. Evaluating sleep-stage classification: how age and early-late sleep affects classification performance. Med Biol Eng Comput 62, 343–355 (2024). https://doi-org.fgul.idm.oclc.org/10.1007/s11517-023-02943-7

小伙伴们关注茗创科技,将第一时间收到精彩内容推送哦~

图片

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA设计模式结构型模式

一、前言 java设计模式主要分为创建型模式,结构型模式和行为型模式。上一篇主要总结了行为型设计模式,本章总结,结构型模式。像创建型模式就不写了,比较简单。大概知道是工厂模式和建造者模式,原型模式就行&#xff0…

Atcoder ABC340 E - Mancala 2

Mancala 2(曼卡拉 2) 时间限制:2s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【样例输入1】 …

主流开发语言和开发环境介绍

主流开发语言和开发环境介绍文章目录 ⭐️ 主流开发语言:2024年2月编程语言排行榜(TIOBE前十)⭐️ 主流开发语言开发环境介绍1.Python2.C3.C4.Java5.C#6.JavaScript7.SQL8.GO9.Visual Basic10.PHP ⭐️ 主流开发语言:2024年2月编程…

2024年2月的TIOBE指数,go语言排名第8,JAVA趋势下降

二月头条:go语言进入前十 本月,go在TIOBE指数前10名中排名第8。这是go有史以来的最高位置。当谷歌于2009年11月推出Go时,它一炮而红。在那些日子里,谷歌所做的一切都是神奇的。在Go出现的几年前,谷歌发布了GMail、谷歌…

SpringBoot+WebSocket实现即时通讯(二)

前言 紧接着上文《SpringBootWebSocket实现即时通讯(一)》 本博客姊妹篇 SpringBootWebSocket实现即时通讯(一)SpringBootWebSocket实现即时通讯(二)SpringBootWebSocket实现即时通讯(三&…

NestJS入门8:拦截器

前文参考: NestJS入门1:创建项目 NestJS入门2:创建模块 NestJS入门3:不同请求方式前后端写法 NestJS入门4:MySQL typeorm 增删改查 NestJS入门5:加入Swagger NestJS入门6:日志中间件 Nes…

LeetCode 0105.从前序与中序遍历序列构造二叉树:分治(递归)——五彩斑斓的题解(若不是彩色的可以点击原文链接查看)

【LetMeFly】105.从前序与中序遍历序列构造二叉树:分治(递归)——五彩斑斓的题解(若不是彩色的可以点击原文链接查看) 力扣题目链接:https://leetcode.cn/problems/construct-binary-tree-from-preorder-a…

小清新卡通人物404错误页面源码

小清新卡通人物404错误页面源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 蓝奏云:https://wfr.lanzout.com/i6XbU1olftde

区块链游戏解说:什么是 Nine Chronicles

作者:lesleyfootprint.network 编译:cicifootprint.network 数据源: Nine Chronicles Dashboard 什么是 Nine Chronicles Nine Chronicles 是一款去中心化的在线角色扮演游戏,标志着在线游戏和区块链技术的发展。 Nine Chroni…

ubuntu分辨率更改、开机被重置、ubuntu屏幕小

ubuntu分辨率更改 分辨率改成:1920x1200 xrandr --size 1920x1200 在此之前可以先输入 xrandr 看支持哪些分辨率 开机被重置 我已经设置成这样了, 一开机变回这个 ubuntu屏幕小 输入命令行 xrandr --size 1920x1200 这个下次重启ubuntu又会重置…

C++(18)——适配器概念以及stack、queue、优先队列的模拟实现

上篇文章中,给出了对于模拟实现中功能的补全,本篇文章将优先介绍一个新的容器之后引入什么是适配器,以及适配器的使用方法,再通过适配器的思想来完成对于,、优先级队列_的实现。 目录 1. deque: 1.1 什么是deque&…

ASP.NET-实现图形验证码

ASP.NET 实现图形验证码能够增强网站安全性,防止机器人攻击。通过生成随机验证码并将其绘制成图像,用户在输入验证码时增加了人机交互的难度。本文介绍了如何使用 C# 和 ASP.NET 创建一个简单而有效的图形验证码系统,包括生成随机验证码、绘制…

树莓派4B傻瓜式安装系统配置(无显示器)

一、前言: 本教程详细描述树莓派如何装系统,如何连接电脑显示屏,有详细安装包,有需要的可以点击链接下载,没有会员的宝宝可以关注后私信我。 (树莓派4B傻瓜式安装系统配置(无显示器&#xff0…

onlyoffice基础环境搭建+部署+demo可直接运行 最简单的入门

office这个体系分为四个大教程 1、【document server文档服务器基础搭建】 2、【连接器(connector)或者jsApi调用操作office】-进阶 3、【document builder文档构造器使用】-进阶 4、【Conversion API(文档转化服务)】-进阶 如果需要连接器,可以查看:onl…

Fiddler如何比较两个接口请求?

进行APP测试时,往往会出现Android和iOS端同一请求,但执行结果不同,这通常是接口请求内容差异所致。 我习惯于用Fiddler抓包,那此时应该如何定位问题呢? 分别把Android和iOS的接口请求另存为TXT文件,然后用…

leetcode hot100零钱兑换Ⅱ

本题可以看出也是背包问题,但区别于之前的01背包问题,这个是完全背包问题的变形形式。 下面介绍01背包和完全背包的区别与联系: 01背包是背包中的物品只能用一次,不可以重复使用,而完全背包则是可以重复使用。01/完全…

体验一下UE5.3的Skeletal Editor

UE5.3中增加了蒙皮网格骨架编辑工具,用户无需导出Fbx就可以直接编辑蒙皮网格,支持修改绑定姿势的骨骼位置、修改蒙皮权重、对已蒙皮多边形进行编辑以及对蒙皮网格减免等操作,就来体验一下。 1.加载插件 要使用Skeletal Editor功能&#xff…

使用系统调用实现shell命令之【ls -l】

时间获取: 1.time time_t time(time_t *tloc); 功能: 返回1970-1-1到现在的秒数(格林威治时间) 参数: tloc:存放秒数空间首地址 返回值: 成功返回秒数 失败返回-1 2.localtime stru…

Stable Diffusion——基础模型、VAE、LORA、Embedding各个模型的介绍与使用方法

前言 Stable Diffusion(稳定扩散)是一种生成模型,基于扩散过程来生成高质量的图像。它通过一个渐进过程,从一个简单的噪声开始,逐步转变成目标图像,生成高保真度的图像。这个模型的基础版本是基于扩散过程…

ESMFold conda安装、使用及与AlphaFold的简单比较

文章目录 前言一、ESMFold是什么?二、安装步骤1. 确认安装环境:cuda toolkit版本2. 创建ESMFold conda环境并安装Step 1:创建conda环境,下载需要的包Step 2:激活conda环境,继续pip安装 3. 运行结构预测 三、…