【GSR】皮肤电反应 数据分析全流程教程
目录
- 皮肤电反应(GSR)数据分析全流程教程
- 一、实验背景与研究目标
- 二、数据预处理:批量提取与整合
- 🧩 任务概述
- 🛠️ 处理思路
- ✅ 输出结果
- 三、数据质量检查与可视化
- 🔍 检查目的
- 📊 可视化检查方法
- 四、GSR 信号分解与特征提取
- ⚙️ 信号分解
- 🧮 基线校准
- 🚫 异常值剔除
- 📈 特征提取
- 五、数据时长统计
- ⏱️ 统计目标
- 💡 计算方法
- 六、SCL 指标趋势可视化
- 📉 目标
- 🧭 可视化设计
- 🔄 数据变换
- 🎨 绘图
- 七、统计建模:混合线性模型分析
- 📘 模型目标
- 🧠 模型结构
- 🧩 模型实现
- 📈 模型结果
- 八、总结与启示
- 💬 结语
皮肤电反应(GSR)数据分析全流程教程
——从数据预处理到混合线性模型的系统实践
本文系统介绍了一个基于皮肤电反应(GSR, Galvanic Skin Response)信号的实验数据分析流程,旨在为相关领域研究者提供一个完整且可复现的分析框架。研究内容涵盖从原始数据的批量提取与预处理、信号分解与特征提取,到统计建模与组间差异分析的全过程。通过层层递进的分析逻辑,本文不仅展示了如何在复杂实验设计下处理多层嵌套与重复测量数据,也为后续在情绪、压力及任务负荷等心理生理研究方向的拓展提供了参考与方法学支持。
一、实验背景与研究目标
在飞行任务模拟实验中,本研究旨在探讨不同实验条件对飞行员生理状态的影响。皮肤电反应(GSR, Galvanic Skin Response)作为一种反映交感神经系统活动的生理指标,能够敏感地反映个体的情绪唤醒水平、心理压力以及专注度变化,因此被广泛应用于人因工程、心理生理学及认知负荷研究领域。
本研究的核心目标在于,通过对实验组与对照组在相同任务条件下的 GSR 信号进行比较分析,揭示不同实验操控因素对飞行员生理反应的影响特征。同时,结合多阶段的任务设计,进一步考察皮肤电指标在不同飞行天数及任务阶段中的动态变化模式。最终,利用混合线性模型(Linear Mixed Model, LMM)对实验组别、任务阶段与飞行天数的交互作用进行统计建模与验证,以深入理解任务状态与生理反应之间的内在关系,为飞行员生理监测与任务设计优化提供科学依据。
二、数据预处理:批量提取与整合
🧩 任务概述
数据预处理是整个信号分析流程的基础步骤,其主要任务是对所有被试的原始 GSR 数据进行批量读取、分段、整合与清洗。实验共包含两个组别,分别为 A 组(Control,对照组)与 B 组(Alcohol,实验组)。每位被试在多个飞行天数(FlightDay)内完成任务,而每个任务又划分为若干实验阶段,如 Baseline、Takeoff、Turn、Cruise、Landing 等。
🛠️ 处理思路
为实现高效且标准化的数据管理,编写自动化脚本对原始数据进行系统化处理。脚本首先遍历两个组别文件夹,自动读取其中所有被试的 CSV 原始文件,并同时提取生理信号(GSR)及其对应的事件标记信息。随后,依据事件名称将信号数据按实验阶段进行分段提取,确保每个阶段的信号范围准确对应任务执行时间。在此基础上,为每条记录添加必要的标签信息,包括组别(Group)、被试编号(Subject)、飞行天数(FlightDay)及实验阶段(Stage),以实现数据的可追溯性和分层管理。接着,对整合后的数据进行清洗,去除缺失值、异常记录及不合逻辑的时间段,确保数据的一致性与完整性。最终,将所有阶段的数据合并为统一格式的表格,并输出为 Excel 文件(如 GSR_merged.xlsx),为后续的统计建模与可视化分析提供标准化输入。
✅ 输出结果
经过上述预处理流程,最终得到一个整合后的标准化数据表格。该表格以“样本”为行单位,每一行代表一个具体的时间点信号记录;以变量为列单位,每列包含关键信息字段,包括 Subject(被试编号)、Group(组别)、FlightDay(飞行天数)、Stage(实验阶段)、GSR(皮肤电信号值)以及 Timestamp(时间戳)。该格式的数据结构既便于跨阶段、跨组别的统计比较,也为混合线性模型等后续分析提供了结构化的数据基础。
三、数据质量检查与可视化
🔍 检查目的
在进行皮肤电信号(GSR)的分析之前,首先需要对上步得到的数据进行质量检查,以确保后续分析的可靠性与有效性。质量检查的主要目标包括确认数据的完整性、观察信号波形是否存在明显漂移或噪声干扰,以及验证各实验阶段的分段是否准确。通过对这些方面的系统检查,可以在分析前发现潜在问题并及时进行修正,从而避免因数据质量问题导致的误判或统计偏差。
📊 可视化检查方法
为评估数据质量,采用可视化方式对信号进行检查。首先读取整合后的实验数据,并设定采样参数(例如 4 Hz)以保证时序一致性。随后,根据被试编号、飞行天数及实验阶段绘制 GSR 随时间变化的曲线,以展示信号的整体波动与稳定性。同时计算各阶段信号的长度,并输出各被试的各阶段数据长度,用于量化数据完整性。通过对曲线形态的直观观察,可以有效识别异常段落,例如信号采样中断、波形漂移或过度平滑等问题,从而为数据清洗与后续建模提供可靠依据。
四、GSR 信号分解与特征提取
⚙️ 信号分解
皮肤电信号(GSR)主要由两种成分构成,即皮肤电导水平(SCL, Skin Conductance Level)和平稳成分,以及皮肤电导反应(SCR, Skin Conductance Response)这一瞬时成分。SCL 反映个体的基础交感神经活性,而 SCR 对外部刺激变化高度敏感,体现瞬时的情绪或生理反应。为获得这两类信息,程序通过滤波与信号分解算法将原始 GSR 信号拆分为平稳的 SCL 与瞬态的 SCR 两个部分,从而实现对皮肤电信号的精细化分析。
🧮 基线校准
在信号处理过程中,为消除个体差异和设备漂移的影响,每个实验阶段开始前约 1 秒的数据被选取作为个体基线值,用于信号幅度的校正。通过基线校准,可以使得各被试在不同阶段的信号水平具有可比性,从而提高后续统计分析的准确性与一致性。该步骤确保了实验结果主要反映阶段性变化而非个体差异。
🚫 异常值剔除
为提高数据的稳定性与可靠性,采用 ±3SD 原则对校正后的信号进行异常值检测与剔除。通过计算每个阶段数据的均值与标准差,自动识别并移除超出正常波动范围的极端值。同时,生成异常值统计表以记录剔除比例与分布情况,确保数据清洗过程的透明性与可追溯性。
📈 特征提取
在特征提取阶段,对 SCR 成分执行自适应峰值检测算法,以提取皮肤电信号的关键动态特征,包括峰值振幅(Amplitude)、上升时间(Rise Time)以及半恢复时间(Half Recovery Time)。这些指标通常用于评估被试的情绪唤醒程度和心理反应强度。然而,在本实验中,由于设备采样率较低,SCR 信号中有效峰的检测数量不足,无法进行可靠的统计分析。因此,后续分析主要基于 SCL 成分进行,以确保结果的稳健性与可解释性。
五、数据时长统计
⏱️ 统计目标
为了验证实验数据完整性,需要统计各阶段信号时长。
💡 计算方法
在时长统计的过程中,首先读取整合后的实验数据,并对阶段名称进行统一与规范化处理,以保证不同记录来源之间的命名一致性。随后,根据实验的采样率(4 Hz)将信号样本数量换算为实际时长。接着,分别计算每位被试在各阶段及各飞行天数下的平均时长和标准差,从而刻画个体与总体层面的时间分布特征。最后,对整体与个体的时长分布进行汇总与可视化,以直观展示不同阶段的任务持续时间情况。通过该过程,可以判断实验执行的稳定性与数据的完整程度,为后续分析奠定坚实的数据基础。
六、SCL 指标趋势可视化
📉 目标
本部分旨在通过可视化手段直观展示不同组别与实验阶段间的差异特征,为后续的统计建模提供依据与方向。通过观察数据的趋势变化,可以更好地理解组别(Control 与 Alcohol)在不同飞行天数与阶段下的生理反应模式
🧭 可视化设计
可视化分析分为两部分进行。首先绘制整体趋势图,以组别、被试及飞行天数为层级,计算各条件下 SCL 的均值与中位数,用以展示随时间推移的整体变化趋势。其次绘制分阶段趋势图,在每个实验阶段(如 Takeoff、Cruise、Landing 等)中分别重复相同的计算过程,从而更细致地考察各阶段的组间差异。通过这种分层可视化方式,可以在宏观与微观层面同时揭示数据变化的规律。
🔄 数据变换
为改善数据的正态性并提高不同被试之间的可比性,在绘图前对数据进行了多种变换处理。具体而言,分别对原始 SCL 数据进行了对数变换、Yeo-Johnson 幂变换以及标准化(z-score)处理。通过比较不同变换方式下的分布形态与趋势变化,可以更全面地评估数据的稳定性与可解释性,为后续建模选择合适的数据形式提供依据。
🎨 绘图
在数据变换完成后,绘制折线图以展示不同组别(Control 与 Alcohol)在飞行天数及实验阶段上的 SCL 变化趋势。结果显示,在整体趋势图中,两组的 SCL 变化轨迹较为接近,差异并不显著。然而,在分阶段趋势图中,部分阶段(尤其是 Landing 阶段)表现出较为明显的组间差异,提示特定任务阶段可能对被试的生理反应具有更显著的影响。这一发现为后续混合线性模型中进一步检验组别与阶段交互效应提供了重要的依据。
七、统计建模:混合线性模型分析
📘 模型目标
在本研究中,实验设计具有多层嵌套与重复测量结构。每位被试(Subject)在多个飞行天数(FlightDay)中完成多个实验阶段(Stage),并且被分配至不同的实验组(Group)。这种设计导致同一被试的多次测量数据之间存在相关性(within-subject correlation),而传统的方差分析(ANOVA)或普通线性回归模型假设样本独立且方差齐性,显然不再适用于此类数据结构。混合线性模型(Linear Mixed Model, LMM)正是针对这种层级化、相关性数据而设计的一种统计分析方法。因此,本研究采用混合效应模型分析任务阶段与组别对皮肤电导水平(SCL)的影响,同时将受试者间的个体差异作为随机效应加以控制。
🧠 模型结构
模型的固定效应(Fixed Effects)包括组别(Group)、阶段(Stage)及飞行天数(FlightDay)的主效应及其交互作用,用以考察这些实验因素对 SCL 的系统性影响。随机效应(Random Effects)部分设置为受试者(Subject),用于反映个体间的差异性和重复测量带来的依赖结构。这样的设计既能够控制个体差异对总体结果的干扰,又能在模型中准确刻画组别与任务阶段等固定因素的效应。
🧩 模型实现
在模型实施过程中,首先对不同实验阶段与飞行天数下的 SCL 数据计算均值和中位数,以便对整体趋势进行初步描述。随后,分别对原始数据、标准化数据以及经过 Yeo-Johnson 变换后的数据进行建模分析。混合线性模型拟合完成后,提取各模型的参数估计值、置信区间及显著性检验结果,以评估固定效应因素的统计意义。最后,将显著性结果进行整理与汇总,并输出为 Excel 文件以便进一步分析和报告。
📈 模型结果
结果表明,三种数据处理方式在模型拟合效果上存在显著差异。其中,经过 Yeo-Johnson 变换后的数据在正态性检验中表现最佳,显著改善了原始数据的偏态分布问题,使混合线性模型的残差分布更加符合正态假设。因此,本研究最终采用基于 Yeo-Johnson 变换数据的混合线性模型结果进行统计解释与可视化展示。需要注意的是,具体研究应根据数据特征与分布情况灵活选择最合适的变换方式和模型设定。
八、总结与启示
本次分析流程完整覆盖了从原始信号到统计建模的全过程。
关键经验如下:
| 阶段 | 核心要点 | 注意事项 |
|---|---|---|
| 数据提取 | 自动批处理与事件配对 | 确保阶段标记准确 |
| 质量检查 | 波形趋势与时长一致性 | 及时发现采集异常 |
| 信号分解 | SCL/SCR 分离与基线校准 | 注意采样率对 SCR 的影响 |
| 可视化 | 分阶段趋势分析 | 直观识别差异模式 |
| 模型分析 | 混合效应模型 | 采用适当的数据变换提高模型稳健性 |
该流程适用于飞行模拟、驾驶任务或其他连续生理监测实验,具有较强的可推广性。
💬 结语
通过系统化的预处理、信号分解与统计建模,我们不仅验证了实验设计的合理性,也揭示了生理指标在不同任务阶段下的动态变化规律。希望本教程能为后续从事心理生理信号分析的研究者提供实用的参考框架。
