[ PROMPT_NODE_26870 ]
eda
[ SKILL_DOCUMENTATION ]
# 皮肤电活动 (EDA) 分析
## 概述
皮肤电活动 (EDA),也称为皮肤电反应 (GSR) 或皮肤电导 (SC),测量皮肤的电导率,反映交感神经系统的唤醒和汗腺活动。EDA 广泛应用于心理生理学、情感计算和测谎。
## 主要处理工作流
### eda_process()
原始 EDA 信号的自动化处理,返回紧张/相位分解和 SCR 特征。
python
signals, info = nk.eda_process(eda_signal, sampling_rate=100, method='neurokit')
**工作流步骤:**
1. 信号清洗(低通滤波)
2. 紧张-相位分解
3. 皮肤电反应 (SCR) 检测
4. SCR 特征提取(起始点、峰值、振幅、上升/恢复时间)
**返回值:**
- `signals`: 包含以下内容的 DataFrame:
- `EDA_Clean`: 过滤后的信号
- `EDA_Tonic`: 缓慢变化的基线
- `EDA_Phasic`: 快速变化的反应
- `SCR_Onsets`, `SCR_Peaks`, `SCR_Height`: 反应标记
- `SCR_Amplitude`, `SCR_RiseTime`, `SCR_RecoveryTime`: 反应特征
- `info`: 包含处理参数的字典
**方法:**
- `'neurokit'`: cvxEDA 分解 + neurokit 峰值检测
- `'biosppy'`: 中值平滑 + biosppy 方法
## 预处理函数
### eda_clean()
通过低通滤波去除噪声。
python
cleaned_eda = nk.eda_clean(eda_signal, sampling_rate=100, method='neurokit')
**方法:**
- `'neurokit'`: 低通 Butterworth 滤波器(3 Hz 截止频率)
- `'biosppy'`: 低通 Butterworth 滤波器(5 Hz 截止频率)
**自动跳过:**
- 如果采样率 < 7 Hz,则跳过清洗(已是低通)
**原理:**
- EDA 频率内容通常为 0-3 Hz
- 去除高频噪声和运动伪影
- 保留缓慢的 SCR(典型上升时间 1-3 秒)
### eda_phasic()
将 EDA 分解为紧张(缓慢基线)和相位(快速反应)成分。
python
tonic, phasic = nk.eda_phasic(eda_cleaned, sampling_rate=100, method='cvxeda')
**方法:**
**1. cvxEDA (默认,推荐):**
python
tonic, phasic = nk.eda_phasic(eda_cleaned, sampling_rate=100, method='cvxeda')
- 凸优化方法 (Greco et al., 2016)
- 稀疏相位驱动模型
- 生理上最准确
- 计算密集但分解效果优越
**2. 中值平滑:**
python
tonic, phasic = nk.eda_phasic(eda_cleaned, sampling_rate=100, method='smoothmedian')
- 具有可配置 w 的中值滤波器