SPINDILOMETER:用于多导睡眠图的睡眠纺锤波模型

news2024/9/23 9:34:40

摘要

通过对近年来睡眠脑电(EEG)信号分析方法的研究,本文提出了一种可集成到多导睡眠图(PSG)设备中的SPINDILOMETER模型,以供PSG电生理信号研究人员、临床睡眠医生和技术人员使用。为此,通过分析PSG中的脑电信号,开发了一个测量睡眠纺锤波数量和密度的PSG辅助诊断模型。采用机器学习方法对72名经PSG诊断为睡眠呼吸障碍的志愿者(51名男性和21名女性,年龄:51.7±3.42岁,体质指数:37.6±4.21)的EEG信号进行分析。比较传统方法(肉眼监测法)和模型方法(SPINDILOMETER)之间的睡眠纺锤波数量和密度。肉眼法与SPINDILOMETER结果之间存在强正相关(相关系数:0.987),并且这种相关性具有统计显著性(p=0.000)。通过混淆矩阵(准确性(94.61%)、敏感性(94.61%)、特异度(96.60%))和ROC分析(AUC:0.95)来证明SPINDILOMETER的适用性(p=0.000)。综上所述,SPINDILOMETER可用于睡眠实验室的PSG分析。同时,该模型为了解与睡眠纺锤波相关的神经事件提供了诊断便利,并为神经生理学和电生理学领域的丘脑皮质区域研究提供了思路。

前言

每晚睡眠期间大脑发生的突触电活动和电压变化[非快速眼动(NREM)睡眠,其特征是高振幅、低频脑电活动,以及快速眼动(REM)睡眠,其特征是低振幅、高频脑电活动,在过渡阶段中,这些活动则混合发生]使全身感觉和运动网络得以重新整合。睡眠是一个有组织的生理过程,分为多个阶段(NREM1、NREM2、REM、NREM3)。K复合波和睡眠纺锤波是睡眠脑电微结构的基石。这些电生理元素在理解睡眠的神经生理和功能方面发挥着重要作用。

睡眠纺锤波是一种EEG节律,在NREM2阶段尤为突出。它们是在σ频段(~11-16Hz)中具有梭状形态的振荡EEG活动,持续时间约为0.5-3s。睡眠纺锤波有两种类型:快速纺锤波(频率为14-15Hz),主要出现在中央顶叶区域;慢速纺锤波(频率为12-13Hz),主要出现在额叶区域。睡眠纺锤波是丘脑皮层振荡,具有促进神经可塑性的生理潜力。纺锤波密度、频率或振幅等睡眠纺锤波特征是具有遗传和解剖学基础的个体特征。睡眠纺锤波是一种与认知和智力密切相关的电生理特征,并随着正常的衰老过程发生变化。EEG中观察到的睡眠纺锤波数量和强度的变化可能表明丘脑皮层回路出现功能异常。具体来说,这种变化可能与多种疾病有关,包括精神分裂症、癫痫发作、帕金森病、阿尔茨海默病、精神发育迟滞、成熟异常,以及脑卒中后的恢复过程。

近年来,将电生理活动与认知和疾病相关联的睡眠脑电研究进展十分迅速。计算机可以自动检测睡眠纺锤波,但结果必须由视觉评分专家和睡眠医生进行评估。尽管现有文献已经设计了数量有限的自动睡眠纺锤波计数器,但它们尚未成为解释PSG报告中基本分析工具的一部分。在睡眠分析实验室中,PSG是识别睡眠生理和疾病的黄金标准诊断方法。本文通过回顾近年来睡眠脑电信号分析的方法,提出了一种可集成到PSG设备中的睡眠脑电模型(SPINDILOMETER),以供PSG电生理信号的研究人员以及临床医生和相关技术人员使用。

材料和方法

本研究在埃尔祖鲁姆区域培训和研究医院睡眠障碍中心的电生理实验室进行。本研究获得了Atatürk大学医学院当地伦理委员会的批准,批准号为06-29/28.05.2020。国家实用新型专利项目号:2023/12365。日期:2023年3月23日。实验室的设计符合美国睡眠医学学会(AASM)指南。

参与者

本研究遵循赫尔辛基宣言。对72名参与者(51名男性和21名女性,年龄:51.7±3.42岁,体质指数:37.6±4.21)的脑电信号进行了分析,这些参与者是经PSG诊断为患有睡眠呼吸障碍的患者。这些参与者一晚睡眠的平均总睡眠时间为6±2.37小时。

实验记录

所有患者均使用Grass Technologies PSG系统(TWin 4.5.3, USA)进行整夜实验室PSG监测。在睡眠期间,PSG记录了不同的生理和病理生理参数,持续时间为6小时或更长时间:这些参数由研究睡眠医学和神经生理学(M.D.)的临床生理学家评估后报告。夜间睡眠和觉醒时记录的电生理信号包括:脑电图(EEG)、肌电图(EMG;下巴、手臂和腿部)、眼电图(EOG)、心电图(ECG)、打鼾、口鼻气流(lt/s)、 胸部和腹部运动(呼吸力记录)、血氧饱和度、身体姿势和实时视频图像记录。F4-M1、C4-M1和O2-M1以及F3-M2、C3-M2和O1-M2睡眠EEG通道允许从头部的六个不同位置记录PSG。

实验方案

生理学专家(M.D.)根据AASM标准进行睡眠呼吸障碍诊断的同时,对EEG中睡眠纺锤波的电生理特性、数量和密度进行了至少3次目视检查和计数(肉眼法)。采用机器学习方法(SPINDILOMETER)分析11-16Hz、持续时间约0.5-3s的六个不同EEG通道(F4-M1、C4-M1和O2-M1、F3-M2、C3-M2和O1-M2)的睡眠纺锤波(图1)。比较传统方法(肉眼法)和模型(SPINDILOMETER)之间的睡眠纺锤波的数量和密度。

图1.实验方案。

实验设置

SPINDILOMETER包含分析PSG中EEG信号频率和幅值的单元。SPINDILOMETER能存储并利用这些值,从而判断是否存在睡眠纺锤波[σ频段(~11-16Hz)](见图1)。本研究使用了最新的机器学习方法来开发此模型。表1描述了该模型的算法:首先,用均值代替缺失数据进行归一化处理。接下来,对这些数据应用四种不同的特征提取算法:功率谱密度、连续小波变换、非高斯分数和双谱分数特征(Xd)。然后,通过特征选择过程确定合适的特征。最后,利用分类算法揭示睡眠纺锤波的数量和特征。

表1.SPINDILOMETER算法。

数据编辑与分析

EEG信号中睡眠纺锤波提取的一般技术方法

使用基于计算机的电生理信号分析方法对每个通道的信号进行分析。该过程包括预处理、特征提取、特征选择和分类。将计算机科学中使用的高度可靠的信号分析方法应用于睡眠医学。为此,本研究使用了多种(9种)信号分析方法来分析PSG中的EEG信号。下面将解释来自PSG样本的EEG信号(图2),以及应用于这些信号的方法与EEG信号之间的关系。

图2.多导睡眠图EEG记录。N2期睡眠纺锤波如图中红框所示。

SPINDILOMETER脑电信号预处理

从PSG的电生理信号记录中获得六个通道的EEG信号,作为数据集。对每位参与者至少6小时睡眠期间中每个PSG时段(30s周期)的EEG信号进行分析。将每个年龄划分为10s的片段来查看细节,以更好地理解脑电波形。70%的数据用作训练,30%的数据用作测试。报告PSG的研究人员检测到的睡眠纺锤波在测试阶段进行了估计。数据预处理阶段的流程如下:(1)识别缺失数据并用均值填充。(2)识别异常数据并进行归一化处理。最小-最大归一化:用于减少数据之间的差异并对数据进行归一化的最常用方法之一。(a)将脑电幅值和频率值的最小值设置为0,最大值设置为1,(b)将最小值和最大值之间的所有值转换为十进制数。

SPINDILOMETER使用的特征方法及其与EEG信号的相关性

功率谱密度(PSD)

频率是脑电信号的一个特征。PSD测量信号在不同频率下的功率或能量密度。在时域中,PSD很难发现EEG信号的显著特征,但在频域中,PSD能够发现最大值的相似性和差异性。由于PSD表示每个频率上的信号能量,因此它被定义为EEG信号自相关函数(A(ξ))的傅里叶变换,其公式如下(ξ为空间位移,Ω是波的数量):

连续小波变换(CWT)

EEG信号是一种非平稳的生物信号。CWT通过小波变换和尺度参数连续变化来提供一种过完备的信号表征方式。因此,它生成了大量的小波系数。这些系数可以用作特征。小波的尺度表示为其压缩或拉伸。与傅立叶变换不同,CWT的时频窗口是可调的。其公式如下(b是移位因子,α是尺度因子,t是时间,f(t)是感兴趣的信号向量):

非高斯分数(NGS)

该分数用于了解EEG信号特征(振幅、频率)的分布。NGS表示给定数据段的非高斯性。这种方法便于测量PSG各时期的脑电信号与高斯模型的偏差。公式如下(p和q分别是参考数据和分析数据的正态概率图):

双谱分数(BGS)

信号的三阶谱(BGS)亦称双谱。与基于自相关的功率谱(二阶统计量)不同,双谱保留了傅立叶相位信息。它可以深入分析PSG中每个时期的EEG信号。其公式如下:

SPINDILOMETER的特征选择

这个过程旨在简化属性的数量。属性选择侧重于寻找属性的最佳子集(确定哪个属性更重要)。本研究在属性选择阶段使用了过滤方法。过滤方法检查数据集中每个属性对每个分类的敏感性。

用于SPINDILOMETER的分类器及其与EEG信号的关系

分类

分类是利用分类器将未知模式归类到相应类别的过程,该分类器利用该模式的特征作为输入。使用最合适的机器学习方法对脑电信号进行分类,以识别PSG中的睡眠纺锤波。

K最近邻(KNN)

KNN是一种学习算法,其目标是在接收到新样本时对现有训练数据进行分类。由于KNN方法简单且在脑电数据处理中具有较高的准确性,因此KNN是本研究的首选方法。

支持向量机(SVM)

支持向量机(SVM)是一种高效、简单的机器学习方法,适用于解决变量间模式未知的数据集分类问题。它通过选择具有最高裕度的线(用于区分睡眠纺锤波信号)来最小化分类误差。因此,SVM有利于SPINDILOMETER模型快速可靠地提取睡眠纺锤波特征信号。

决策树(DT)

决策树是监督学习算法之一。本研究使用决策树算法的目的是学习从EEG信号特征中提取的决策规则,进而开发一个可以预测目标变量(睡眠纺锤波)值的模型。

朴素贝叶斯

朴素贝叶斯算法有助于我们对脑电信号的特征进行分类:该方法的工作原理是假设给定类别中某一属性的存在与其他任何属性的存在无关。该方法为我们提供了关于在本研究数据集中(包含来自6个通道的脑电信号)发现特定睡眠纺锤波信号概率的重要数据。

极端随机树分类器(ETC)

ETC与其他基于树的集成方法有两个主要不同之处:(1)它通过完全随机选择分割点来分离节点,(2)使用所有学习样本来生长树。通过使用ETC集成对整个EEG信号样本进行分类。

比较两种方法计算的睡眠纺锤波数量的混淆矩阵

在本研究开发的模型中,从所有参与者收集的PSG记录的脑电分为10s的时段,以证明每个睡眠纺锤波能准确识别电生理信号。使用混淆矩阵来衡量模型的成功程度。为了评估分类器的有效性,应在训练阶段完成后测量分类器的预测精度。在创建混淆矩阵后,使用准确性、灵敏度、精度和F1分数比较预测模型的性能。混淆矩阵是一个表格,用于展示机器学习算法生成的分类模型的预测值与实际类别值的匹配程度。它总结并可视化了分类算法的性能。本研究试图通过对每个参与者的测试结果进行测量来了解SPINDILOMETER算法在识别睡眠纺锤波方面的成功程度。应用于SPINDILOMETER的性能指标如下:(a)准确性计算为所有正确预测的数量除以数据集的总数。(b)灵敏度和召回率计算为真阳性预测数除以真阳性类别总数。(c)精度计算为真阳性预测数除以阳性预测总数。(d)F1分数是精确率和召回率的调和平均值。

肉眼法与SPINDILOMETER法的ROC分析比较

评估分类器性能的常用统计技术之一是受试者操作特征(ROC)曲线。ROC曲线为判断分类器的效率提供了一种直观的方法。在本研究中,除了从混淆矩阵获得的性能指标之外,还计算和评估了ROC曲线下面积(ROC-AUC)值。选择ROC-AUC分数作为判断可分离程度的评价标准,它衡量了模型在所有可能阈值下的分类性能。通过这个指标,本研究评估了模型在区分睡眠纺锤波和非睡眠纺锤波电生理信号时的效果。如果ROC-AUC值越高,则代表模型越成功。

统计分析

通过医生目测(传统方法,即肉眼法)和SPINDILOMETER方法确定睡眠纺锤波的数量和密度,并使用SPSS 22进行统计分析。采用组内相关系数检验分析结果。在这个比较中,p<0.001被认为具有统计显著性。利用混淆矩阵表对算法的准确性进行分析。最后,通过ROC分析比较了两种方法(肉眼法和SPINDILOMETER法),以证明该算法可以在短时间间隔(10s)内成功地识别睡眠纺锤波的数量。

结果

用于SPINDILOMETER的分类器结果

KNN算法的准确性为94.61%,灵敏度为92.47%,特异度为96.60%(表2)。

表2.用于SPINDILOMETER的分类器结果。

肉眼法与SPINDILOMETER模型在睡眠纺锤波检测方面的比较

使用这两种方法分别确定每个参与者的睡眠纺锤波数量。研究结果发现,肉眼法与SPINDILOMETER结果之间存在强正相关(相关系数:0.987),并且这种相关性具有统计学显著性(组内相关系数检验:p=0.000)(表3、4,图3、4)。

表3.肉眼法与SPINDILOMETER结果之间存在强正相关。

表4.使用这两种方法所确定的睡眠纺锤波数量。

图3.使用两种方法检测到的睡眠纺锤波数量。

图4.使用两种方法检测到的睡眠纺锤波数量的直方图比较。

比较两种方法计算的睡眠纺锤波数量的混淆矩阵

所有参与者睡眠纺锤波的实际值(通过肉眼法计算)和预测值(通过SPINDILOMETER计算)如下。如果在10s时间范围内识别出睡眠纺锤波,则标记为1;否则标记为0。有关所有参与者的混淆矩阵如图5所示。

图5.所有参与者睡眠纺锤波的实际值(肉眼法)和预测值(SPINDILOMETER)。

两种方法的ROC分析结果比较

本研究绘制了ROC曲线来对比两种方法的性能,并详细描绘了两种方法的灵敏度和特异度之间的关系。蓝色曲线是ROC曲线,用于比较SPINDILOMETER和肉眼法在灵敏度和特异度上的差异;曲线下面积(AUC)在0.5-1之间,表明本研究的方法具有高灵敏度、高特异度和高精度(图6)。

图6.两种方法的ROC分析结果比较。

结论

本研究使用最佳机器学习方法计算PSG中睡眠纺锤波的数量和密度,并提出了一种可集成于PSG中的SPINDILOMETER模型。SPINDILOMETER可用于睡眠实验室的PSG分析。该模型为医生了解与睡眠纺锤波相关的神经事件提供了诊断便利,并为神经生理学和电生理学领域的丘脑皮层区域研究提供了思路。

参考文献:Kayabekir, M., Yağanoğlu, M. SPINDILOMETER: a model describing sleep spindles on EEG signals for polysomnography. Phys Eng Sci Med (2024). https://doi.org/10.1007/s13246-024-01428-7

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

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

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

相关文章

Qt界面假死原因

创建一个播放器类,继承QLabel,在播放器类中起一个线程用ffmpeg取流解码,将解码后的图像保存到队列,在gui线程中调用update()刷新显示。 当ffmpeg打开视频流失败后调用update()将qlabel刷新为黑色,有一定概率会使得qla…

【踩坑日记】【教程】嵌入式 Linux 通过 nfs 下载出现 T T T T [Retry count exceeded: starting again]

文章目录 1 本篇文章解决的问题2 问题解决原理3 问题环境4 开启 ubuntu-20.04 的 nfs24.1 确认 nfs2 是否已经开启4.2 开启 nfs2 5 卸载 iptables5.1 卸载 iptables5.2 禁用 ufw5.3 尝试重新下载 6 原理分析6.1 nfs2 开启部分6.2 卸载 iptables 部分 7 后记7.1 拓扑结构一7.2 拓…

2024辽宁省数学建模B题【钢铁产品质量优化】原创论文分享

大家好呀,从发布赛题一直到现在,总算完成了2024 年辽宁省大学数学建模竞赛B题钢铁产品质量优化完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 B题论文…

C++ 几何计算库

代码 #include <iostream> #include <list> #include <CGAL/Simple_cartesian.h> #include <CGAL/AABB_tree.h> #include <CGAL/AABB_traits.h> #include <CGAL/AABB_segment_primitive.h> #include <CGAL/Polygon_2.h>typedef CGAL…

数学建模(1)

论文&#xff1a;做流程图 论文查重不能高于30% 论文 分模块备战 摘要不能超过一页的四分之三 数学建模的六个步骤: 【写作】---学术语言 团队练题

【hadoop大数据集群 2】

【hadoop大数据集群 2】 文章目录 【hadoop大数据集群 2】1. 虚拟机克隆2. 时间同步3. 环境变量配置、启动集群、关闭集群 1. 虚拟机克隆 克隆之后一定要重新生成新虚拟机唯一的MAC地址和UUID等&#xff0c;确保新虚拟机与源虚拟机在网络拓扑中不发生冲突。 注意1.生成新的MA…

新华三H3CNE网络工程师认证—VLAN使用场景与原理

通过华三的技术原理与VLAN配置来学习&#xff0c;首先介绍VLAN&#xff0c;然后介绍VLAN的基本原理&#xff0c;最后介绍VLAN的基本配置。 一、传统以太网问题 在传统网络中&#xff0c;交换机的数量足够多就会出现问题&#xff0c;广播域变得很大&#xff0c;分割广播域需要…

借力Jersey,铸就卓越RESTful API体验

目录 maven 创建 jersey 项目 运行 支持返回 json 数据对象 1. 引言 在当今数字化时代&#xff0c;API&#xff08;应用程序编程接口&#xff09;已成为连接不同软件系统和服务的桥梁。RESTful API以其简洁、轻量级和易于理解的特点&#xff0c;成为了API设计的首选标准。本…

甲骨文面试题【动态规划】力扣377.组合总和IV

给你一个由 不同 整数组成的数组 nums &#xff0c;和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3], target 4 输出&#xff1a;7 解释&#x…

C语言:键盘录入案例

主要使用了scanf&#xff1b; scanf的使用方法和注意事项&#xff1a; 1.作用&#xff1a; 用于接收键盘输入的数据并赋值给对应的变量 2.使用方式; scanf("占位符",&变量名); 3.注意事项; 占位符后面的的变量要对应 第一个参数中不写换行 案例1&#xf…

夏令营入门组day5

目录 一. 城市距离 二. 史莱姆 一. 城市距离 &#xff08;1&#xff09;思路 每次询问&#xff0c;对于每一个点都判断与下一个点是否为临近点会超时&#xff0c;因此预处理&#xff0c;预先判断每一个点的临近点&#xff0c;然后将花费存入前缀和数组&#xff0c;这样在每次询…

GraphRAG:一种新型的RAG技术

微软前几天发布的 GraphRAG 架构非常厉害&#xff0c;但是具体的原理和内容可能不太好理解。Neo4j 的 CTO 写了一篇详细的文章《GraphRAG 宣言&#xff1a;为 GenAI 增加知识》&#xff0c;通俗易懂的介绍了 GraphRAG 的原理、与传统 RAG 的区别、GraphRAG的优势、知识图谱的创…

lua 游戏架构 之 LoaderWallet 异步加载

定义了一个名为LoaderWallet class&#xff0c;用于管理资源加载器&#xff08;Loader&#xff09;。这个类封装了资源加载的功能&#xff0c;包括异步加载&#xff0c;以及资源的释放和状态查询。下面是对代码的详细解释&#xff1a; ### 类定义和初始化 这里定义了一个名为…

初学者对 WebGL 与 WebGPU 的看法(A Beginner’s Perspective of WebGL vs WebGPU)

初学者对 WebGL 与 WebGPU 的看法&#xff08;A Beginner’s Perspective of WebGL vs WebGPU&#xff09; WebGL 和 WebGPU 之间的主要区别&#xff1a;WebGL 是什么以及它适合哪些人使用&#xff1f;WebGPU 是什么&#xff1f;它适合谁使用&#xff1f;WebGL 和 WebGPU 的代码…

spring事件发布器ApplicationEventPublisher的使用

1、前言 spring中有一个事件发布器,使用了观察者模式,当有事件发布的时候,事件监听者会立刻收到发布的事件。今天我们来介绍下这个事件发布器怎么使用。 2、简单使用 2.1、创建事件实体类 事件实体类需要继承ApplicationEvent。我们模拟老师发布事件的诉求。 public class T…

【51项目】基于51单片机protues交通灯的设计(完整资料源码)

基于51单片机protues交通灯的设计 一、 项目背景 1.1背景 随着科技的不断发展&#xff0c;LED技术在交通领域的应用越来越广泛。LED模拟交通灯作为一种新型的交通信号控制设备&#xff0c;以其高效、节能、环保等优点&#xff0c;逐渐取代了传统的交通信号灯。近年来&#xff…

【人工智能】Transformers之Pipeline(三):文本转音频(text-to-audio/text-to-speech)

​​​​​​​ 一、引言 pipeline&#xff08;管道&#xff09;是huggingface transformers库中一种极简方式使用大模型推理的抽象&#xff0c;将所有大模型分为音频&#xff08;Audio&#xff09;、计算机视觉&#xff08;Computer vision&#xff09;、自然语言处理&#x…

【深度学习入门篇 ⑨】循环神经网络实战

【&#x1f34a;易编橙&#xff1a;一个帮助编程小伙伴少走弯路的终身成长社群&#x1f34a;】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官…

把当前img作为到爷爷的背景图

&#xff08;忽略图大小不一致&#xff0c;一般UI给的图会刚好适合页面大小&#xff0c;我这网上找的图&#xff0c;难调大小&#xff0c;我行内的就自己随便写的宽高&#xff09;&#xff0c;另外悄悄告诉你最后有简单方法&#xff5e;&#xff5e; 先来看看初始DOM结构代码 …

【接口自动化_12课_基于Flask搭建MockServer】

知识非核心点,面试题较少。框架搭建的过程中的细节才是面试要点 第三方接口,不方便进行测试, 自己要一个接口去进行模拟。去作为我们项目访问模拟接口。自己写一个接口,需要怎样写 一、flask:轻量级的web应用的框架 安装命令 pip install flask 1、flask-web应用 1)…