EPOS:EEG处理开源脚本

背景:自从复制危机以来,标准化在心理科学和神经科学中变得更加重要。因此,许多方法正在被重新考虑,而研究人员在这些方法中的自由度也被讨论为跨研究的不一致性的潜在来源。

新方法:为了解决这些主观性问题,我们一直在研究类似教程的EEG(预)处理流程,以实现基于Delorme和Makeig提出的半自动分析的自动化方法。

结果:本文介绍并逐步解释了两个脚本,以执行基本的、有根据的ERP和频域分析,包括数据导出到统计程序和数据的可视化表示。作为数据处理平台,使用了开源软件EEGlab in MATLAB,但也包括了基于Mike Cohen (2014)提供的代码的脚本。

与现有方法的比较:这篇类似教程的附带文章解释并展示了我们的自动流程的处理如何影响数据,并针对EEG分析的初学者,因为其他的(预)处理链主要针对专业领域的比较熟练的用户或仅仅是完整程序的一部分。在这个背景下,我们将我们的流程与一些现有方法进行了比较。

结论:标准化和可复制的需求是显而易见的,然而,通过数据探索来控制所建议解决方案的可信度同样重要。在这里,我们为社区提供了一个工具,以增强EEG分析的理解和能力。我们的目标是为神经科学研究做出全面和可靠的分析的贡献。本文发表在Frontiers in Neuroscience杂志。

引言

脑电图(EEG)是应用和临床神经生理学中最重要的工具之一,因为它具有高时间分辨率和高安全性,这得益于它的非侵入式应用(Cohen, 2017)。作为测量电活动的仪器,脑电图的核心属性是频率(每个时间周期的振荡次数)和幅度(一个周期内振荡的最大值),这最早由Berger(1929)描述。多年后,尽管系统和现有软件的技术发展很多,但由于实验室间的方法学差异,EEG研究中的发现的可复制性仍然存在重大问题(Bishop,2007)。然而,这个问题不仅限于EEG研究。最近发布了一篇文章,展示了预处理中的灵活性如何影响使用磁共振成像的研究结果(Botvinik-Nezer等人,2020),这对科学结论有重大影响。

EEG信号受到干扰源的强烈影响,这些干扰源是由电极的使用(例如,电极移位)、实验本身(例如,闪烁频率)或参与者的活动引起的,部分是与前面的因素相互作用(例如,眼动或肌肉活动)。这些不需要的信号可能比实际感兴趣的信号大得多,因此如果不纠正这些伪迹,它们会大大干扰对神经活动的电生理相关的测量(例如,Cuevas等人,2014)。由此产生的校正和数据的进一步处理增加了可复制性的障碍。在《国际心理生理学杂志》的一期特刊中,Larson和Moser(2017)讨论了心理生理学的复制危机,该特刊题为“严谨与复制:朝向心理生理学研究的改进最佳实践”。其中包括对严谨性的一般性改进(Baldwin,2017)、ERP的可靠性分析(Clayson和Miller,2017)以及电生理学的时间-频率数据复制或样本量计算(Larson和Carbine,2017)的贡献。

在当前的EEG研究中,研究人员在分析和出版物中的报告方面拥有很高的自由度,这导致研究结果的假阳性率增加(Simmons等人,2011)。已经发布了几套关于数据一致性和可复制性的指导方针(Pivik等人,1993;Picton等人,2000;Keil等人,2014),但仍然需要确保一致处理的工具(关于最新方法,请参见Debnath等人,2020)。对于EEG数据,这意味着在时间窗口、频带、滤波范围、电极、参考、测量、伪迹排除和异常值排除方面有灵活的选择。大多数研究人员在实际分析之前使用不同的滤波器、参考电极和标准来移除伪迹,这有各种(合理的)原因。然而,这个过程不是标准化的,使得几乎不可能在不共同预处理的情况下将来自不同数据源的数据集合并进行分析。因此,Keil等人(2014)指出,在电生理数据的处理中,标准化和自动化将是必不可少的。

为了预处理EEG数据,近年来已经开发了各种流程,以满足标准化的日益增长的需求。PREP流程(Bigdely-Shamlo等人,2015)提供了一种标准化方法来去除线性噪声(Mullen,2012)并通过平均参考来检测和插补噪声通道。然而,PREP只关注与实验相关的伪迹,而不关注像眼睛眨动这样的个体伪迹。哈佛自动预处理流程(HAPPE;Gabard-Durnam等人,2018)增加了一个独立成分分析(ICA)并使用多伪迹拒绝算法(Winkler等人,2011)来校正伪迹。但是,据作者所说,这个流程不适合分析事件相关电位。计算测试自动预处理工具箱(CTAP;Cowley等人,2017)的方法与HAPPE类似,但允许用户比较不同预处理流程的结果。此外,还创建了批量脑电图自动处理平台(Levin等人,2018),旨在通过将预处理流程应用于新数据集来简化和标准化现有研究的复制。此外,还引入了Automagic(Pedroni等人,2019),这是一个包装工具箱,结合了常见的预处理方法。Automagic默认使用PREP流程,并在之后添加进一步的处理步骤。自动预处理流程(Ramos da Cruz等人,2018)针对大型数据集被证明是一种高效可靠的方法,适用于静息状态和诱发EEG,已经在临床和健康参与者上进行了测试。最后,最近发布了马里兰儿童EEG分析流程(MADE;Debnath等人,2020)。这个流程侧重于使用EEGLAB对儿童人群的数据进行标准化和自动预处理。

我们提出自己的方法的原因是,之前提到的大多数流程主要关注预处理的某些特定概念和部分,而我们的方法试图依据并扩展Delorme和Makeig提供的原则。然而,在Makeig和Delorme建议对数据进行半自动检测或可视化检测的地方,我们建议基于统计异常值检测或基于算法和机器学习的伪迹选择的标准化选择标准,从而得到可复制和标准化的(预)处理结果。我们的工作主要针对初学者,通过提供一种可能的方法,该方法是基于社区当前共识而推荐的。因此,本文的目的是介绍标准化和自动化的EEG处理开源脚本(EPOS)。特别是,我们希望为EEG研究的新手提供一个分步教程,该教程可能有助于生成可以由其他研究人员复制的分析,因为所有相关信息都已给出并可以复制。在这方面,我们通过整合一系列可视化,旨在便利和改进用户必须定义标准的决策(例如,ERP或频率的电极位置)。我们不想关注单个处理步骤,而是提供一个易于理解的教程脚本,介绍数据收集之后到提取最终数据分析的整个过程。除了对完整数据集的筛选外,将不会根据个人在伪迹清理中的主观、未记录或不可复制的决策进行干预,因为只能选择可复制和标准化的标准。有非常早期的发现表明,算法方法超过了个人评估标准,因此一旦经过验证,应优先选择精算方法而不是主观判断(例如,Dawes等人,1989)。在一项荟萃分析中,Grove等人(2000)甚至能够表明,在所检查的研究中,机械预测或更准确地说是统计上定义的预测标准的表现显著优于临床预测,比例为33-47%,而临床预测在仅6-16%的研究中更准确。此外,主观标准在个体间和个体内变化,而算法的性能是可复制的。因此,我们提供了一个基于机械和可复制标准的(预)处理流程,以避免主观变异。

材料和设备

我们提供了用于将数据导出以在其他软件中进行统计分析以及可视化(ERP,时频图,地形图)脑电生理数据的脚本,以检查EEG分析中标准化解决方案的可信度。

这里提出的预处理流程需要以下软件工具箱:EEGLAB(Delorme和Makeig,2004)及其插件IClabel(Pion-Tonachini等人,2019),ADJUST(Mognon等人,2011),MARA(Winkler等人,2011),SASICA(Chaumon等人,2015),以及CSD工具箱(Kayser,2009;Jürgen Kayser和Tenke,2006a,b)或Cohen(2014)提供的CSD转换。所有这些包都在MATLAB(Matlab,2011)上运行,但是有一些尝试将这些包转换为Octave(Eaton,2002)。

方法

接下来我们将首先介绍EEGLab(Delorme和Makeig,2004)的标准预处理流程,该流程在https://sccn.ucsd.edu/wiki/Chapter_01:_Rejecting_Artifacts 上提供,然后介绍并解释我们的更改和扩展。这个流程不应被视为一种新方法,适用于所有应用,可以简单地应用于任何类型的数据,而是一种可重复的分析建议,可能在数据预处理的几个案例中帮助初学者。一些建议乍看之下似乎是有争议的(例如,在最初的“分段”之后而不是之前进行滤波,这可能会导致边缘伪迹,或者如果对低频带感兴趣则以1 Hz进行过滤)。然而,仔细阅读建议的细节并咨询相关脚本中的解释时,用户可能会注意到,当原则上遵循这些建议时,一些假定的问题并不存在(例如,首先采用长的数据段以避免滤波整个数据集,或者如果用户对低频带感兴趣,则提取未经滤波的数据IC)。

根据EEGLab的预处理 下面是先前提出的预处理步骤的概述:

基于独立数据成分的拒绝:

步骤 1:视觉排除不合适的连续数据部分(例如,阵发性)。

步骤 2:将数据分段成适当的短数据片段。

步骤 3:对这些片段执行独立成分分析(ICA)以获取它们的独立成分。

步骤 4:对从成分中得到的数据片段执行半自动和基于视觉检查的拒绝。

步骤 5:视觉检查并选择要拒绝的数据片段。

步骤 6:拒绝选定的数据片段。

步骤 7:对修剪后的短数据片段集合进行第二次独立成分分析。

步骤 8:检查并拒绝成分。注意,在第二次ICA之前不应拒绝成分,而应在之后拒绝。

根据EPOS进行预处理

如前所述,我们试图通过标准化方法替代不可复制的主观影响。

首先,我们想强调,良好且标准化的预处理是非常宝贵的,但是清晰的EEG数据记录是至关重要的(“输入垃圾→输出垃圾”)。因此,一个从不被提及但却至关重要的第一步是,在数据收集过程中要花费时间,并且负责任地、仔细地使用EEG帽/电极。

新的(预)处理流程是基于前面提到的流程提出的,如表1和图1所示:

表1. 根据EEGLab和EPOS的预处理流程中各个步骤的比较。

EPOS:EEG处理开源脚本_第1张图片

EPOS:EEG处理开源脚本_第2张图片

图1. EPOS流程推荐的预处理步骤的示意表示。

步骤 1. 统计检测和插值低质量的通道。

步骤 2. 将数据分段成合适的数据时段。

步骤 3. 高通滤波。

步骤 4. 第一次独立成分分析。

步骤 5. 基于ICs的z值检测来检测和删除坏的片段。

步骤 6. 第二次独立成分分析。

步骤 7. 使用ADJUST和MARA与SASICA或ICLabel进行自动检查和剔除成分。

步骤 8. 重参考(到电流源密度CSD)。

根据EPOS的处理

在此阶段以标准化和自动化的程序完成EEG数据的预处理后,我们将在以下步骤中描述数据的进一步处理(参见图2)。为此,执行九个步骤,其中一些是可选的,具体取决于实验、数据集和个人偏好。创建图形和导出数据需要MATLAB插件boundedline (Kearney, 2020)和export_fig (Altman, 2020)。此外,还需要基于Cohen (2014)提供的代码并由John J.B. Allen和Johannes Rodrigues编辑的小波函数来分析时频结果。为了后续执行频率的单次试验分析,对Cohen (2014)的频率提取函数进行了调整。除此之外,这些功能是按照Cohen (2014)描述的方式实现的。

EPOS:EEG处理开源脚本_第3张图片

图 2. EPOS流程推荐的处理步骤的示意图

步骤 9. 为分析切分数据。

步骤 10. 去除不存在的案例(例如,在自由选择范式中)。

步骤 11. 在EEG信号的给定时间窗口内进行自动峰值检测。

步骤 12. 计算并可视化事件相关电位。

步骤 13. 时间域的拓扑图(Topoplots)。

步骤 14. 在频率响应的给定时间窗口内进行自动峰值检测。

步骤 15. 频率响应的拓扑图。

步骤 16. 在宽频率窗口内为特定电极绘制时频图。

步骤 17. 将数据导出到统计软件。

结果

根据EPOS的预处理

步骤 1: 统计检测和插值低质量通道

此步骤基于原始数据(参见图3中的示例)并检测并排除具有非常低信噪比的通道。这些通道将被插值,因此不会以其信号贡献到将进一步处理的信号。

EPOS:EEG处理开源脚本_第4张图片

图 3. 原始数据示例(数据质量不太好)。

在可以检测到“坏”通道之前,必须仅选择相关通道。应忽略的通道包括心电或皮肤传导测量通道,这些通道可能与脑电波(直接或间接)相关,但结构与EEG信号不同。在选择EEG电极后,应将在线参考添加回数据,以便该电极可以用于进一步分析,或者在该通道中有太多噪声的情况下进行插值。由于在保留在线参考作为通道的同时需要参考系统,我们使用平均参考来进一步处理数据,尽管它不是一个首选的“最终”参考方案,并且在后续步骤中仍可以更改。如果有足够数量的电极充分覆盖头皮区域,那么在此处理阶段,平均参考是非常有用的(Junghöfer等人,1999)。如果没有这样做,可能会因电极分布而向数据引入偏差。如果使用其他电极作为离线参考,则在数据解释中失去该电极。因此,我们不建议使用此方法,但是如果没有其他可能,此处也可以立即使用其他参考电极(例如链接的乳突),在后续处理步骤中失去相应的电极。如上所述,我们稍后可能会更改参考,甚至更改为CSD参考,但我们可能不会使用此参考进行基于MARA和ADJUST或IClabel的自动IC检测,因为它们没有经过这些空间过滤参数的训练,因此会得出非常错误的结论。在重参考以恢复在线参考通道之后,作为第一步的预处理步骤,使用统计标准检测并插值“坏”通道。我们使用基于z值的检测。根据异常值标准z > 3.29(Tabachnick和Fidell,2007)检测概率、峰度和频谱,用于单变量统计异常值。对于频谱,我们使用Makeig和Delorme建议的频率范围1-125(参见文本脚注1)。插值坏通道是为了避免在数据结构中引入不规则的矩阵,这会与后续的预处理和处理步骤相互作用,而不是仅仅排除它们。当然,插值通道的信息丢失了,因此从信息角度看,矩阵的秩减少了,但出于实际原因,可以保留数据的结构(请参见图4中的示例)。

EPOS:EEG处理开源脚本_第5张图片

图4. 插值数据通道。

为了详细了解此步骤的功能细节,EPOS使用EEGLAB的pop_select函数选择要在预处理中忽略的通道。pop_chanedit函数为在线参考留出空间,并将其重新添加到数据中。使用pop_reref函数将数据重新参考到所有电极的平均值。重新参考中包含的通道取决于蒙太奇配置,并且必须在我们的脚本中进行调整。最后,EEGLAB的pop_rejchan函数根据统计标准检测失真通道,pop_interp函数对质量较差的通道进行插值处理。

第二步:将数据分段为适当的数据时段

下一步是将数据切割成适当的“第一”数据时段,这些时段稍后将被分割成“真实”片段,但应该相对较长,因为它们的目的是成为ICA的数据库。然而,片段的长度也应根据试验的同质性来选择。选择尽可能长的数据时段很重要,因为后续的ICA对于较长的数据时段提供了更好的解决方案。同时,片段应尽可能短,因为ICA解决方案会导致不同任务的IC更加嘈杂和非特异性,因此基于z值的伪迹检测对于排除该片段不够敏感。总之,信号需要足够长以获得可靠的测量结果,同时又要足够短以考虑EEG信号的非平稳性质(Korats et al., 2012)。因此,我们建议将整个试验分段成片段(如果试验足够长且没有太多不同的阶段,或者试验较短且同质性较好),或者分割实验的部分。在此阶段,片段的长度可以为8-20秒(例如,Möcks和Gasser, 1984),具体取决于数据质量和任务。如果您预计数据噪声较大,存在较短的大型伪迹,那么也可以建议使用较短的片段长度,甚至可达2秒。然而,在数据处理的后续步骤(第9步)中,可以实施较小片段的排除。因此,我们建议在此阶段使用较长的片段。请记住,基线校正的时间窗口也是必需的,并应包括在内(兴趣标记/事件之前的x秒)。对于频率分析,由于可能发生“边缘效应”(即由于时间窗口大于可用数据的时间窗口而导致的失真或瞬态效应),需要在片段的两侧增加更多空间(Debener等,2005; Herrmann等,2005; Roach和Mathalon,2008)。同样适用于滤波器,它们也可能导致边缘效应。为了避免这些伪迹,我们建议在每个片段的两侧留出1秒的“缓冲时间”,因为我们将在下一步应用1 Hz的滤波器,该滤波器可能会产生高达1秒的“滤波波动”。在同质数据中,可以轻松使用重叠的片段,但必须考虑。

EPOS:EEG处理开源脚本_第6张图片

图5. 第一次分段。标记的片段是后续步骤的可视化辅助工具。

更详细地讲,我们使用EEGLAB中的pop_epoch函数将数据根据实验和试验的持续时间切割成适当长度的片段。

步骤3:高通滤波

作为第三步,我们对数据应用了1 Hz的高通滤波器。这样做是为了获得更稳定的ICA解决方案,因为不存在低频漂移(Winkler et al., 2015)。此外,在对不同滤波器对MARA性能的影响进行了广泛测试之后(Winkler et al., 2011),我们发现MARA仅使用1 Hz滤波器时效果最佳。例如,2 Hz滤波器无法像1 Hz滤波器那样良好地校正侧向眼动,而将数据滤波到2 Hz至39 Hz的功率谱(如MARA手册建议)无法像无39 Hz滤波器的情况下那样有效地校正肌肉活动。此时,我们还要提醒大家,尽管此时的滤波仅用于获得更好的ICA基础和基于MARA(Winkler et al., 2011)和ADJUST(Mognon et al., 2011)的自动伪迹IC检测的基础,但每个滤波器都会改变数据。如前所述,可能会出现边缘伪迹(滤波涟漪效应)。这些伪迹在短数据片段中很容易出现,因为它们位于滤波后数据的边缘。因此,通常建议对未分段的连续数据进行滤波,而不是对“分段”数据进行滤波。然而,由于我们在第2步中执行的“分段”实际上是选择了一个具有足够边缘以产生滤波伪迹的大连续数据部分,而不仅仅是感兴趣的最短数据部分,因此可以在此步骤开始滤波,从而获得更快捷和高效的滤波过程,因为只需对数据的部分进行滤波,而不是对整个数据集进行滤波。正如前面提到的,我们建议在大数据“片段”上添加1秒的数据“缓冲区”,以避免在使用1 Hz高通滤波器时发生滤波涟漪效应。对于滤波器的一般评论,需要记住滤波器只能衰减它们设计用于处理的频带,不能完全消除相应的频率响应。如果采用不恰当的滤波顺序应用阻尼曲线,可能会导致非常大的频率伪迹残留(例如,即使在滤波后,非常大的肌肉伪迹仍会产生影响)。为了总结关于滤波器的这一一般评论,以下是对可能应用的不同滤波器类型的快速重述:陷波滤波器[删除目标频率,例如50 Hz(欧洲的交流电频率)]、低通/高切(将目标频率以下的所有频率衰减)、高通/低切(将目标频率以上的所有频率衰减)以及带通滤波器(低通滤波器与高通滤波器结合)。需要注意的是,一些研究兴趣集中在1 Hz以下的频带,因此通常会应用更低的高通滤波器(例如,如果对慢波感兴趣,可以选择0.001 Hz)。然而,由于可以将IC解决方案写回未经滤波的数据,用户可以在此时应用1 Hz滤波器,以获得良好的ICA和MARA算法(或类似的ICLabel算法)的性能。当然,用户也可以使用不同的自动化和标准化算法来检测伪迹成分,这些算法在其他滤波器解决方案下表现更好,或适用于可能具有独特特征的特定数据(例如,Rodrigues et al., 2020c)。

再次提供这一步骤的函数细节,我们应用EEGLAB函数pop_eegfiltnew,该函数需要firfilt工具箱(Andreas Widmann)的支持。根据数据段的不同,脚本中必须调整1 Hz低通滤波器的滤波器阶数。图6展示了经过滤波的数据示例。

EPOS:EEG处理开源脚本_第7张图片

图6 滤波后的数据。

第四步:第一次独立成分分析

在下一步中,我们对数据应用独立成分分析(ICA)。ICA是将信号进行统计线性分解,将每个成分都尽可能多地为数据提供特定信息(Makeig等人,2004)。因此,每个电极提供的数据被分配给一个源/传感器。ICA将传感器级别上的线性混合源分解为独立的成分(Bell和Sejnowski,1995),我们得到与源数量相等的成分(例如,64个电极对应64个独立成分)。因此,ICA可以将实际的脑电信号与非脑电噪声(如眼动或肌肉活动)分离。ICA是一种所谓的“盲源”分离技术,因此不能保证有意义的结果(Jung等人,2000)。并非每个提取的成分都同样可信,它们在很大程度上取决于数据质量和特定的ICA算法。然而,根据插值的不同,每个插值通道的信息较少。为了避免“幽灵成分”(不携带有意义信息的成分),我们可以将我们的独立成分限制在与“矩阵的秩”相等的特定数量上,对于我们来说,就是未进行外推的通道,仍然携带信息(例如,Miyakoshi,2021)。生成的独立成分也有时间序列和频率分布,就像通道一样。但是,由于通道的拓扑顺序被解散,为每个独立成分提供了一个新的拓扑投影。基于这些特征,可以进行伪迹检测,可以只使用部分信息(时间序列、拓扑、频率响应)或全部信息来选择伪迹片段。在第五步中,我们将只使用部分信息,忽略独立成分的拓扑,以选择伪迹片段,而在第七步中,自动化的机器学习和基于标准的算法将使用所有信息来选择伪迹独立成分。

第五步:基于独立成分(IC)的z值检测删除有问题的片段

现在,我们基于IC的z值检测选择并删除有问题的片段。与第一步类似,我们使用z > 3.29(Tabachnick和Fidell,2007)的标准来判断概率和峰度的异常。这一步的目的是提高数据质量,以便在后续的第二次ICA中更好地清除伪迹。在全局层面上,我们使用了非常高的z值阈值(z = 20),仅纠正非常大的伪迹,并防止过度纠正不同的信号成分。Delorme和Makeig(2004)推荐了这种方法,他们在https://sccn.ucsd.edu/wiki/Chapter_01:_Rejecting_Artifacts网站上提供了这种方法,因为它对于不常见的伪迹(例如,偶发的打嗝)更加敏感,而不仅仅是基于通道z值的伪迹检测。然而,如果整体数据嘈杂且存在持续时间较长的伪迹,我们建议使用全局阈值z = 3.29来检测需要删除的片段。

在底层功能方面,我们使用了EEGLAB中的pop_jointprob命令来拒绝概率,pop_rejkurt命令来拒绝峰度。通过使用pop_rejepoch命令来删除选定的片段。图7展示了伪迹片段的拒绝示例。

EPOS:EEG处理开源脚本_第8张图片

图7 | 排除的有问题片段。

第六步:第二次独立成分分析

在清除了有问题片段的数据上进行第二次独立成分分析。只有在检测到并排除了至少一个有问题片段时才执行此步骤。目标是通过识别只包含非相关信号的与众不同成分来实现更好的信噪比。这些与众不同的成分将被删除,以计算只包含非伪迹数据或至少较少受伪迹干扰的信号。因此,再次进行信号分解,得到先前提到的成分信息。在完成独立成分分析后,我们选择代表信号和代表噪声的成分。同样,我们使用EEGLAB的函数pop_runica。

第七步:使用ICLabel或ADJUST和MARA与SASICA自动检查和排除成分

在第七步中,使用自动化方法对得到的成分进行检查和排除。在第一种更传统的方法中,我们使用了ADJUST(Mognon等,2011)和MARA(Winkler等,2011)与SASICA(Chaumon等,2015)。SASICA是EEGLAB的插件,包含了来自不同研究者的各种伪迹校正算法(例如,完全自动化的统计阈值法用于EEG伪迹排除(FASTER),Nolan等,2010年,ADJUST和MARA)。

ADJUST使用基于时间和空间滤波器的算法来识别主要(但不仅限于)由眼动引起的伪迹。这包括眨眼、水平和垂直眼动,以及一般的不连续性。该算法使用基于期望最大化的方法自动检测不同伪迹类型的时空属性的阈值,并相应地对其进行分类(Wu等,2018年)。MARA结合了不同的测量指标,通过线性机器学习算法自动将独立成分分类为伪迹。总结起来,两个空间特征、一个时间特征和三个频谱特征提供了最佳分类结果的测量指标。这些不同的分类成分在原始论文中有详细描述。MARA并不是设计用于检测特定的伪迹类型,而是可以用于检测眼动伪迹、肌肉伪迹、心跳或松动电极。关于MARA,我们已经将参考设置为平均值并使用1 Hz进行滤波。MARA在自动分类伪迹方面表现良好(Winkler等,2011年,2014年)。尽管经过训练和有经验的EEG研究者可能更有能力区分信号和伪迹成分,但自动伪迹校正算法在伪迹去除方面具有超过人类评估者的可靠性。

在将特定选项配置好(即ADJUST或MARA标记为坏)后,我们使用EEGLAB命令eeg_SASISCA执行IC的自动删除。通过ADJUST或MARA的标记,这是一种非常保守的方法,会尽可能地排除IC中的伪迹成分。然而,由于ADJUST和MARA对特定伪迹(例如,ADJUST在检测与心跳相关的位移伪迹方面较强,而MARA在检测非常嘈杂的成分方面更敏感)具有选择性的效果较好,所以所选方法可以得到更少受伪迹影响的数据,但在混合成分方面是一种非常严格的方法。我们还提供了将ICA解决方案写回到未经滤波的EEG数据的代码。因此,我们将基于MARA的自动选择的ICA解决方案应用于原始数据,而不包括实现这些解决方案所需的必要预处理步骤。这样可以消除为实现标准化预处理而引入的伪迹,从而得到一个经过投影的ICA解决方案。需要注意的是,这个投影解决方案可能不完全与在原始数据上进行ICA所得到的解决方案相同,而是在未经滤波的数据矩阵上进行自动IC选择的最佳数据准备的投影。请记住,我们推荐使用这些软件包是因为它们是公开可用的并且能够提供可复制的结果。然而,对于具体的需求,这些软件包的设置可能并不适用,我们鼓励使用其他可复制的解决方案来选择IC(例如,Rodrigues等,2020c),同时向其他研究人员提供所使用的解决方案和必要的信息,以确保分析的可复制性。图8展示了经过IC清除的数据示例,包括投影的未经滤波的数据和经过滤波的数据解决方案。

EPOS:EEG处理开源脚本_第9张图片

图 8. 在进行第二次独立成分分析(ICA)和独立成分(IC)清理后的数据,重新投影到原始的、未经过滤的数据和经过滤的数据解上。

作为使用MARA和ADJUST的替代方案,我们已经实施了一个更新的工具箱作为自动化选择独立成分(IC)的手段,称为ICLabel。通过与其他公开可用的脑电图(EEG)IC分类器的比较,证明了这个分类器在所有测量的IC类别中的性能优于以前公开可用的自动IC成分分类方法,同时计算这些标签的速度是以前的十倍(Pion-Tonachini等,2019年)。ICLabel用于将ICs分类为“大脑”、“眼睛”、“肌肉”、“心脏”、“通道噪声”、“线噪声”和“其他”七个类别。为了对这些成分进行分类,ICLabel检查ICLabel数据集中的时空度量,该数据集包含来自6000多个EEG记录的超过200,000个ICs。ICLabel学习实现中使用的此标记分类集的范围可以通过ICLabel网站访问,该网站使用众包策略从专家那里收集IC标记数据。用于训练和评估ICLabel分类器的ICLabel数据集包括来自广泛范围范式的EEG数据集,以在所有EEG记录条件下实现准确性。在变量中存储一个ICA分解的数据集后(例如,“EEG”),可以通过输入EEG = iclabel(EEG)来使用ICLabel,并且可以通过EEG.etc.ic_classification.ICLabel.classifications获得IC分类结果。我们与ICLabel关联的“默认”选择标准相当包容,因为我们将信号的概率与伪迹的概率进行比较。如果信号更有可能构成该成分,则将其接受为信号。但是,请注意,“其他”类别不被视为伪迹类别,因为混合信号或混合信号和伪迹成分可能构成此类别(参见Pion-Tonachini等,2019年)。

在一些(预)处理流程(主要是ERP流程)中,在此点或在处理步骤9,会有一个额外的细分,将数据分割成非常小的片段,并在IC清理过程后执行额外的伪迹选择。我们在步骤9中提到了它,称其为“重新审视的步骤5”,并使用了先前步骤5的代码,而不是作为一个额外的步骤,但是如果您的数据中需要,请告知读者已采取了哪些细分步骤以及使用了哪些统计选择标准。请避免像之前的步骤5那样手动选择。

步骤8:通过重新参考或电流源密度(CSD)转换

最后,我们在预处理的最后一步重新参考我们的数据。选择参考或蒙太奇对于能够可视化感兴趣的效应至关重要,选择可能在一定程度上是基于您的研究领域的实践标准和特定的感兴趣问题来决定的。在空间特定效应很重要的情况下,我们更倾向于并建议使用电流源密度(CSD)转换(Hagemann,2004;Rodrigues等人,2021)。然而,人们也可以选择其他参考,如连接的乳突或其他适合EEG研究领域并且常见的参考方案。CSD提供了一个估计,即头皮表面上的点处的相对电流作为周围点的函数。距离是用电极上的相对活动加权的:表面被估计为一个球体,信号与相邻的差异被测量,每个距离的每个差异的加权是执行的。因此,获得了一个没有参考的参考,可以使用任何电极。这导致了一个空间滤波器,它可以增强(失活)的拓扑图。有两种可用的可能性来做到这一点,要么使用Kayser和Tenke(2006a,b)以及Kayser(2009)的CSD工具箱,要么使用Cohen(2014)提供的基于Perrin等人(1990,1989)方法的laplacian_perrinX函数。这两种工具提供了可比较的结果,尽管后者在执行上要快得多。然而,我们强烈建议访问Kayser提供的网站,以获取有关CSD转换是如何实施的以及它的作用的更多信息。或者,可以使用pop_reref命令使用任何其他参考(例如,连接的乳突)。如上所述,由于自动IC检测,我们在这个较晚的时候执行这个重新参考。在图9中可以看到CSD和连接的乳突参考的未过滤和过滤解的示例。

EPOS:EEG处理开源脚本_第10张图片

图 9. 未经过滤和经过滤的CSD转换以及乳突参考的数据解。

根据EPOS进行处理

步骤9:为分析分割数据

此步骤的目标是为信号和每个频率的数据分析创建一个4维矩阵,并生成一个5维矩阵用于单次试验分析(当然,除了以下维度外,还可以生成其他维度)。然而,根据矩阵的大小,生成这个矩阵可能会导致内存问题。解决这个问题的方法是一次只创建一个矩阵,或者在预处理的第一步对数据进行重新采样。为避免基于插值的估计值,我们建议仅将重新采样到新的采样率,该采样率是先前采样率的除数。此外,在重新采样之前使用抗混叠滤波器是必要的,以避免引入混叠频率。执行重新采样的函数有pop_resample。一般来说,我们建议仅以所有计划的频率分析和滤波所需的采样率记录数据(通常250 Hz就足够了),而不是使用最高可用的记录频率,以避免重新采样。在特殊情况下,较高的采样率可能有助于克服非常特定的数据损坏问题,但通常它们只是占用记录资源,并导致稍后对数据进行下采样,如果一开始以较低的频率采样,这是可以避免的。

在此时,如果需要,可以根据相关标记再次对数据进行分段,以便从现有的时段中提取较小的片段。由于预处理中的第一个“分段”是为了捕获非常适合IC分解和伪迹检测的片段,因此可能对于感兴趣的频率响应或事件相关电位过长,因此可以进行第二次分段,现在的目标是获取适合数据分析的时段。必须选择这些标记,建议使用单独的分段脚本。此类分段脚本的示例也随着(预)处理链一起提供。在此脚本中,“casearray”变量包含此实验的所有相关条件触发器,按条件分组。如上所述,在某些处理流程中(主要与ERP相关),此时可能有第二个不良片段检测步骤(参见预处理步骤5)。如果需要,请随时执行此步骤,并说明必要的细节。接下来,将自动计算基线校正,但不使用EEGLAB的pop_rmbase函数,因为我们在不同的MATLAB版本中遇到了round函数的问题,导致在某些MATLAB版本中错误地应用基线。因此,我们通过脚本自动计算来避免此类兼容性问题。请注意,此处采用的基线用于单次试验分析或平均分析。接下来,定义感兴趣的频率。我们假设只有特定的时频窗口和ERP成分将以假设驱动的方式分析研究问题(当然,可以出于探索目的考虑其他频带和ERP成分)。如果需要,可以根据感兴趣的ERP将具有特定特性的滤波器应用于数据。最后,用户决定是否查看单次试验数据。我们建议使用多级模型进行此类单次试验分析。我们还建议使用频率带而不是纯ERP相关数据,因为与类似的单次试验ERP相比,它们在单次试验EEG分析中具有更高的可靠性(Rodrigues等人,2020a)。

步骤10:删除不存在的条件

这个步骤简短而简单。我们建议排除那些不包含在数据集中但存在于分段文件中的条件(以减少数据量)。对于自由选择范式,这一点尤为重要,因为一些参与者可能选择不以特定方式行事。因此,可以从该人的分段文件中删除这些情况。

步骤11:在EEG信号的时间窗口中自动检测峰值

在此步骤中,在感兴趣的电极位置的感兴趣的时间窗口内,通过平均信号或不同条件的平均值搜索峰值,从而在相应条件中得到试验的平均值,而不是总平均值。请注意,峰值不是作为单个值取的,而是在峰值周围定义一个时间窗口,以避免由于峰值延迟或伪迹而产生偏差,因此利用噪声(Luck,2005)。在后续步骤中,我们可视化并导出条件下的试验平均值,或者在打算进行单次试验分析的情况下,导出数据的单次试验值。然而,在进行单次试验分析的情况下,单次试验矩阵需要先进行预处理(Rodrigues等人,2020a)。相应的参数(搜索窗口,电极)取决于感兴趣的ERP。作为文献建议的评论,它们非常重要,因为通常已经研究过感兴趣的ERP或频率响应,并且特定的范式可能提供特定的生理反应。然而,应该对推荐、指南和研究建议进行批判性评估(例如,应该质疑FRN是否仅在Fz处考虑,正如文献中经常出现的那样,由于早期的电极安装,尽管FCz也可用,并且相应的地形图也表明该成分与其仅限于额叶区域相比,更倾向于中额-中心)。因此,在此步骤中,可以通过确认信号分布来对“标准”进行质疑,并做出明智的决定。

步骤12:计算并可视化事件相关电位

在脚本的这一部分,我们提供生成不同形式的ERP图的可能性。首先,可以绘制ERP,就像在较旧的手稿中通常看到的那样,每个条件只包含一个波形(见图10上部面板)。接下来,我们提供带有阴影错误线的ERP(Kearney,2020),除了ERP的过程外,还提供有关均值(ERP)估计精度的信息。在此步骤中,将错误线(标准误差之间)添加到图中(见图10中间面板)。或者,我们提供代码将平均错误线(平均标准误差内,即相关条件差异的平均标准误差内)添加到图中(见图10中间面板)。对于后者,重要的是研究人员要意识到应该采取有意义的条件,或者应该计算有意义的条件群(脚本中只有一个简短的示例,但只需使用“nanmean”命令)。

EPOS:EEG处理开源脚本_第11张图片

图 10. 三种不同ERP图选项的比较。

步骤13:时域中的拓扑图(Topoplots)

在下一步中,我们提供代码来创建拓扑图。我们包括为事件相关电位(ERP)生成感兴趣的时间窗口(峰值窗口)的拓扑图的选项(见图11),但也可以创建动画图形交换格式(GIF)。此GIF描绘了不同的时间间隔,以显示拓扑的动态变化,并验证所选的感兴趣的时间窗口对应于正确的电极。

EPOS:EEG处理开源脚本_第12张图片

图 11. 事件相关电位的拓扑图和感兴趣频率的拓扑图,这里是theta频率的示例和原始功率的显示。

步骤 14:频率带内时间窗口的自动峰值检测

我们使用Morlet小波来执行时间频率分解。我们的处理方法假设用户事先有一个感兴趣的频率带,并且分析集中于该频率带,以避免偶然发现的资本化。

与ERPs中的峰值检测一样,在感兴趣的时间窗口内,在感兴趣的电极处,针对感兴趣的频率带搜索峰值。相应的参数可以以与ERPs使用的相同方式设置。应该从文献中以批判的眼光选择相应的参数,如上所述。根据任务的不同,查看所有条件的平均值(Cohen,2014)或查看与其他条件不同的某些条件中的峰值可能是有用的,然而,这会增加发现显著性的机会。附带的脚本包含示例,但必须根据不同的实验进行调整。

步骤 15:频率响应的拓扑图

这一步与第5步相同,脚本中实现了频率响应的峰值窗口的拓扑图和时间进程的GIF。这是为了验证感兴趣的电极和感兴趣的时间窗口的选择是否正确(参见图 11)。

步骤16:针对特定电极在宽频率窗口中进行时频图

在电生理数据的图形展示的最后一步,我们实现了创建时频图的代码。对于这个时频图,我们使用基于Cohen(2014)提供的代码并由John J.B. Allen和Johannes Rodrigues编辑的绘图函数(见图12)。它提供了日志转换的功率输出,原始数据输出或推荐的相对于基线的分贝变化。结果是,这个时频图显示的频率响应不仅限于期望的功能频率,而且在更大的频率窗口内,以验证感兴趣的电极和时间窗口的选择,以及感兴趣的频率。作为建议,如果你对伽玛频率不特别感兴趣,我们建议使用1-30赫兹的频谱范围。我们还建议使用如上所述的基线变化的分贝设置。

EPOS:EEG处理开源脚本_第13张图片

图12. 在1-30赫兹频谱范围内对感兴趣的电极进行时频图绘制。

关于伽马频带,我们在解释上比较谨慎,并尽量避免使用它,因为有证据表明微扫视(microsaccades)(Dimigen等人,2009;Hipp和Siegel,2013)和肌电活动(Whitham等人,2007)可能驱动这些频谱响应。

步骤17:将数据导出到统计软件

在处理“链”的最后一步,我们提供将EEG数据导出到不同统计程序的代码,使用Excel(.xlsx)或MATLAB(.mat)数据格式。我们支持将平均信号/频率导出到长格式(即,每行代表参与者在特定条件组合中的一个数据点,列表示数据以及条件和参与者,每个参与者有多行)。这种格式通常被许多R(R核心团队,2020)软件包所要求,以计算方差分析或多层次分析。如果要执行多层次分析,SPSS(IBM,Armonk,NY)也需要长格式数据。此外,我们还提供将平均信号/频率导出到宽格式的选项(即,参与者的所有响应在一行中,每列表示相关数据变量的条件组合),这种格式被Jamovi(Jamovi项目,2020)或SPSS(IBM,Armonk,NY)用于计算方差分析。最后,我们还提供以长格式导出单次试验信号/频率数据的选项,这是R或SPSS在计算多层混合模型时所需的。

关于单次试验分析的注意事项

在这个(预)处理链中,虽然单次试验数据处理的选项是提供的,但它并不是默认选项,而是被注释掉,需要激活后才能使用。这样做是为了在首次使用处理流程时更好地管理所需资源。然而,我们希望鼓励进一步探索数据,并鼓励分析单次试验的EEG响应(参见例如Rodrigues等人,2018,2021),因为在通常仅考虑所有试验的平均响应的数据中,可能会出现有趣的时间动态,而这些动态往往是隐藏的。这些试验级别的响应可能提供有关学习、无聊以及惊喜和疲劳的信息。它们在更好、也许更精确地理解数据及其含义方面非常有帮助,而不仅仅是查看平均值。此外,个体间差异可能隐藏在响应的方差中,显示出那些更容易感到无聊或对上述变量有类似反应的人。探索性数据分析具有重要作用,但当然,重要的是让它受到假设、预先注册和公开承认哪些发现是假设的,哪些是探索性的指导。

关于此流程中缺少分析的注意事项

在这个(预)处理链中,只提供了少数几种分析,而许多有趣的分析,如诱发和诱导频率响应(Galambos,1992; David等人,2006)、交叉频率耦合(例如,与相位-幅度耦合,Canolty和Knight,2010)、频率相位分布(例如,Busch等人,2009)以及使用LORETA(Pascual-Marqui等人,1994; Pascual-Marqui,1999)或类似算法进行深层源分析等,并未包含在内。此外,也没有包括基于PCA的ERP峰值检测(例如,Kayser和Tenke,2003;Dien,2010)。一个不包括它们的原因是我们的目标是建立一个非常基本的预处理链,即一个标准化的起点,任何人都可以在此基础上构建。我们希望这个链条也能被初学者用来接触EEG,并通过分析来激发灵感,以基于假设理解和了解他们的数据,但也基于探索性验证既定标准。当然,我们也鼓励以其他和更新的方式探索数据,但对于假设检验,一个标准化的基本结果应该是第一步,然后是数据探索。另一个不包括上述一些技术的原因是,我们担心引入一些不太容易理解的方法,这些方法可能只会被用作一个“黑箱”,而不去思考它们并验证结果。在看到很多“奇怪”的拓扑图、频率响应模式和具有可疑时间窗口的ERP后,我们想提供一个标准化的脚本,让每个人都能理解,并能快速验证他们的结果。然而,这些脚本中所做的所有建议也应谨慎对待,因为它们可能不适用于每一组数据。这种标准化方法的目的是为研究人员提供一个可靠的分析起点,可以根据他们的需求进行修改和调整,以达到可复制和透明的分析,前提是报告相应的变化。

测量EPOS流程的性能

为了测量EPOS流程在样本数据集上的性能,我们采用了计算若干指标的方法,这些指标用于评估HAPPE(Gabard-Durnam等人,2018)在一个虚拟T迷宫的长时间试验数据集上的表现(参见 Rodrigues, 2016; Rodrigues等人,2018, 2020b,c, 2021)。与他们的方法类似,我们提供我们的样本数据集(Rodrigues和Hewig,2021),以便用户可以评估该流程,并可能将其与自己的流程进行比较。此外,我们还提供了使用Infant Sibling Project:Sample Files(Levin等人,2017)的其他处理流程的比较。

用于评估处理流程的指标包括:

  1. 未被拒绝的通道(贡献“良好”的通道)
  2. 被拒绝的独立成分(IC)(EPOS:在第二次独立成分分析(ICA)后)
  3. 在拒绝独立成分(IC)后保留的方差(EPOS:在第二次独立成分分析(ICA)后)
  4. 被拒绝的片段数量(EPOS:“步骤5”和“重新审视步骤5”合并)
  5. 保留成分的伪迹概率(EPOS:来自IClabel的第二次独立成分分析(ICA)后)

我们自己的样本数据集的结果可以在表2中看到。虽然通道拒绝和被拒绝的时期数目相对较多,但数据集的方差相当受限(见表2)。然而,保留伪迹成分的概率相当小。因此,我们得出的结论是,就一般的数据拒绝而言,EPOS是一种包容性的方法,但关于伪迹的概率仍然相对较低。正如脚本中提到的,EPOS的开发是以良好的记录质量作为EEG研究的必要组成部分为前提的。然而,它不仅可能在记录质量特别好的数据中表现得相当合理,而且在下面对Infant Sibling Project:Sample Files(Levin等人,2017)的其他流程进行比较时也可以看出。

表2. 样本数据集性能的参数。

EPOS:EEG处理开源脚本_第14张图片

比较EPOS与现有流程

为了将EPOS与其他流程方法进行比较,我们比较了与HAPPE(Gabard-Durnam等人,2018)评估和发布的指标,并在他们提供的数据集(Levin等人,2017)上进行了更客观的比较,而不是在更专业的数据集上进行单次性能比较。我们使用了与HAPPE相同的39个感兴趣的通道(Gabard-Durnam等人,2018),平均参考数据,并选择在“第一分段”(见步骤2)中使用最小建议的时段长度9秒(8秒,带有-1秒的基线或滤波数据缓冲),包括所有数据,因为我们在数据中每8秒设置一个标记。基于HAPPE手稿(Gabard-Durnam等人,2018)提供的结果,我们能够评估被拒绝的ICs,拒绝ICs后保留的方差,以及保留成分的伪影概率。结果显示在表3中。

表3. 根据Gabard-Durnam等人(2018)的不同预处理链的被拒绝的独立成分的百分比,保留的方差的百分比,保留成分的平均和中位伪影概率,包括在Infant Sibling Project: Sample Files(Levin等人,2017)上的EPOS预处理链。

EPOS:EEG处理开源脚本_第15张图片

在Infant Sibling Project的背景下(Levin等人,2017的样本文件),EPOS处理在限制方差方面是一个相当严格的处理链,因为与其他方法相比,剩余的方差非常有限(见表3)。然而,被拒绝的成分的百分比既不是很高也不是很低,而且在几乎每种情况下,伪影成分的概率都较低(见表3),尽管必须承认,在EPOS的情况下,计算是基于IClabel而不是其他管道中使用的MARA。因此,我们得出结论,EPOS在这个特定的数据集(Levin等人,2017)中可能以类似但更限制方差的方式执行,并且比其他示例管道更不容易出现残留伪影。

讨论

我们提出了一个标准化、自动化的开源处理流程,用于处理EEG数据。在追求研究结果的鲁棒性方面,可复制性和标准化变得越来越重要的时代,我们提出了一个用于(预)处理EEG数据以及检测和图形化表示测量值的流程建议,以检查处理结果的完整性。我们希望这里提供的脚本能够为未来研究的EEG分析提供一个易于理解和复制的基础,同时鼓励人们探索他们的数据并验证他们的结果。此外,一个开放和可复制的处理流程可以确保来自不同来源的数据集更容易地被转移到联合分析中。所提出的处理流程不仅限于ERP或频率分析,还为这两种分析以及单个试验分析提供了必要的代码。然而,值得一提的是,该处理流程仅仅是一个建议,可以根据数据和范式的需求进行调整。通过这个开始处理EEG数据的工具,用户可以希望以标准化和灵感激发的方式分析数据,并向科学界呈现有价值的结果。

未来的发展和对这个处理流程的额外验证应该涵盖临床对象和健康对象,并涵盖不同年龄段。总的来说,对于未来的工作来说,将日益增长的预处理流程进行对比,并评估其在特定子群体中的适用性和质量,可能是值得的。

你可能感兴趣的:(机器学习)