PCA | EP toolkit简易使用指南

img
IMG
Hello,
这里是行上行下,我是喵君姐姐~

在与审稿人斗智斗勇的过程当中,我们会遇到各种各样的问题。

例如,熟悉反馈相关负波(feedback-related negativity,FRN)的小伙伴可能知道:在脑电数据分析的过程当中,存在FRN与P300时间窗相互重叠的问题。
在这里插入图片描述
可能,有的审稿人会抓住不放,让你做主成分分析(Principal Components Analysis,PCA),这是一种基于数据统计特征的线性分解方法,用不相关的主成分更简洁的表征数据特征。
在这里插入图片描述
那么我们究竟应该如何做PCA呢?

今天,有幸邀请到吴婷婷老师对使用ERP PCA toolkit工具包进行脑电数据PCA的讲解。

1 ERP PCA toolkit简介

ERP PCA toolkit是Matlab下的一个toolbox,主要用于实现ERP数据的PCA分析。该toolbox由Center for Advanced Study of Language,University ofMaryland的Joseph Dien开发的。

该同志年逾不惑,将毕生精力用于ERP数据的PCA分析[1]。该toolbox是他集成了自己所有相关算法编成的一个傻瓜软件,意在让不明白PCA原理的人也能在半个小时内完成PCA并输出最后结果[2]

该toolbox包含了预处理(去眼电、眼跳、动作电位、漂移、坏电极等)、平均、后处理(转参考)、呈现波形与地形图、PCA、峰值/平均波幅输出、robust ANOVA等几个主要功能模块。理论上可以完成ERP数据的所有分析步骤。而且,各个处理步骤充分地考虑的计算的robust,可以尽量得到最稳定、最可靠的结果。

但是,该软件是基于EGI的数据(盐水帽)在Mac电脑上开发的,对其他类型的EEG数据支持并不好。所以,目前对于我们Neuroscan用户,其中的预处理、平均等功能都无法使用,PCA的过程中也存在很多陷阱。

因此,吴婷婷老师结合Joseph Dien同志编写的95页tutorial和她的使用经验写了这份针对XP系统Neuroscan用户的简明指南,希望能对大家有所帮助。

以下内容稍多,但是满满的干货,还请耐心阅读哟。

2 安装方法

首先,你必须在电脑上安装Matlab。Dien同志建议,在XP 系统上,Matlab最好安装7.3以上的版本。 我用的是R2009a,基本没有什么问题。

作者建议内存最好2GB或更高, 这个据我理解是预处理时对内存需要较高,而scan用户能用到的PCA功能并不要求太高配置。我的电脑是2GB内存,所有数据总共57M左右,大概在20分钟内能全部处理完。其他低内存用户可以自行挑战一下运行速度。

然后,去下载3个toolbox:

EEGLAB: http://sccn.ucsd.edu/eeglab/index.html

EP toolkit:http://sourceforge.net/projects/erppcatoolkit/

FieldTrip:http://www.ru.nl/fcdonders/fieldtrip/

后面两个都选择最新版本的下载,但EEGLAB不要选择过高版本,否则里面ICA有关的某个函数调用时会报错。作者建议使用eeglab8_0_3_3b,而我用eeglab9_0_3_4b也行,但eeglab10.2.2.4b就不行。下载完毕后将这三个toolbox依次set path,然后save。

注意: EEGLAB中的external文件夹下的fieldtrip-partial包含部分fieldtrip功能,最好将这个文件夹remove后,再add你自己下载的FieldTrip最新版本。

安装完毕后,在Matlab主界面下键入ep并回车,在弹出窗口中点击Agree,即可进入EP Toolkit的界面。

此外,这个配置也可: Win7系统,Matlab 2016a / eeglab13.5.4b / Frildtrip20190627 / EP 最新下载版本。

3 使用步骤

3.1 Neuroscan数据预处理

在这里插入图片描述
EP toolkit只能读取 .avg格式的Neuroscan文件,所以叠加平均之前的所有步骤都要用Neuroscan进行。详细步骤同一般ERP数据处理,在此不再详述。在叠加平均之前,坏电极信息一定要标注清楚。

注意: VEOG、HEOG、和自定义的参考电极(如T8)也要标坏。因为这些电极是不需要进入PCA的。

每个被试间坏电极信息要一致, 即某个电极要么就所有人都标坏,要么都不标。因为EP toolkit本身是可以进行坏电极自动检测的,但这个功能无法对Neuroscan文件进行,而且它还无法正确读取 Neuroscan文件的坏电极信息,故只有在输入前把所有坏电极数据都去掉。

文件名中一定要包括被试编号和条件名。 在进行各条件的叠加平均时,文件命名要规律,如“Sub01-win.avg”, “Sub12-los.avg”等。各个文件间被试编号的字数和位置要完全一样(例如以上两个文件都在4:5个字符),条件名也是如此(例如以上两个文件都在7:9个字符)。

叠加平均结束后,要将.avg文件转换成.txt文件,目的是将坏电极数据去掉。该功能通过File->Save as实现,保存类型选.dat,Method的选择。当然,面对大批量文件我们会选用batch来实现这一功能。

批处理语句示例:

EXPORTAVG_EX2"$path\\DAT2\\Sub$n-21.txt" POINTS F F F F F F F F F F F { ALL }
其中“$path\\DAT2\\Sub$n-21.txt”部分替换成你想要的路径与文件名。

同理,在BP数据当中,也可以使用Analyzer导出每个被试每种条件平均后的数据为.txt文件,进行后期的分析。

3.2 电极坐标文件建立

波形和地形图的呈现需要正确的坐标信息。 EP toolkit里的electrodes 文件夹下有一些电极帽的坐标文件(.ced)。但是,Neuroscan用户最好根据自己的帽子自行制作符合当前数据的坐标文件,在保证坐标正确的前提下去掉眼电、参考与坏电极。

首先,随便打开当前实验的一个.avg文件。点击Edit->Channel Layout->ExportPosition。将当前电极设置存成.asc文件。

然后,在Matlab主界面下键入“pop_chanedit([]);”,就会出现如图2的界面。这是EEGLAB中读取电极坐标的功能。点击“Read locations”,选择刚才制作的那个.asc文件,在弹出窗口中选择“Neuroscan polar .ascfile”。读取成功后利用“Delete Chan”将眼电、参考、坏电极删掉。然后点击“Save (as .ced)”,存放到EP toolkit里的electrodes 文件夹下。
在这里插入图片描述
接着,用Excel打开你刚才生成的文件,并打开EP toolkit里的electrodes 文件夹下的“NeuroscanQuikCap2-67(est).ced”,将你生成的文件整成跟范例文件相同的格式。缺失的信息从pop_chanedit的界面中自行复制粘贴。这样一个适合当前数据的电极坐标文件就做好了。

3.3 设置Ep toolkit的Preference

接下来的步骤都在Eptoolkit中进行。在Matlab界面下键入ep并回车,在弹出窗口中选择“Agree”后进入EP toolkit主界面。
在这里插入图片描述
点击界面左上角的File下的Preference即可进入设置。

首先, 设置File,即输入和输出文件默认类型,可以改成Neuroscan的文件,也可以不动,读文件时再设置。Preprocess,Average和Postprocess都用不着,不用设。View里可以设显示波形图时正极在上或在下。PCA里的默认参数不要动。Window和ANOVA都不用动设置完之后点Save即可。

接下来, 回到主界面,设置工作路径。还是点File,然后Create Work Directory,在你选择的路径下就会生成一个叫EP work的文件夹,是以后中间文件的存放路径。

3.4 读取文件(Read)

点击“Read”进入读文件界面。首次读取数据时,在File Format处选择Neuroscan (.cnt/.eeg/ .avg);File Type选择average;勾上Single Cell Files(这个选项是指每个被试每个条件都分开为单独的文件)。

Single Cell Files下两个选项是读取文件名用的,如上文所述,“4:5 Subject”是指被试编号在每个文件名的第4到第5个字符,“7:9 Cell”是指条件编号在每个文件名的第7到第9个字符。所以,文件命名一定要规律。
在这里插入图片描述
填写好后点Read,在第一个弹出窗口中输入结果文件的文件名,在第二个弹出窗口中选上刚才所有的 .txt文件,在第三个弹出窗口中选择刚才生成的坐标文件,等待一会,data处就会出现红色结果文件。这样,文件就读取好了。

注意: 如果每个文件的电极数不一样的话(某个文件坏电极标多了或少了),会导致读取失败。

如果要取消已读取的文件,双击想取消的红色文件名就可以。 接下来我们先要检查一下文件读取是否正确。这一功能可以通过Edit和View功能实现。

3.5 编辑文件信息

点击Main回到主界面。首先,点击Edit进入编辑界面。Overview中是当前文件的基本信息。

注意: 从.txt文件中读取数据时Sampling Rate(采样率)和Presting Period(基线取刺激前多少毫秒)是按默认值生成的。进行后续处理前必须在此手动把这两个值改成你实际的值。
在这里插入图片描述
Subject下是被试信息,文件名中Subject编号相同的文件会被合并在一起。检查看看被试数和编号对不对。如果要计算总平均的话,先点All,表里软件会自动给每个被试的权重赋为1(weights),然后点Add,表最下面会多出一行,将names改成grand avg之类的就行。
在这里插入图片描述
Cells中是条件信息,文件名中Cells编号相同的文件会被合并在一起。检查看看条件数和编号对不对。如果要做差异波,将减数和被减数的weights分别设为1和-1,然后点Add即可。

Channels里是所有电极信息,不用动。Samples里是采样率等信息,也不用动。Events里是每个文件的信息,依然不用动。QC是质量检查,只有预处理用此软件进行时才有用。Factors和PCA两栏在PCA完成后才可用,分别可以看到各个因子的信息和PCA的参数。

编辑完成后,点Done。最好再回头检查一下编辑的东西是否都被保存下来了。

3.6 查看文件

回到主界面后,点击View即可查看波形与地形图。每次可以至多对比查看4个条件,分4种颜色呈现。

每种颜色第一栏是选择当前读取的数据名(选择none则跳过此颜色),第二栏是Cell名(即条件名),第三栏是被试号(也可以选总平均),如果是做过PCA的文件,可以在第四栏选因子。

Voltage是纵轴上下界。Epoch是时间轴。
在这里插入图片描述
点击Wave可以看波形图。 可以检查一下各个电极位置是否正确,呈现的波形和时间轴是否跟Scan中一样。点击其中单个电极可以放大,其中的图形可以用Matlab编辑并存成图片。关掉波形窗口后可以回到View界面,点击Topos可以看到地形图,之前可以在Epoch里编辑要看的时间窗。
在这里插入图片描述
左上角第一行两个框内是纵轴最大和最小值信息。第一列是当前时间窗峰值出现的时间点与电极点,旁边是该电极的波形。在其中某个地形图上右击,可以选择看2D的放大图或者3D地形图。

下面两个选项(Dipole和Jack-Knife)分别是简单偶极子定位和稳定性检验,但可能会报错。看完后点Done回到View界面。

注意:不点而直接关掉窗口的话View界面还是灰的,不能操作,只能重启ep,如果之前操作没有保存的话,恭喜你,重新做。

3.7 PCA

检查确认读取文件正确后,即可进行PCA。回到主界面后,点PCA进入分析界面。

首先,进行temporal PCA, 参数设置如图。第一次# Factors那一栏先设为0,这样会进入一个图形界面,以寻求最优参数。设好后点一下data栏要分析的文件即可。接着会出现一个叫Scree Window的图形界面,蓝线和绿线的交点处就是Factors的最优参数(向下取证)。
在这里插入图片描述
可以改坐标轴的范围来更好地看清交点值。找到后点Done,回到PCA界面,在# Factors处输入那个最优值,再点data栏要分析的文件。之前可以在Title of PCA处输入想要生成的文件名。
在这里插入图片描述
这样在data栏下就会生成一个temporalPCA的结果文件,然后进入spatial PCA。参数栏设置如下。同样的,# Factors一栏先设为0,再输入Scree Window得到的最优参数。最后得到spatial PCA的结果文件。至此,PCA完成。
在这里插入图片描述

3.8 输出结果

首先, 大家可以通过View栏浏览整个结果。基于波形和地形图选出最符合要求的成分。例如,P300就是顶中部左右对称的一个波幅很大的正波。

注意: 关于如何选成分这一问题没有标准答案,主要凭个人经验。所以最好请有丰富脑电经验的老师或者师兄师姐把关哟~
在这里插入图片描述
选好成分后,回主界面点Window,进入输出结果窗口。对于PCA成分,我们先在Dataset里选上它。

Measure里选提取数值的方法,有平均值,最大峰,最小峰等。Samples里通过选择采样点范围定时间窗。Outcells和inCells里写条件名,可以通过在inCells里写相同的名字来实现合并条件。然后点一下AutoPCA即可。结果可输出到.txt或Excel文档。然后用这些数据统计即可。
在这里插入图片描述

4 唠唠叨叨

文章的最后,做个总结。

本文从ERP PCA toolkit的简介、安装方法、使用步骤三个方面进行了讲解。这里仅仅是做一个简单介绍,在后续的过程当中,还请多多练习。

此外,使用其他方法也可以达到同样的目的,参考文献处附上相关链接,大家自行探索哟。

最后,喵君姐姐也进行了ERP PCA工具包相关资料的整理,包含工具包软件、三种类型的电极点坐标、中英文使用教程、相关参考文献等。关注文章首发微信公众号 行上行下,后台回复关键词“ERP PCA工具包”,即可获得PCA相关的大礼包啦!

参考文献:

[1] Dien, J., & Frishkoff, G. A. (2005). Principal components analysis of event-relatedpotential datasets. In T. Handy (Ed.), Event-Related Potentials: A MethodsHandbook. Cambridge, Mass: MIT Press.
[2] Dien, J. (2010). The ERP PCA Toolkit: An open source program foradvanced statistical analysis of event-related potential data. Journal of Neuroscience Methods, 187(2010) 138–145
[3] PCA 链接:http://www.escience.cn/people/cong/Toolbox.html

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

壹脑云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值