Web开发

首页 » 常识 » 问答 » eLife一个开源高性能的自动睡眠分期
TUhjnbcbe - 2023/3/15 19:46:00

摘要

近年来,对于人类睡眠的临床和社会学测量需求越来越多,但与其它已经实现高自动化分析的医学领域不同的是,基础和临床的睡眠研究仍然依赖人眼目测打分。基于人工的评估体系耗时、单调,且已被证实可能出现主观偏倚。作者开发出了一种已经过+小时源于世界不同人种的多导睡眠图记录数据验证的新型算法,可以提供精确匹配人工赋分准确度的睡眠分期功能。此工具简洁易用开源免费,对计算机运行要求低,希望以此实现自动化睡眠分期。

介绍

睡眠对人体健康至关重要。充足的睡眠支持一整套生理身体功能,包括免疫、代谢和心血管系统。在大脑内部,充足的睡眠有助于最佳的学习、记忆、注意力、情绪和决策过程。因此,在研究、临床和基于消费者的层面上量化人类睡眠的需求在过去十年中迅速增长。

多导睡眠描记术(PSG是对人类睡眠进行客观生理量化的金标准。对夜间睡眠阶段的分类提供了关于夜间睡眠的总体结构的信息,以及睡眠阶段的持续时间和比例,所有这些都为睡眠障碍和特定疾病状态的诊断提供了信息。

目前,这种睡眠评分通常由人类完成,但不同的人类睡眠评分专家看到相同的记录,最终可能会得出不同的睡眠阶段评价,甚至同一个专家看到在两个不同时间点评估的相同记录,也会得出不同的结果。

机器学习的进步促使人们尝试使用自动化系统对睡眠进行分类。尽管自动化工具的数量在不断增长,但准确的自动睡眠分期还没有成为该领域事实上的标准。这可能有几个原因。首先,有些算法不是免费的,或者无法公开使用。其次,其他算法需要付费软件来运行尽管是免费的算法,比如MATLAB。第三,有些算法训练的样本量太小,不具有稳健性,而且/或数据来自单一睡眠中心或人群。因此,他们是否有能力推广到其他记录系统和/或人群,包括睡眠障碍患者或跨大年龄段的患者,一直令人担忧。第四,设置和运行这些算法对于大多数典型的个人来说往往过于复杂,因为它们需要中等到高级的编程经验,这为采用和广泛使用创造了进入障碍。所有这些算法的最后一个共同限制是,它们在不同的测试数据集上进行评估,使用不同的指标,这阻止了对这些算法的性能进行直接比较,并导致了一些睡眠研究人员和临床医生可以理解的困惑。

为了解决所有这些问题,作者提供了一种免费、灵活、易于使用的自动睡眠分期软件,该软件已经对超过小时的PSG睡眠分期进行了训练和评估,这些睡眠分期来自大量的独立和异构数据集,涵盖了广泛的年龄、种族和健康状况水平。并用两种最近的睡眠分期算法对健康成年人和阻塞性睡眠呼吸暂停(OSA)患者的一致评分睡眠数据集进行了研究。

结果

描述性统计

训练集包括超过31,小时的PSG数据,包括来自7个不同数据集的个独特的整晚PSG记录(克利夫兰儿童睡眠与健康研究[CCSHS],n=;克利夫兰家庭研究[CFS],n=;儿童腺扁桃体切除术试验[CHAT],n=;家庭气道正压[HomePAP],n=82;动脉粥样硬化多民族研究[MESA],n=;男性骨质疏松性骨折研究[mro],n=;睡眠心脏健康研究[SHHS],n=)。表1列出了培训集的人口统计和健康数据。平均呼吸暂停-低通气指数(AHI)为12.9±16.35(中位数为6.95,范围为0~)。29%的夜间AHI≥15(=中度睡眠呼吸暂停)。MESA数据集的平均AHI最高(19.2±18.1),CCSHS数据集的平均AHI最低(1.5±5.2)。

表1。训练集和测试集的人口统计数据年龄、体重指数(BMI)、呼吸暂停-低通气指数(AHI)以均数±标准差表示。这三个变量的p值使用Welch’s双面t检验计算,效应大小参考Hedgesg。所有其他类别变量都用百分比表示。采用独立性卡方检验评估显著性,效应量参考Cramersv。呼吸暂停严重程度分级如下:无=AHI5次/小时,轻度=AHI≥5但15、中度=AHI≥15但30,severe=AHI≥30。p值未进行多次比较调整。

测试集1由来自6个不同数据集的个独特的整晚PSG记录组成(CCSHS,n=;CFS,n=99;CHAT,n=;MESA,n=97;mro,n=90;SHHS,n=99)。总的来说,这个测试夜晚代表了,个独特的30秒周期,或大约6小时的PSG数据。试验集1的人口统计和健康数据见表1。重要的是,在性别比例、种族分布、失眠、抑郁或糖尿病患者的比例上没有显著差异。此外,AHI和轻度、轻度、中度或重度睡眠呼吸暂停患者的比例没有差异。虽然参与者被随机分配到训练/测试集中,但这两个集之间有一些显著的差异。具体而言,与原始训练集相比,测试组的年龄和体重指数(BMI)较低(p0.05),尽管这些差异的效应量均低于0.17(被认为是小或可忽略)。

测试集2由来自公开的Dreem开放数据集(DreemOpenDataset,DOD)的80个通宵PSG记录组成(Guillot等人,年)。DOD包括25个晚上的健康成人(DOD-健康:年龄=35.3±7.51岁,76%男性,BMI=23.8±3.4)和55个晚上的阻塞性睡眠呼吸暂停障碍(OSA)患者(DOD-Obstructive:年龄=45.6±16.5岁,64%男性,BMI=29.6±6.4,AHI=18.5±16.2)。DOD数据集没有提供个人层面的人口统计数据和病史;Guillot等人于年报告了年龄、BMI和AHI的组平均值。排除了5个晚上,因为PSG数据的持续时间和催眠图的持续时间相差超过1分钟,导致最终样本为75个晚上(约小时的数据)。测试集2的每个晚上都由5名注册的睡眠技术人员评分,这样就可以根据人类评分者的共识来测试算法(见材料和方法)。与NSRR数据集不同,NSRR数据集被分为训练和测试子集,DOD的两个数据集(健康和患者)只用于性能评估。这为算法的性能提供了一个更可靠的评估,该评估基于来自一个新的睡眠诊所或实验室的真实数据。

验证结果

测试集1:NSRR

算法在测试集1上的总体性能如图1A所示。在全部个测试夜计算的中位准确率为87.46%。Cohenskappa值的中位数为0.,表明一致性极好;Matthews相关系数的中位数为0.。CCSHS数据库测试集的总体准确率最高(中位数=90.44%),MESA数据库的总体准确率最低(中位数=83.99%)。除了传统的睡眠分期之外,该算法还能够量化每个30s时期每个睡眠阶段的概率,然后可用于获得每个时期的置信度评分。在所有测试夜,该算法的中位置信度为85.79%。平均置信度较高的夜晚,其准确度显著较高(图1B,r=0.76,p0.)。接下来,我们测试了各个睡眠阶段的分类性能(图1C)。N3睡眠的总体灵敏度(即正确分类的时间段百分比,见资料和方法)为83.2%,因此所有测试夜的中位f1评分为0.。快速眼动(REM)睡眠、N2睡眠和觉醒期的灵敏度均高于85%(f1评分的中位数均≥0.86)。N1睡眠的一致性最低,总体灵敏度为45.4%,f1评分的中位数为0.,这一发现与人类睡眠评分者的一致性通常非常低(45%)。当分别对每个数据库进行检查时,这些算法性能结果是一致的(图1-图补充1)。对混淆矩阵的进一步检查表明,该算法最常见的两个错误是(1)将N1睡眠错误标记为N2睡眠(占所有真实的N1睡眠时期的27.5%)和(2)将N3睡眠错误标记为N2睡眠(占所有真实的N3睡眠时期的16.1%)。重要的是,该算法很少出现明显的错误,例如将N3睡眠错误标记为快速眼动睡眠(0.2%)或将快速眼动睡眠错误标记为N3睡眠(0.03%)。此外,当该算法错误分类一个时期时,该算法预测的第二高概率阶段的正确率为76.3%±12.6%。

图1算法在测试集1(n=个夜晚)上的性能。(A)所有测试夜的准确性,按数据集分层。所有测试夜的中位准确率为87.5%。(B)算法的准确率和平均置信水平(%)的相关性。通过平均所有时期的置信度来计算每晚的总体置信度。(C)混淆矩阵。对角线元素表示被算法正确分类的年代的百分比(也称为灵敏度或召回),而非对角线元素显示被算法错误标记的年代的百分比。(D)人体每个阶段的持续时间(红色)和自动评分(绿色),计算每个测试夜,并表示为多导睡眠图(PSG)记录的总时间的比例。

图1补充。测试集1的混淆矩阵,按数据集分层

图2补充。测试集1中各睡眠阶段的置信度评分分布

图3补充。YASA,Stephansen等人,年和Perslev等人,年算法在DOD-Healthy测试集(n=25名健康成人)上的性能

图4补充。DOD-Healthy测试集(n=25名健康成人)上每个个体人类评分者的混淆矩阵

图5补充。stephenen等年和Perslev等年在DOD-Obstructive测试集(n=50例阻塞性睡眠呼吸暂停患者)上的YASA算法性能

图6补充。DOD-阻塞性测试集(n=50例睡眠呼吸暂停患者)上每个个体人类评分者的混淆矩阵

图7补充。分类器最重要的20个特征

测试集2:DOD-健康数据集和DOD-阻塞数据集的共识评分

接下来,作者研究了YASA在测试集2上的表现,测试集2是一个之前未见过的健康和睡眠呼吸障碍患者数据集,由5名注册专家进行评分.表2报告了健康成人(n=25)的算法性能,表3报告了睡眠障碍患者的算法性能。在健康成人中,YASA与5位专家的一致评分的正确率中位数为86.6%。所有夜间的kappa值中位数为80.1%,一致性良好。所有夜间各睡眠阶段f1评分的中位数和四分位距见表2。然后将YASA的表现与5名单独的人类评分者中的每一位进行了比较,并与最近发表的两种睡眠分期算法进行了比较。使用Holm数值代表所有25个夜晚的中位数±四分位距对多重比较进行了配对t检验校正.YASA专栏显示了当前算法的性能相对于5个人类专家的共识评分(参见材料和方法)。

方法显示,YASA在这一健康验证数据集中的准确性与其他两种基于深度学习的睡眠分期算法或任何单个评分者(评分者4除外,见下文或表2)无显著差异。每个睡眠阶段的f1评分在YASA、Stephansen等人年的算法和人类评分者1、2、3和5之间无显著差异。评分者4对N1(p=0.)和N2(p0.)的f1评分显著较低,导致整体准确性较低(p=0.)。在N1期、快速眼动睡眠期和觉醒期,Perslev等算法的f1评分显著高于YASA(分别为p=0.,p0.和p=0.)。N2和N3的f1评分在YASA和Perslev等人算法之间无统计学差异。DOD-Healthy数据集的共识评分和3种自动算法的每晚睡眠图见补充文件1,其中YASA与共识评分的一致性由高到低排序。每个评分者(人和算法)的混淆矩阵可以在图1-图补充3和4中找到。对55例OSA(DOD-Obstructive)患者进行了同样的分析。5位专家对YASA评分的一致性评分中位准确率为84.3%,kappa值为76.5%。所有夜间各睡眠阶段f1评分的中位数和四分位距见表3。对准确度进行的两两比较表明,YASA与Stephansen等算法或人工评分者1、3、4和5无显著差异。人类评分者2的准确率显著较低(p=0.),而Perslev算法的准确率显著较高(p=0.)。对f1评分的两两比较表明,YASA的表现优于Stephansen等人年的算法,以及N3睡眠评分的5名评分者中的4名(均p0.01)。然而,在N1期、快速眼动期和觉醒期方面,Perslev等算法的评分显著高于YASA(均p0.)。共识评分和三种自动算法的一致性由高到低的催眠图见补充文件2。混淆矩阵见图1-图补充部分5和6。

对合并数据集(n=75个夜晚,健康和患者合并)的额外分析表明,第一,YASA相对于共识评分的准确性在稳定时期显著高于过渡时期(均值±标准差:91.2±7.8vs.68.95±7.7,p0.),或在被算法标记为高置信度时期(93.9±6.0vs.64.1±7.0,p0.)。其次,5位人类专家一致同意的时代发生在稳定时代的可能性是发生在过渡时代的4倍(46.2%±12.1%所有时间段vs.11.5%±4.9%,p0.),而且在算法标记为高置信区间(≥80%)的时间段发生的可能性也高出4倍(所有时间段的46.4%±12.9%vs.11.3%±5.7%,p0.)。第三,YASA标记为高可信度的时间点的百分比与具有一致性的时间点的百分比之间存在显著相关性(r=0.,p0.),这意味着YASA总体上对具有较高的评定者间一致性的记录更有信心。

表3。在DOD-Obstructive数据集(阻塞性睡眠呼吸暂停患者,n=50)中,比较YASA与两种现有算法和个体人类评分者。

数值代表所有n=50个夜晚的中位数±四分位距。YASA专栏显示了当前算法的性能相对于5个人类专家的共识评分(参见材料和方法)。H1-H5列显示了每个人的表现与一个无偏倚的共识(见材料和方法)。星号表示与YASA的显著差异。使用Holm方法对p值进行了逐行多重比较校正。准确性被定义为预测睡眠阶段和真实睡眠阶段之间的总体一致性。F1是F1评分,为每个睡眠阶段分别计算。F1-macro是所有睡眠阶段f1评分的平均值。

调节分析

对于不同调节因子对睡眠分期准确性的影响,随后的分析基于测试集1(NSRR),与测试集2(DOD)不同,该测试集可获得大量个人层面的人口和健康数据。与人类睡眠评分一样,专注于年龄这一第一个因素的分析显示,它与准确率存在微小但显著的负相关(r=0.,p=0.,图2A),表明准确率随着年龄的增长存在适度的线性下降。其次,身体成分与准确性不显著相关(r=0.,p=0.97,图2B)。第三,性别也不是准确性的显著决定因素(WelchsT=1.,p=0.,图2C)。第四,睡眠呼吸暂停,特别是AHI,与准确率(r=0.29,p0.,图2E)和算法的总体置信度(通过整晚逐时段置信度的平均值计算,r=0.,p0.)呈负相关。这表明,在一定程度上,算法的性能和可信度在睡眠呼吸暂停指数严重的患者中会下降,这可能是由睡眠呼吸暂停患者的阶段过渡数量增加所调节的(见上述阶段过渡发现)。与后者一致,(人为定义的)阶段过渡的百分比与AHI显著相关(r=0.,plt;0.)。最后,种族是准确性的一个显著预测因子(方差分析,F(3,)=3.,p=0.,图2D)。两两的事后测试调整了多次比较与Tukey的方法揭示西班牙裔白人的准确性低于非西班牙裔白人(p=0.)。然而,这种效应可能是由这两个类别之间的样本量的不平衡所驱动的(n=40vs.n=)。没有其他种族类别之间的配对比较是显著的。为了更好地理解这些调节因子如何影响精度变异性,作者在模型中包括了所有上述的人口统计变量,以及抑郁症、糖尿病、高血压和失眠的医学诊断,以及从基本事实睡眠评分中提取的特征,如每个睡眠阶段的百分比、记录的持续时间和催眠图中阶段转换的百分比。模型的结果变量是YASA相对于地面真实睡眠分期的准确性得分,每晚分别计算。测试集1中的所有夜晚都被包括在内,导致样本量为个独特的夜晚。结果见补充文件3b。N1睡眠的百分比和阶段转换的百分比——两者都是睡眠碎片化的标志——是准确性的两个最高预测指标,占总相对重要性的40%。相比之下,年龄、性别、种族和失眠、高血压、糖尿病和抑郁症的医疗诊断的综合贡献约占总重要性的10%。

图2调节分析测试夜晚的准确性作为年龄(a)、体重指数(BMI)(B)、性别(C)、种族(D)、呼吸暂停-低通气指数(E)的函数,以及该时段是否在一个阶段过渡(F)附近。如果根据人类评分定义的阶段过渡出现在该时段前后的3分钟内(之前1.5分钟,之后1.5分钟),则认为该时段在一个过渡期附近

软件实现

该算法的实现是完全开源的,可以免费获得。此种睡眠算法,俗称YASA,是用Python编写的更广泛的睡眠分析包(或“库”)的一部分。除了自动睡眠分期模块之外,YASA还包括几个附加功能,如睡眠纺锤波和慢波的自动检测、自动伪影抑制、从催眠图计算睡眠统计数据、谱功率估计(例如,图3B)和相位幅值耦合。然而,使用基本的睡眠阶段模块完全不是基于想要量化这些指标。简单地说,如果用户希望的话,它们可以作为软件套件中的附加工具提供。YASA附带大量文档,并在BSD-3条款许可下发布,这是开源计划的一部分,可以通过Python包索引存储库中的一行简单代码直接安装(在终端:pipinstallYASA)。YASA的源代码在GitHub上是免费和公开的,用户可以选择忽略最新的版本,而保留代码和登台算法的特定版本,这对于例如,在纵向研究中,预处理和分析步骤应该随着时间保持一致。下面描述执行自动睡眠分期的一般工作流程。此外,作者提供了在单个欧洲数据格式(EDF)文件(图3-图补充1)或在包含多个EDF文件的文件夹(图3-图补充2)上展示算法最简单用法的代码片段。首先,用户将PSG数据加载到Python中。假设PSG数据存储在金标准EDF中,这可以使用MNE包在一行代码中完成,该包有一个专门的功能来加载EDF文件。第二,自动睡眠分期使用算法的睡眠分期模块执行。唯一的要求是用户指定他们想要应用检测的EEG通道的名称(优先是一个中心推导,如C4-M1)。该算法现在已经准备好对数据进行分级。如果用户愿意,可以选择命名EOG和EMG通道(首选下巴EMG)。如果需要的话,用户还可以包含辅助信息,例如年龄和性别,这有助于提高算法的准确性,尽管这对于高精确度完全不是必需的(如前所述)。对于算法的处理步骤,睡眠阶段是通过“预测”功能执行的。该函数自动识别并加载预先训练的分类器,对应于用户提供的传感器/元数据的组合。虽然预训练的分类器包含在算法中,但如果用户愿意,他们可以定义自定义预训练的分类器,这些分类器可以根据特定的用例进行定制。然而,再次强调,这只是为了使用的灵活性,并不是算法执行高精确度所必需的。顺便说一句,这种灵活性还可以用于各种用例,例如,评分啮齿类动物的睡眠数据,而不是人类的睡眠数据。除了阶段评分之外,predict_proba函数的实现为用户提供了量化每个阶段在每个epoch的概率确定性的能力。如果需要的话,这种概率确定性可以用来获得一个置信度分数,尽管这对于用户的标准睡眠阶段来说也是不必要的(图3C)。最后,如果用户愿意,可以使用标准Python函数轻松地将预测的催眠图和阶段概率导出到文本或CSV文件中,但同样不需要这样做。自动化数据分析方法的一个局限性是,它们对计算量的要求很高,通常需要特定的昂贵的高端计算机系统。为了避免这种限制,当前算法通过利用Python中的高性能工具(例如Numpy的向量化和Numba编译)设计为快速和高内存效率。因此,在一个基本的、基本标配的笔记本电脑上,一个以赫兹采样的一整晚PSG记录通常在不到5秒的时间内处理完毕。

图3一个主题的数据和睡眠阶段预测的例子。(A)健康年轻女性的预测和真实(=人类评分)催眠图(CFS数据集,24岁,黑人,呼吸暂停-低通气指数[AHI]1).两者评分的一致性为94.3%。(B)中枢脑电图(EEG)通道对应的通宵频谱图。暖色表示这些频率的能量更高。这种类型的图可以用来很容易地识别整个睡眠结构。例如,频率低于5hz的高功率时期很可能表明深度非快速眼动(NREM)睡眠。(C)算法对每个睡眠阶段在每30秒的预测累积概率。黑线表示算法的置信度。请注意,在软件中可以很容易地绘制该图中的所有图形。本文的在线版本包括以下图3的图补充:图补充1。演示算法最简单用法的代码片段。图2的补充。说明在多个欧洲数据格式(EDF)文件上使用该算法的代码片段

讨论

作者试图开发一种睡眠分期算法(1)与人类评分者的准确性相匹配,(2)在大型异构数据集上进行了训练,(3)容易被大多数人实现,(4)计算需求低,因此可以在基本的笔记本电脑上运行,(5)完全免费,因此很容易被研究人员、临床医生和商业企业采用。

表现

该算法显示出高水平的准确性,与观察到的人类评分者之间的一致。对比两种最新的深度学习算法表明,在精确性上YASA与共识评分的对比与现有的两种健康成人算法相同(即,在统计上没有差异)。然而,YASA在OSA患者中的表现比Perslev等人的算法差2.4%(如“局限性和未来方向”部分所述)。

对于个体的睡眠阶段,该算法对N2睡眠、N3睡眠、REM睡眠和觉醒表现出良好的分类性能,对N1睡眠的一致性中等。这些结果与人类评估者间的一致性一致,即与其他睡眠阶段相比,N1睡眠阶段的评估者间一致性较低。此外,该算法成功地保留了整晚睡眠阶段的总体分布,从而既不会高估也不会低估特定的睡眠阶段。除了基本睡眠阶段分类之外,该算法的一个优势是能够为每个阶段的每个单独时期提供概率(即似然)值。这些概率告诉用户算法的置信度。因此,该算法为睡眠评分提供了一个独特的特征,它超越了睡眠分期的量化和睡眠分期的定性评估。证明了这一测量的有效性,该算法的准确性在标记为高可信的时期具有统计学上的优势,与人类评分达到了约95%的一致性。

普适性

算法的能力和效用不仅取决于其准确性,还取决于用于训练和验证的基础数据集的特征。作者在多个独立的异构数据集中,对近4个夜晚超过30,小时的PSG人类睡眠记录进行了训练和评估。这些数据集包括了来自广泛年龄范围、不同地理位置、种族、性别、身体成分、健康状况和睡眠障碍的参与者。重要的是,这些独立研究涉及不同的记录设备和设置(如蒙太奇、采样率)。这种高度的异质性对于保证算法的高可靠性和通用性至关重要。调节因子分析表明,该算法的性能不受性别和身体成分的影响。此外,算法的内置灵活性允许使用不同通道的组合,应该是用户希望的。该算法不仅具有广泛的实用性,而且有助于研究的工作的复制,并与现有和未来的工作进行比较。

易于使用,计算需求低

为了促进睡眠界的广泛采用,任何算法都能被相关各方(例如学生、研究人员、临床医师、技术人员)使用和理解,无论其专业技术水平如何,这一点至关重要。为了确保这一点,软件的构建特别注重易用性、文档化和透明度。首先,端到端睡眠-分期管道可以用不到10行Python代码编写,软件自带预训练的分类器,根据所使用的通道组合自动选择,从而限制任何错误的风险。其次,该软件有广泛的文档,包括大量的示例数据集,允许任何用户在将其应用到自己的数据集之前熟悉算法,如果他们希望(尽管这不是必要的)。第三,该算法使用传统的基于特征的方法来分类睡眠阶段,而不是黑箱算法。这些特征在算法的文档和源代码中详细描述,并可以解释给任何研究人员或临床医生在lay术语。最后,睡眠分期是在用户的计算机上本地完成的,数据从未上传到云或任何外部服务器,从而限制了安全和隐私风险,以及使用软件时对任何连接的需求。

局限性和未来方向

尽管该算法有许多优点,但也有必须考虑的局限性。下面将讨论这些问题,以及未来改进算法的思路。首先,虽然在健康成人中,YASA相对于共识评分的准确性与Stephansen等人,和Perslev等人,算法无显著差异,但在OSA患者中,YASA算法显著低于后者。Perslev等人年的算法使用了所有可用的EEG和两个(双侧)EOG,而YASA的评分是基于一个中央EEG、一个EOG和一个EMG。这表明,提高这一人群表现的一种方法可能是纳入更多的脑电通道和/或双侧eog。例如,使用双侧eog的负积可能会增加对REM睡眠期快速眼球运动或N1睡眠期缓慢眼球运动的敏感性。其次,目前算法广泛采用的一个障碍是缺乏图形用户界面(GUI)。设计和维护开源跨平台GUI本身就是一项艰巨的任务,需要专门的资金和软件工程师。相反,为了促进将YASA的输出集成到现有的睡眠gui,已经做出了大量的努力。具体来说,该算法的文档包括如何在EDFBrowser、Visbrain和SleepTrip等几个免费gui中加载和编辑睡眠评分的示例。第三,在整晚PSG记录中对该算法进行测试和评估。因此,它在短时间录音(如白天小睡)中的表现尚不清楚。因此,需要对该算法进行进一步的测试,以验证该算法在小睡中的有效性。虽然YASA可以处理任意长度的输入数据,但如果数据小于该算法使用的最长平滑窗口(即小于7.5分钟),则性能可能会降低。

第四,不同于其他基于深度学习的算法,该算法目前不具备在较短分辨率下评分的能力。第五,该算法目前无法识别常见睡眠障碍的标志物(如睡眠呼吸暂停、腿部运动),因此可能不适合用于临床目的。但需要注意的是,我们的软件确实包括了量化睡眠期间的阶段性事件(慢波、纺锤波、快速眼动、伪影)以及睡眠图的片段化功能。因此,YASA可能为加速PSG记录的临床评分提供一个有帮助的起点,而不是取代临床医生的关键专业知识。此外,该软件的未来发展应该优先考虑临床疾病的自动评分,特别是呼吸暂停低通气事件。

最后一个局限性是该算法是针对人类数据定制的。因此,那些想要使用YASA对人类颅内数据、动物数据,甚至来自特定人群的人类数据进行评分的人将需要根据自己的需求调整算法。算法可以在两个级别上进行修改。首先,个体可能希望在不改变潜在特征的情况下,对特定人群重新训练分类器。这种灵活性是由算法本身支持的,不需要修改YASA的原始源代码。然而,在某些情况下,可能还需要修改特征,以捕获输入数据的不同方面和动态(例如,啮齿动物或人类颅内数据)。

与现有工具相比,YASA的优势

尽管人工智能的最新进展已经使许多医学领域的繁琐工作自动化成为可能,但睡眠研究领域仍然依赖于人类的视觉评分,这一过程耗时且容易产生主观偏见。作者认为,阻碍自动睡眠分期广泛应用的一个障碍是每年发布的算法的数量,其中大多数算法实际上是无法与其他算法相比的,因为它们使用不同的测试数据集和/或不同的评估策略。除了高准确性之外,YASA还有一些值得潜在用户考虑的独特优势。

首先,与绝大多数现有算法不同,YASA的设计目的并不是将睡眠进行分期,而是作为一个广泛的工具箱,涵盖了睡眠研究人员和临床医师使用的绝大多数分析。这包括:(1)从睡眠图中计算睡眠统计数据,(2)自动检测睡眠期间的相位事件(如纺锤波、慢波、快速眼动和身体运动),(3)光谱分析,以及(4)更复杂和新颖的分析方法,包括事件锁定交叉频率耦合以及将睡眠功率谱分解为非周期性和振荡成分。与现有算法相比,YASA的第二个优势是处理速度。事实上,YASA比Stephansen等人年的算法快了几个数量级(约10-20svs.10-20分钟,包括数据加载)。值得注意的是,虽然Perslev等人算法的计算速度较快,但将EDF文件上传到web服务器可能很慢,而且对于敏感的临床数据来说也不够。虽然在处理时间上的这些差异对于小型研究可能不是问题,但当处理数百个记录时,它们可以显著扩大。第三,只有少数人拥有修改和再训练复杂的深度学习神经网络架构所需的技术技能和/或硬件,具有Python基本知识的人可以很容易地修改核心YASA算法,并且在不超过几个小时的时间内,可以在任何基本的笔记本电脑上训练完整的模型。

结论

在过去十年中,人们对量化和追踪人类睡眠的兴趣呈指数级增长,对高度自动化、准确、高速和易于实现的人类睡眠评分算法的需求也有类似的增长。在这里,作者提供了一种算法,旨在实现这一需求。希望它能成为一种可以通过跨协作的开源社区开发来建立、扩展和完善的行业标准方法。

材料和方法

数据集

该算法在来自NSRR的大规模独立数据集上训练(

1
查看完整版本: eLife一个开源高性能的自动睡眠分期