前言
2020年研究生数学建模大赛上月结束,最终的比赛成绩还没有公布,现在是2020年10月,在此总结一下建模大赛的选题与成果。记录过去,展望未来。
我们团队选择C题,题目内容如下:
脑电信号按其产生的方式可分为诱发脑电信号和自发脑电信号。诱发脑电信号是通过某种外界刺激使大脑产生电位变化从而形成的脑电活动;自发脑电信号是指在没有外界特殊刺激下,大脑自发产生的脑电活动。
- P300电信号:是诱发脑电信号的一种,在小概率刺激发生后300毫秒范围左右出现的一个正向波峰,如下图所示。
它不受刺激物理特性影响,与知觉或认知心理活动有关,与注意、记忆、智能等加工过程密切相关。被测者观察字符矩阵(图1-a),并记下左上角的字符,然后按顺序闪烁字符矩阵行列(图1-b)的同时,记录被测者的P300脑电信号。- 睡眠脑电:是自发脑电信号的一种,能够反映身体状态的自身变化,也是用来诊断和治疗相关疾病的重要依据。根据睡眠状态进一步分为清醒期、睡眠I期、睡眠II期、深度睡眠和快速眼动期,脑电信号如图2所示。
P300脑电数据由5位被测者的20次视觉刺激实验的脑电数据组成,每次实验的字符循环闪烁5轮,记录头顶20个位置的脑电信号,脑电信号记录位置如下图所示。
睡眠脑电数据3000各睡眠脑电样本,由状态标签、Alpha、Beta、Theta和Delta波在“8-13Hz”,“14-25Hz”,“4-7Hz”和“0.5-4Hz”频率范围内的能量占比。
本文主要解决以下3个问题:
1、对P300脑电数据去除冗余信息降维。
2、对不同视觉刺激下的脑电波进行分类,判断闪烁的行或列中是否包含目标字符,最终确定目标字符。
3、对睡眠脑电信号进行分类,根据不同波对应频率范围内的能量比,确定睡眠状态。
数据预处理
建立数据字典
P300脑机接口数据包含训练用的12个已知字符的脑电数据,和测试用的8个未知字符的脑电数据。将训练数据和测试数据,以字符为键脑电数据为值,组成字典,如表1所示。
字典 | “Sx_train_data_dict” | “Sx_test_data_dict” | “Sx_train_event_dict” | “Sx_test_event_dict” |
---|---|---|---|---|
键 | 目标字符 | 待测字符 | 目标字符 | 待测字符 |
值 | 字符对应的P300数据表 | 字符对应的P300数据表 | 字符对应的事件标签表 | 字符对应的事件标签表 |
生成数据索引表
计算索引
每个数据表首行首列为字符序号num(见图2-b,从左上到右下依次为1~36),计算目标字符在矩阵上的行列位置row和col。
r o w = n u