作者:超爱猫咪的苏苏
今天介绍的文献“HyPyP: a Hyperscanning Python Pipeline for inter-brain connectivity analysis”于2021年2月发表在“Social Cognitive and Affection Neuroscience”期刊上。
摘要
大多数的社会神经科学研究,在比较大脑对不同类型社会刺激的反应时,通常采用“刺激-大脑”的方法,但大多数这样的方法是缺乏真正的社会互动的。
在过去的二十年里,越来越多的研究者采用了一种“大脑-大脑”的方法,来作为一种洞察社会性大脑的新方法,以探索参与者之间大脑模式的相似性。
这种方法的转变促进了自然社会刺激引入到研究设计中,如电影;
而且,重要的是,它还促进了无论是在受限制的实验环境中,还是在更生态有效的环境中,都可以直接研究社会互动性的新工具的发展。
比如近年来,非常流行地允许同时记录两个或两个以上个体在社会任务中大脑活动的超扫描装置。然而,目前还没有一个统一的方法来进行这种脑间连接分析,这导致分析技术的分散。
为了适应在这个快速发展的研究领域中不断增长的标准化分析方法的需求,我们开发了HyPyP,一个全面而简单的开源软件包,允许(社会)神经科学家导出并解释脑内连接分析。
1. 引言
社会认知涉及个体内部和个体间的生物、行为和社会过程的整合,矛盾的是,大多数社会神经科学研究都是在没有任何实时人际动态的情况下,对暴露在预先记录的社会刺激下的孤立个体进行社会认知研究。
因此,人类大脑是如何支持动态社会互动的,仍有许多未知之处。神经科学家最近开发了一种新的工具,既可以在受控的实验环境中,也可以在更生态有效的环境中来直接研究社会互动,即hyperscanning;
具体来说,超扫描装置越来越多地用于同时记录两个或更多个人在社交任务中的大脑活动,并研究他们大脑活动与社会行为相互作用的共同变化。
超扫描已被广泛用于研究社会互动背景下的神经同步,从亲子眼神交流到师生课堂互动。然而,目前还没有一个统一的方法来进行这种脑间连接分析,这导致分析技术的分散。
为了适应在这个快速发展的研究领域中不断增长的标准化分析方法的需求,我们开发了HyPyP,一个全面而简单的开源软件包,允许(社会)神经科学家导出并解释脑内连接分析。
HyPyP可以处理由两个或两个以上参与者组成的小组的数据,数据可以在同步超扫描记录背景中收集,也可以在非同步设置中收集。
从刺激大脑方法到脑-脑方法
在过去的二十年里,社会和认知神经科学研究越来越趋向于更自然的范式,使用了各种记录技术,包括功能磁共振成像(fMRI)、脑电图(EEG)、磁脑成像(MEG)和功能近红外光谱(fNIRS)。
这最初是由两种需求促发的:在日常生活中捕捉社会大脑,以及捕捉积极参与互动与被动处理社会刺激的不同之处。
各种类似的尝试解决了直接研究社会互动的挑战,强调了多个子维度。
例如,一些研究人员把重点放在社会认知的具体和积极方面,交互动力学以人的双向感知运动耦合为基础,从而成为一个两体动力学系统,另一些人则强调我们的社会认知在互动环境中是完全不同的,即使这种互动不是互惠的。
换句话说:以第二个人的视角或以我们的方式行动改变了我们的社会大脑。
有趣的是,这描绘了一个二维空间,其中一个轴表示线下和线上的社会认知,认识到一个人可以对他人进行心理化和元认知,而不必与他们实时互动;另一个轴则表示同步(即对称)和互补(即不对称)角色参与互动的人。
除了这种“互动性转向”,社会神经科学也在呼吁更多的自然主义研究和生态有效性,将日常生活带入实验室,甚至实验室融入日常生活。
过去几年里,各种研究人员都强调了这种“真实世界”神经科学研究的必要性,原因有很多;
包括(a)需要在动态的自然环境中测试人类社会认知的实验室模型,(b)解决在实验室环境中可能无法直接回答的问题,(c)接触到可能不容易研究的人群。
无线脑电图设备的发展使得在“真实世界”社会环境中进行神经科学研究成为可能,这种便携式、经济实惠的技术使研究人员能够记录“野外”(非实验室背景下)人的大脑活动,从专业环境到艺术背景,甚至是在教室里。
这一举动也得到了转化精神病学的支持,其中社会背景和环境可以强烈影响患者的行为,特别是对于神经发育障碍。
考虑到这些发展,超扫描技术获得相当大的流行就不足为奇了,它揭示了社会互动大脑研究的新挑战。
相关的多脑神经科学混合了实时超扫描研究(以社会互动为重点)和记录后的多脑分析(以自然感知为重点)。
首先,功能磁共振成像的结果表明,当人们在互动环境中考虑到他人时,大脑的动态变化确实是不同的,以及自然刺激的社会维度如何增强大脑之间的相似性。
然后,使用EEG或fNIRS研究的超扫描研究证明了特定的神经标志物是如何与持续的社会协调联系在一起的,以及与他人的相互作用如何使大脑模式的相似性在亚秒级同步。
从那时起,这些观察被扩展到各种社会任务中,甚至没有任何节律性的协调,因此证明了大脑间的连通性可能不仅仅是感觉运动夹带的一个特征,大脑间的连通性也可能是共享理解或合作的标志;
从二人组到小组的研究也证明了这是一个强有力地共同注意信号。因此,大脑间的连通性比超扫描更为广泛,HyPyP库的目的不仅是支持同时记录,而且还支持跨范围的测量。
图1:HyPyP工具箱在二元社会互动研究中的应用实例。(A)两个参与者参与交互社会互动的超扫描装置示意图(B)记录被分为不同的时间段,大脑信号被转换成包含大脑内部和内部连通性测量的连通矩阵。(C)通过对比两组不同的人或不同的条件,可以直观地看到脑间连接的统计调节
2. HyPyP库描述
2.1 软件规格
HyPyP库提供了一套Python工具来操作超扫描数据和大脑间连通性测量。使用社区驱动的视角,代码是开放源码的,根据三条款BSD许可进行许可,并可在此地址进行编辑(https://github.com/GHFC/HyPyP)。
运行HyPyP需要python3.7(或更高版本)以及主要的数据科学库,比如数值计算库,机器学习算法库,数据分析,以及绘图数据库。
HyPyP还利用了其他社区驱动的库,比如用于处理M/EEG信号的MNE库,以及用于预处理和抑制伪影的自动抑制库。最后,一些支持连接性度量的指标也依赖于Astropy包。
图2:HyPyP中EEG数据集的分析管道。蓝色显示的步骤是特定于模块的,扩展了pythonmne环境提供的功能,与工作流一致。
2.2 功能概况
HyPyP工具箱的设计是与MNE- Python集成的,MNE Python是一个能够在大脑内部进行全面的M/EEG数据分析的软件包。
HyPyP在大脑间水平上实现了这些分析(图1)。
您可以在链接中找到有关HyPyP文档的完整文档和应用程序编程接口(API)描述(https://hypyp.readthedocs.io),Github页面上还提供了一个关于玩具数据集的详细教程(http://github.com/GHFC/HyPyP)并说明了目前的HyPyP版本能让社会神经科学的研究人员做些什么。
它特别涵盖了多个数据集的以下分析步骤(图2)。
1)加载原始数据
在使用HyPyP之前,需要使用适当的MNE函数将每个条件和参与者的原始数据文件转换为epoch。epoch是分析脑电图信号最常用的方法之一;
MNE生态系统有一个专用对象,该对象在数据数组中包含信号,并在元数据字典中包含所有相关参数——比如通道名称、坏通道、频率、样本频率。
下面,我们将说明如何用mne.read_epochs()函数从两个参与者的示例脑电图数据集加载epoch。
# Loading data files
epochs1 = mne.read_epochs(os.path.join('..','data',"participant1-epo.fif"),preload=True)
epochs2 = mne.read_epochs(os.path.join('..','data',"participant2-epo.fif"),preload=True)
2) 数据预处理
[prep.ICA_fit, prep.ICA_choice_comp,prep.AR_local]是对MNE Python和Autoreject函数的一种改编,获取epoch并将其返回干净。
这个过程包括拒绝坏的时段,拒绝或插入每个参与者的部分坏频道,然后在参与者之间删除相同的频道和相同的时段;
因此,只有对所有参与者“有益”的通道和epoch得以保留。独立成分分析(ICA)去除也在参与者之间匹配,这样类似的ICs在参与者之间被拒绝:
ICA_fit将使用Autoreject计算一个全局拒绝阈值,然后在给定的一组时间上拟合独立分量分析,ICA_choice_comp将为每个参与者绘制独立的组件,让用户选择作为工件拒绝模型的相关组件,并在epoch上应用ICA;AR_local将在第二步应用Autoreject:
# computing global AR and ICA on epochs
icas=prep.ICA_fit(epochs=[epochs1,epochs2],n_components=15, method='infomax',fit_params=dict(extended=True),random_state=42)
# selecting components semi-automaticallyand remove them
cleaned_epochs_ICA=prep.ICA_choice_comp(icas,epochs=[epochs1, epochs2])
然后会询问您希望将哪个参与者用作模板,之后会询问您希望将来自该参与者的哪个IC用作模板
3)合并和拆分数据
[utils.merge]从每个参与者获取时间段,将其对齐并合并到单个数据文件中(无论参与者数据是记录在一个文件中还是记录在单独的文件中)。
当用户已经将数据加载到MNE中,并且只想连接同一MNE结构中的多个参与者时,这一点尤其重要。要创建一个超级数据集,将存储在epo1和epo2的两个记录组合在一起,这很简单:
hyper_epo = merge(epochs_S1=epochs1,epochs_S2=epochs2)
[utils.merge]同时也采用了之前预处理过的记录:用户可以直接加载数据来可视化(坏的频道仍然会被考虑在内)。
分别是 [utils.split]获取一个包含两个参与者数据合并和用“_1”和“_2”表示参与者1和2的频道名称的单个超级时段,并将其拆分为两个单个参与者时段:
epochs1, epochs2 = split(hyper_epo)
4)数据分析
[分析.pow]从预处理的时间序列计算韦氏功率谱密度(PSD)。参数n_fft表示快速傅里叶变换(FFT)的长度。
fmin和fmax设置实际计算功率谱密度的最小(fmin)和最大(fmax)频率在freq_list中返回。n_per_seg表示每个Welch段的长度。
用户可以在各个时间段内平均PSD值(epochs_average=True),也可以保留完整的时间过程。
这里举例来说,感兴趣的频带仅限于Alpha_Low,即功率谱的频率实际计算的密度将在freq_list中返回,并且PSD值在各个时期内取平均值:
此外[analyses.compute_freq_bands]以及[analysis.compute_sync]获取预处理的时间段,分析信号,并返回不同的个体间大脑连通性的测量值(实现的指标见路线图表2)。
与PSD类似,用户可以在不同的时段(epochs_average=True)平均连接值,也可以保留完整的时间过程。
我们首先计算每个频带的解析信号,然后计算频率-和时间-频率-域连接性,这里我们使用“ccorr”,即循环相关系数。
然后我们对结果进行切片,得到矩阵的大脑间部分,例如,我们选择Alpha_Low并计算Cohens'D进行进一步分析。
complex_signal = analyses.compute_freq_bands(data=[preproc_S1,preproc_S2], freq_bands)
result =analyses.compute_sync(complex_signal, mode='ccorr')
n_ch = len(epochs1.info['ch_names'])
theta, alpha_low, alpha_high, beta, gamma =result[:, 0:n_ch, n_ch:2*n_ch]
values = alpha_low values -=np.diag(np.diag(values))
C = (values - np.mean(values[:])) /np.std(values[:])
这个过程也可以应用于个体内部的大脑连接,以支持单个参与者的分析。此外,函数中的模式参数可以进行不同的连接测量(请参阅2.3部分的脑内连接测量)。这为每个时间段生成连接矩阵(图1B)。
图1:HyPyP工具箱在二元社会互动研究中的应用实例。(A)两个参与者参与交互社会互动的超扫描装置示意图(B)记录被分为不同的时间段,大脑信号被转换成包含大脑内部和内部连通性测量的连通矩阵。(C)通过对比两组不同的人或不同的条件,可以直观地看到脑间连接的统计调节
这里我们将结果切片得到矩阵的脑内部分,例如我们选择Alpha_Low和compute Cohens 'D进行进一步分析。
for i in [0, 1]:
theta, alpha_low, alpha_high, beta, gamma =result[:, i:i+n_ch, i:i+n_ch]
values_intra= alpha_low
values_intra -=np.diag(np.diag(values_intra))
C_intra= (values_intra - np.mean(values_intra[:])) / np.std(values_intra[:])
我们也可以直接抽取CSD值进行统计分析:result_intra.append(C_intra)
图3:脑内连接测量的排列统计。
(A)超扫描实验设计示意图。(B)置换零假设检验示例。大脑间连接的测量方法要么是为相同的参与者而随机的时间计算的,要么是为在相同条件/组或条件/组之间随机配对的参与者计算的。
4)统计
[stats.statsCond] and [stats.statscondCluster]改编自MNE-Python统计测试:针对多重比较校正的参数t检验和使用预定义阈值的非参数聚类级统计置换测试(分别为alpha和alpha_bonferroni),通过跨空间的通道连接和频率(频率列表、信道频率)。
置换测试可以用来测试零假设,从调节二元体内的脑间同步到参与者组之间(图3)。
两个函数都采用功率谱密度或个体间大脑连通性测量(结果或数据)和返回统计值。简单的t检验,我们使用参数函数统计排列测试;
因为这个函数通过测试(变量,即通道),用户可以在频率维度平均PSD但不能将此函数应用于通过n个通道具有n个通道的连接值最小尺寸。
psd1_mean =np.mean(psd1.psd, axis=1)
psd2_mean =np.mean(psd2.psd, axis=1)
X =np.array([psd1_mean, psd2_mean])
T_obs, p_values, H0= mne.stats.permutation_t_test(X=X,n_permutations=5000, tail=0, n_jobs=1)
HyPyP简单参数t检验基于相同的MNE函数,我们为该函数添加了一个Bonferroni校正来进行多重比较
statsCondTuple=stats.statsCond(data=data_psd,epochs=preproc_S1,n_permutations=5000,
alpha_bonferroni=0.05,alpha=0.05)
对于非参数的基于聚类的排列,我们根据通道的位置(例如在Alpha_Law波段)在空间和频率之间创建了一个先验连通性矩阵。
con_matrixTuple = stats.con_matrix(preproc_S1,freqs_mean=[7.5, 11])
ch_con_freq = con_matrixTuple.ch_con_freq
我们为PSD创建了两个假组,有两倍的“参与者1”和两倍的“参与者1”,并对两者进行比较。
data_group = [np.array([psd1.psd, psd1.psd]),np.array([psd2.psd, psd2.psd])]statscondCluster=stats.statscondCluster(data=data_group,freqs_mean=psd1.freq_list,ch_con_freq=scip.sparse.bsr_matrix(ch_con_freq), tail=0, n_permutations=5000, alpha=0.05)
我们还可以使用HyPyP非参数基于聚类的排列测试来比较参与者之间的大脑连接值。为此,我们必须根据通道的位置,在空间和频率之间创建一个先验连通性矩阵。
con_matrixTuple =stats.con_matrix(epochs=preproc_S1, freqs_mean= np.arange[7.5, 11], draw=False)
请注意,对于连接性,计算频率bin中从fmin到fmax的每个整数的值,freqs_mean=np.arange(fmin, fmax)在PSD中,它取决于n_fft参数psd.freq_列表
对于CSD,每个频率的值都是平均的,因此在校正集群时不需要考虑频率
ch_con =con_matrixTuple.ch_con
我们又创建了两个假组,有两倍的“参与者1”和两倍的“参与者2”。
例如,在Alpha_Law带中:
Alpha_low = [np.array([result_intra[0], result_intra[0]]), np.array([result_intra[1],result_intra[1]])]
statscondCluster_intra= stats.statscondCluster(data=Alpha_Law, freqs_mean= [7.5, 11],
ch_con_freq=scipy.sparse.bsr_matrix(ch_con), tail=0,n_permutations=5000, alpha=0.05)
最后,我们可以将大脑内连接值与替代信号进行比较。目前,在HyPyP中还没有实现建代理信号,但是您可以比较主体之间的内部连接。
在两个参与者之间没有考虑通道之间先验连接。以Alpha_Low band为例(见上文),我们又创建了两个假组,其中的“participant1”和“participant2”各两倍:
data = [np.array([values, values]),np.array([result_intra[0],
result_intra[0]])] statscondCluster = stats.
statscondCluster(data=data, freqs_mean=np.arange(7.5, 11),
ch_con_freq=None, tail=0, n_permutations=5000, alpha=0.05)
5)可视化
我们可以将T值可视化,用于通道的统计分析或仅用于重要通道的统计分析。例如:viz.plot_significant_sensors(T_obs_plot=statsCondTuple.T_obs,epochs=preproc_S1)
我们还可以看到大脑间连接的统计调制[viz.plot_sensors_2d,viz.plot_links_2d,viz.plot_sensors_3d,viz.plot_links_3d]采取个体间大脑连接的通道位置和矩阵,以可视化大脑间的联系投影在二维或三维头部模型上(二维头部模型可视化基于matplotlib-3D)(图1C)。
图1:HyPyP工具箱在二元社会互动研究中的应用实例。(A)两个参与者参与交互社会互动的超扫描装置示意图(B)记录被分为不同的时间段,大脑信号被转换成包含大脑内部和内部连通性测量的连通矩阵。(C)通过对比两组不同的人或不同的条件,可以直观地看到脑间连接的统计调节
坏的频道用不同的符号显示(交叉与点)。顺序的红色颜色图表示正连接值,蓝色表示负连接值。线的厚度随着连接强度的增加而增加(见图1C)。
2.3 脑间连通性测量
继现有的超扫描研究和功能连接网络研究之后,HyPyP固有的包括相位同步、功率同步、基于一致性的连通性以及偶然性或信息传输的定向测量。
我们将继续在HyPyP项目页面上添加和记录度量(https://pypi.org/project/HyPyP/)其最终目标是在连通性度量和心理过程之间建立可测试的联系假设。
这里,我们简要描述在HyPyP中实现的核心连接度量。
尽管脑间连通性指标通常以单脑研究中使用的功能连通性测量为基础,但实验设计和潜在机制存在显著差异。
与脑内同步不同,脑间同步不是由脑源之间的物理联系驱动的,也不能通过神经元振荡的信息传递来解释(Dumas等人,2012年)。
此外,超扫描研究有时采用一种自然主义的范式,没有触发锁定事件。这些区别导致了超扫描研究的混合方法和对结果的复杂功能解释。
我们的工具箱解决了这些不同的需求:HyPyP提供了各种连接选项,如上文所述,以及探索和比较它们的功能。
首先,当在频域计算度量时,我们用解析信号来计算,而不是谱密度,这更适合于自然范式中的非平稳脑数据。
其次,计算了各时期(图G1B)脑内通道对的连通矩阵,从而得到了便于数据探索的时空频率表示。
为了便于对度量的深入了解,我们提供了一个示例Hypercanning数据集来测试超连接性度量。
在统计检验方面,我们包括一种传统的t检验,它通过基于聚类的置换检验进行多重比较校正的可能性。
未来的研究将包括与行为编码的相关性、跨不同度量的元分析以及对组合和条件的方差分析。
在这些分析的基础上,我们提供了大脑之间超连接的二维和三维可视化,我们将实现大脑内部连接的等效功能。
相关性和连贯性是估计大脑连通性的传统线性方法。在超扫描功能磁共振成像研究中,BOLD信号的相关系数被发现可以表征电影中社会背景下的共同注意和注意增加。
另一方面,连贯性在fNIRS和EEG研究中更常用。小波相关是fNIRS超扫描研究中常用的方法,如研究合作和竞争行为、模仿、言语交流、决策和学习。在脑电超扫描中,连贯性被用来研究课堂社会动力学。
另一种选择是,相关的虚部只捕获时间滞后的同步,消除由体积条件引起的零滞后伪同步,即仅在大脑内部水平有用(Nolte等人,2004;Dikker等人。2019年)。
在HyPyP中也实现了非线性脑连接度量,包括相位同步、功率相关和因果关系度量。最常用的相位同步测量是相位锁定值(PLV),用于估计联合动作中的同步(Dumas等人,2010;Dumas,2011),言语互动(Perez Repetto等人,2017),决策(Tang et al.2016)等任务。
锁相指数(PLI)类似于PLV,但设计用于基于事件的实验设计。它已经被一系列的音乐协调研究所采用(Lindenberger et al,2009年;Sänger等人,2012年)循环相关(CCorr)测量两个数据流之间相位方差的协方差,与PLV或PLI相比,它对重合同步更为鲁莽(Burgess,2013)。
CCorr越来越受欢迎,并已成功地应用于研究触摸(Goldstein等人,2018),学习(Davidesco等人,2019年),以及语言(Perez Repetto等人。2017年)的研究中。
EEG数据中的功率谱密度或包络线之间的相关性长期以来被用于单脑研究(Shaw,1984;Guevara和Corsi-Cabrera,1996),也被用于超扫描(Zamm等人,2018年)。
投影功率相关(PPC),一种正交时间序列之间的功率相关,以抵消杂散同步(Hippet al,2012),被发现与自然主义互动中的人格特征相关(Dikkeret al。2019年)
最近的研究提倡建立同步值的因果解释(Dean和Dunsmir,2016)。
对于多元数据集中因果关系的推断,有自回归模型和信息论方法,分别以格兰杰因果关系(GC)和传递熵(TE)为代表。
从理论上讲,格兰杰因果关系是基于一个序列对另一个序列未来的预测能力,而传递熵是根据一个序列消除另一个序列未来的程度来确定的。
在脑电研究中,格兰杰因果关系通常通过部分定向相关(GC的频域方法)进行操作。
在超扫描研究中,PDC被发现与利他主义或合作行为相关(Fallaniet al,2010年;阿斯托菲特艾尔,2012年;Toppiet al,2016年;Ciaramidaro等人,2018年)。
与格兰杰因果关系相比,传递熵不需要模型,因此对非线性相互作用更为敏感(Schreiber,2000)。一些团体(Liu和Pelowski,2014)提出了其在脑电超扫描中的应用,但尚未有太多的研究。
表1:脑间连接测量。与脑内水平相关的参考是粗体的。平稳性是指时间序列的核心特征(例如均值、方差、谱特征)相对于分析时间尺度的稳定性。
3. 路线图
据我们所知,HyPyP是第一个用于量化多个参与者大脑连通性的综合工具箱。下面的表1-3列出了HyPyP迭代的路线图。
这些路线图可能会发生变化,并在HyPyP项目页面上得到积极维护(pypi.org/project/HyPyP). 我们的目的是整合从大脑内部到外部的行为变量的研究,并将统计和可视化功能扩展到群体分析。
除了简化和实现这些功能(如表1-3所示),我们还将继续围绕管道发布文档,包括文档化代码、教程材料和连接度量与心理过程之间的假设的指南。
工具箱的设计考虑到超扫描研究的复杂性和多维性。通过整合时间历程、行为数据和元分析,我们希望工具箱能够帮助揭示超扫描研究中连通性度量的功能和行为相关性。
4. 结论
超扫描Python管道(HyPyP)是一个分析工具箱,旨在支持(社会)神经科学家对比较两个或更多参与者的大脑数据进行研究。
它已经整合了核心工具来运行从预处理到可视化的大脑间连通性测量,并将以社区驱动的方式继续改进。HyPyP提供的特定工具将促进标准化个体间神经生理分析,以支持社会神经科学研究的科学进步和可复制性。
参考文献:Ayrolles, A., Brun, F., Chen, P., Djalovski, A., Beauxis, Y., Delorme, R., Bourgeron, T., Dikker, S., & Dumas, G.. (2021). HyPyP: a Hyperscanning Python Pipeline for inter-brain connectivity analysis. Social Cognitive and Affective Neuroscience, 16(1-2), 72–83.
作者:超爱猫咪的苏苏
排版:shirly
网友评论