Python协方差矩阵处理脑电数据

更多技术干货第一时间送达

Hello,大家好!

Rose小哥今天主要介绍一下MNE中如何用协方差矩阵来处理脑电数据的。

MNE中的许多方法,包括源估计和一些分类算法,都需要根据记录进行协方差估计。

在本教程中,我们将介绍传感器协方差计算的基础知识,并构建一个噪声协方差矩阵,该矩阵可用于计算最小范数逆解.

诸如MNE的源估计方法需要从记录中进行噪声估计。

在本教程中,我们介绍了噪声协方差的基础知识,并构造了一个噪声协方差矩阵,该矩阵可在计算逆解时使用。

下面我们将结合代码来进行分析。

# 导入工具库import os.path as op
import mnefrom mne.datasets import sampleimport matplotlib.pyplot as plt

读取数据

# 构建数据地址data_path = sample.data_path()raw_empty_room_fname = op.join( data_path, 'MEG', 'sample', 'ernoise_raw.fif')raw_empty_room = mne.io.read_raw_fif(raw_empty_room_fname)raw_fname = op.join(data_path, 'MEG', 'sample', 'sample_audvis_raw.fif')# 读取原始数据raw = mne.io.read_raw_fif(raw_fname)#设置平均参考raw.set_eeg_reference('average', projection=True)#增加一个不良通道raw.info['bads'] += ['EEG 053'] # bads + 1 more

噪声的定义取决于范式。在MEG中,通常使用空房间测量来估计传感器噪声。但是,如果要处理诱发的反应,可能还需要考虑将静息状态的大脑活动视为噪音。首先,我们使用空房间记录来计算噪声。请注意,您还可以仅将录制的一部分与tmin和tmax参数一起使用。如果您将静息状态用作噪声基线,这这将非常有用。在这里,我们使用整个空房间记录来计算噪声协方差。

请记住,在操作时要在处理方面将空房间数据集与实际的MEG数据进行匹配。确保过滤器都相同,并且如果使用ICA,则将其等效地应用于空房间和主题数据。在这种情况下,我们没有过滤数据,也没有使用ICA。但是,我们在MEG数据中确实存在错误的通道和投影,因此,我们要确保将它们存储在协方差对象中。

raw_empty_room.info['bads'] = [ bb for bb in raw.info['bads'] if 'EEG' not in bb]raw_empty_room.add_proj( [pp.copy() for pp in raw.info['projs'] if 'EEG' not in pp['desc']])# 进行协方差均在计算noise_cov = mne.compute_raw_covariance( raw_empty_room, tmin=0, tmax=None)

3 projection items deactivated
Using up to 550 segments
Number of samples used : 66000
[done]

现在,已经在MNE-Python对象中有了协方差矩阵,可以使用mne.write_cov()将其保存到文件中。

稍后,可以使用mne.read_cov()将其读回。

还可以使用刺激前的基线来估计噪声协方差。

首先,我们必须构建epoch。

计算协方差时,应该在构建epochs时使用基线校正。否则协方差矩阵将不准确。

在MNE中,默认情况下会完成此操作,但为了确定,我们在此处手动定义它。

# 在原始数据中找到eventsevents = mne.find_events(raw)# 构建epochepochs = mne.Epochs(raw, events, event_id=1, tmin=-0.2, tmax=0.5, baseline=(-0.2, 0.0), decim=3, # we'll decimate for speed verbose='error') # and ignore the warning about aliasing

320 events found
Event IDs: [ 1 2 3 4 5 32]

"""对epochs数据进行协方差估计"""noise_cov_baseline = mne.compute_covariance(epochs, tmax=0)

绘制协方差矩阵

尝试将proj设置为False以查看效果。
请注意,epochs中的投影机已经应用,因此proj参数无效。

noise_cov.plot(raw_empty_room.info, proj=True)
plt.show()
noise_cov_baseline.plot(epochs.info, proj=True)plt.show()

应该如何规范协方差矩阵?

估计的协方差可能在数值上不稳定,并且倾向于在估计的源振幅和可用样本数之间引起相关性。

因此,MNE手册建议对噪声协方差矩阵进行正则化(请参阅对噪声协方差矩阵进行正则化),尤其是在只有少量样本可用的情况下。

然而,要说出样本的有效数量并不容易,因此要选择适当的正则化。

在MNE-Python中,使用[1]中所述的高级正则化方法来完成正则化。为此,可以使用'auto'选项。使用此选项,交叉验证将用于学习最佳正则化:

noise_cov_reg = mne.compute_covariance(epochs, tmax=0., method='auto', rank=None)

此过程使用看不见的数据的负对数似然来量化噪声协方差,从而量化噪声协方差。最终结果也可以用肉眼检查。在假设基线不包含系统信号(对感兴趣的事件进行时间锁定)的情况下,白化基线信号应遵循多元高斯分布,即,在给定的条件下,白化基线信号应在-1.96和1.96之间 时间样本。基于相同的推理,全局场功率(GFP)的期望值为1(计算GFP时应考虑真实的自由度,如ddof=3,其中有2个活动的SSP向量):

evoked = epochs.average()evoked.plot_white(noise_cov_reg, time_unit='s')plt.show()

该图同时显示了每个通道的白化诱发信号和白化的GFP。GFP面板中的数字代表数据的估计等级,相当于计算白色GFP时跨传感器的平方和除以的有效自由度。变白的GFP还有助于检测虚假的晚期诱发成分,这可能是由于过度或欠正则化所致。

请注意,如果使用信号空间分离(SSS) 2处理数据,则会同时显示梯度仪和磁力仪,因为两者都是由相同的SSS基向量以相同的数值秩重建的。这也意味着这两种传感器类型不再是统计上独立的。这些评估方法可用于评估模型违规。

对于专家用例或调试,还可以将替代估计量进行比较,并演示白化对源估计的影响:

noise_covs = mne.compute_covariance( epochs, tmax=0., method=('empirical', 'shrunk'), return_estimators=True, rank=None)evoked.plot_white(noise_covs, time_unit='s')plt.show()

这将绘制出为最佳估计量而诱发的白化并在相关面板中将所有估计器的GFP显示为单独的行。

最后,让我们看一下空房间和与事件相关的协方差之间的区别,使用"method"选项,使它们的类型显示在图例中。

evoked_meg = evoked.copy().pick('meg')noise_cov['method'] = 'empty_room'noise_cov_baseline['method'] = 'baseline'evoked_meg.plot_white([noise_cov_baseline, noise_cov], time_unit='s')plt.show()

基于对数可能性的负值,基线协方差似乎更合适。

参考

1.Engemann D. and Gramfort A. (2015) Automated model selection in covariance estimation and spatial whitening of MEG and EEG signals, vol. 108, 328-342, NeuroImage.

2.Taulu, S., Simola, J., Kajola, M., 2005. Applications of the signal space separation method. IEEE Trans. Signal Proc. 53, 3359-3372.

更多阅读

利用脑记录产生的合成语音

推荐10本EEG领域值得阅读的书籍

值得收藏!常见脑成像数据分析的Python工具包

干货!机器学习经典书PRML最全学习资料汇总及Python实现

小脑的功能解剖

眼动追踪与VR

值得收藏!脑机接口概述专题一 | 从运动脑机接口到情绪脑机接口:马斯克脑机接口公司Neuralink背后的原理

值得收藏!脑机接口概述专题二 | 从运动脑机接口到情绪脑机接口:运动脑机接口

值得收藏!脑机接口概述专题三 | 从运动脑机接口到情绪脑机接口:情绪脑机接口

DEAP数据集--一个重要的情绪脑电研究数据集(更新)

EEG数据、伪影的查看与清洗

脑电数据收集,处理和分析的基础

什么是EEG以及如何解释EEG?

EEG vs MRI vs fMRI vs fNIRS简介

大脑区域与功能对应

北京脑中心罗敏敏教授:解析奖赏神经环路 | 视频课程

Python-Evoked地形图可视化

Python-可视化Evoked数据

关于事件相关电位SSVEP应用于视频游戏的研究

关于事件相关电位P300应用于视频游戏的研究

Python-生成模拟原始脑电数据

头皮脑电图源空间的计算建模为癫痫的术前评估提供依据

测试干式EEG传感器的有效性--使用游戏

Python-使用多种滤波器对脑电数据去除伪影

长文阅读 | 人机融合智能:人工智能3.0

脑机接口基础之神经科学(更新)

BCI比赛数据集简介-BCI competition IV 2b

EEG信号特征提取算法

EEMD算法原理与实现

EMD算法原理与实现
EEGNet: 神经网络应用于脑电信号

信号处理之倒频谱原理与python实现

信号处理之功率谱原理与python实现

脑电信号滤波-代码实现

应用深度学习EEGNet来处理脑电信号

(0)

相关推荐

  • 【从零学习OpenCV 4】图像中添加高斯噪声

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • 【职业病】职业性噪声聋的病因

    什么是职业性噪声聋 噪声广泛存在于人们的生产.生活和工作中,其中因生产和工作过程所产生的噪声被专称为"职业性噪声"(occupational noise).职业性噪声聋(occup ...

  • 脑电分析系列[MNE-Python-21]| Python协方差矩阵处理脑电数据

    今天主要介绍一下MNE中如何用协方差矩阵来处理脑电数据的. MNE中的许多方法,包括源估计和一些分类算法,都需要根据记录进行协方差估计. 在本教程中,我们将介绍传感器协方差计算的基础知识,并构建一个噪 ...

  • MNE中文教程(16)-脑电数据的Epoching处理

    更多技术干货第一时间送达 Epoch概念简介 从连续的脑电图信号中提取一些特定时间窗口的信号,这些时间窗口可以称作为epochs.由于EEG是连续收集的,要分析脑电事件相关的电位时,需要将信号&quo ...

  • DEAP数据库介绍--来自于音乐视频材料诱发得到的脑电数据

    更多技术干货第一时间送达 DEAP数据库简介 DEAP[1](Database for Emotion Analysis usingPhysiological Signals),该数据库是由来自英国伦 ...

  • Python-使用多种滤波器对脑电数据去除伪影

    更多技术干货第一时间送达 一些由电源线造成的伪影具有某些特定范围的频率(比如,由电网产生的电力线噪声,主要由50Hz(或60Hz取决于实验的地理位置)的尖峰组成).因此可以通过滤波来固定. 本文分别使 ...

  • Python-生成模拟原始脑电数据

    更多技术干货第一时间送达 在实验中有时需要原始脑电数据来进行模拟实验,但又限于实验条件的不足,需要构造模拟的原始脑电数据. 本示例通过多次重复所需的源激活来生成原始数据. 案例介绍 # 导入工具包im ...

  • 脑电数据收集,处理和分析的基础

    更多技术干货第一时间送达 在进行EEG数据分析时,需要进行各种预处理来筛选.清洗得到较好的EEG数据,所有这些预处理步骤都需要就数据的预期影响做出明智的决定. 关于EEG方面的介绍可以查看:<什 ...

  • 利用LSTM(长短期记忆网络)来处理脑电数据

    更多技术干货第一时间送达 Hello,大家好! Rose小哥今天介绍一下用LSTM来处理脑电数据. LSTMs(Long Short Term Memory networks,长短期记忆网络)简称LS ...

  • 计算机视觉与脑电数据等应用于驾驶员的疲劳状态检测综述

    更多技术干货第一时间送达 大家好! 今天Rose小哥分享一篇伍冬睿教授的关于驾驶员疲劳状态检测综述,主要包括非接触式例如计算机视觉以及接触式包括脑电等在驾驶员的疲劳状态检测! 伍老师在机器学习.脑机接 ...

  • letswave7中文教程1:软件安装与脑电数据导入

    更多技术干货第一时间送达 Letswave是一款非常好用的神经生理信号处理分析工具,支持从主流的脑电图放大器中导入数据,为数据预处理和时频域信号分析提供多种功能.而且用户友好的界面使文件管理.批处理操 ...