EEGLAB 预处理核心步骤(预处理·下)
真正"洗数据"的一课:滤波、坏道、ICA、分段。每一步都先讲"为什么这么做", 再讲"在 EEGLAB 里点哪里"。这一课的参数选择逻辑,审稿人可能会问。
🎯 本节学习目标
- 能说出典型滤波参数(0.1–45Hz + 50Hz 陷波)背后的理由,而不是死记数字
- 掌握坏导联的识别标准与插补的上限原则
- 理解 ICA 的直观原理与数据量要求,能独立完成 ICA 并识别眼电、心电成分
- 会剔除连续坏段,并对事件进行分段与基线校正
- 知道每个步骤的先后顺序为什么不能颠倒
一、流水线全景:顺序很重要
① 高通/低通滤波 (0.1–45 Hz) ② 50 Hz 陷波(工频) ③ 坏导联识别 → 插补 ④ ICA 分解 → 识别并剔除伪迹成分 (EOG/ECG) ⑤ 剔除连续坏段(大幅漂移、持续肌电) ⑥ 按事件分段 + 基线校正 (-200 ~ 0 ms) ⑦ 保存 .set → 模块 3 的输入
为什么是这个顺序?三个关键依赖:
- 滤波在分段之前:滤波器在数据边缘会产生振铃伪迹,连续数据在两端只有一次边缘,分段后每段都有两次;
- ICA 在分段之前(尽量):ICA 需要长而连续的数据学习统计结构,切碎的短段效果差;
- 坏道在 ICA 之前:一个坏通道会污染整个 ICA 分解。
二、滤波:给数据划定"频率户口"
Tools > Filter the data > Basic FIR filter。常用参数与理由:
| 滤波 | 典型参数 | 为什么 |
|---|---|---|
| 高通 | 0.1 Hz | 去掉汗腺电位、呼吸等慢漂移;不建议 0.01 Hz 以下——慢漂移会进入分段基线,把 ERP 早期成分顶歪 |
| 低通 | 45 Hz | 保留绝大多数 ERP 成分(P300 等主要能量在 30Hz 以下),挡掉大部分肌电;做 gamma 研究则放宽到 70Hz+ |
| 陷波 | 50 Hz | 中国市电工频干扰;先用陷波再低通更干净 |
高通 1Hz、低通 30Hz 会让数据看起来很干净,但会显著削弱慢 ERP 成分(如 CNV、P300 晚期部分)和 gamma 频段。滤波参数要在方法部分如实报告,并给出文献依据。
三、坏导联识别与插补
识别标准(满足其一即可疑):
- 与其他通道的相关持续偏低(< 0.3);
- 方差异常大(毛刺型)或异常小(平线型);
- 滚动图目测明显异常。
操作:Edit > Select data 勾掉坏通道,或用 Tools > Interpolate electrodes 用球面样条插值补上。插补不是恢复数据,是用周围通道"猜",所以插补通道数控制在总数的 5–10% 以内。
四、ICA 去伪迹(本课重头戏)
鸡尾酒会问题:房间里很多人同时说话,几个麦克风录到的是混合信号;ICA 能根据统计独立性把每个"说话者"分离出来。 在脑电里,"说话者"就是眼电、心电、肌电和不同脑区活动——ICA 把 64 个通道的混合信号分解成 64 个独立成分, 你可以只删除眼电成分,再把剩下的重新混合回"干净的脑电"。
数据量要求:好的分解大约需要 k × 通道数² 个数据点(k≈20–30)。64 通道约需要 8–12 万个点——500Hz 采样下约为 3–4 分钟以上的连续数据。数据太短是新手 ICA "分不开"的首要原因。
操作:Tools > Decompose data by ICA,默认 runica(extended infomax)即可,等待几分钟到几十分钟。
识别伪迹成分:Tools > Inspect/label components by map 看每个成分的地形图与时间过程:
| 成分类型 | 地形图特征 | 时间过程特征 |
|---|---|---|
| 眨眼 | 权重集中在前额(Fp1/Fp2/Fpz),左右对称 | 孤立的宽大方波,间隔不规律 |
| 水平眼动 | 左右额极一正一负的偶极分布 | 阶梯状跳变 |
| 心电 | 权重偏一侧颞部/乳突 | 规律尖峰(QRS 波形状),约 1 次/秒 |
| 肌电 | 权重靠外侧、分布零碎 | 持续高频细密毛刺 |
剔除:Tools > Remove components,输入要删的成分编号。删除前勾选预览,确认波形确实变干净、且脑电成分没被误伤。
只删你有把握的成分。删 3–5 个明确的眼电/心电成分是常态;删十几个"看起来有点怪"的成分,很可能把真实脑信号也删掉了。判断依据以地形图+时间过程为主,功率谱为辅。
五、剔除连续坏段
ICA 之后仍可能有电极移动、打喷嚏等造成的坏段:Tools > Reject data stretches > Reject by eye,手动拖选高亮删除。原则:删段不删通道;总量控制在 20–25% 以内。
六、分段与基线校正
Tools > Extract epochs。设定:
- 时间窗:常用 −200ms 到 800ms(或 1000ms)。前基线别太短;窗尾覆盖你最晚的成分;
- 事件类型:选择感兴趣的标记(如刺激 onset);
- 基线校正:勾选 −200 到 0ms。原理:把每个试次基线期的均值减掉,让所有试次从"同一起跑线"出发,消除残留慢漂移。
基线有伪迹 = 把伪迹"复制"到整段的每一个时间点上。分段后可以再做一次试次级剔除(Tools > Reject data epochs,按 ±100μV 阈值),把眨眼漏网之鱼的试次删掉。
七、保存
File > Save current dataset,命名建议带处理状态,例如 sub01_preprocessed.set。这一份文件就是模块 3(ERP 分析)的直接输入。
📌 本节小结
- 顺序铁律:滤波 → 坏道 → ICA → 坏段 → 分段;顺序错了每一步的假设都被破坏
- 滤波参数要讲得出理由:0.1Hz 防 ERP 基线漂移、45Hz 挡肌电、50Hz 陷波去工频
- ICA 是"分离再重组":识别看地形图+时间过程,只删有把握的伪迹成分
- ICA 数据量经验公式:约 20–30 × 通道数² 个采样点
- 基线校正消除试次间慢漂移差异;基线期必须干净
✏️ 课后练习
- 对 lesson22.set 完成整条流水线,保存 lesson23_preprocessed.set,记录:删除的坏通道数、ICA 删除的成分编号及判断依据、删除的坏段时长、剩余试次数。
- 分别用 0.1Hz 和 1Hz 高通各处理一份相同数据,滚动图对比差异;再用 2.3 的数据画 ERP(Plot > channel ERPs),观察 1Hz 高通对波形的伤害。
- 尝试只用一半长度(截断 50%)的数据跑 ICA,对比成分地形图是否变模糊——直观感受数据量的影响。