数据准备
下载EEG During Mental Arithmetic Tasks数据集:
wget https://physionet.org/content/eegmat/1.0.0/
从36个受试者中选取同年、同龄、同性别、成绩分布均匀的2个G组和2个B组:
Subject | Age | Gender | Recording year | Number of subtractions | Count quality |
---|---|---|---|---|---|
Subject10 | 17 | F | 2010 | 1 | 0 |
Subject14 | 17 | F | 2010 | 9 | 0 |
Subject18 | 17 | F | 2010 | 20 | 1 |
Subject03 | 17 | F | 2010 | 31 | 1 |
预处理
所得数据为edf
格式,MATLAB须安装edfRead
函数包才可处理。
每个数据皆包含全部脑区,提取第一主成分中间1000个采样进行后续分析。
for i=1:8
[y, x] = edfread(edfs(i,:));
[COEFF,latent,explained] = pcacov(corrcoef(x'));
zscore(COEFF(1,:)*x);
TS(i,:)=ans(fix(length(ans)/2)-500:fix(length(ans)/2)+500);
end
AR建模
采用穷举+BIC确定所有AR模型阶数:
for i=1:8
subdata=(TS(i,:))';
parfor j=1:100
sys=armax(subdata, [j 0]);
AICvalue(j)=aic(sys,'BIC');
end
[~, p(i)]=min(AICvalue);
sys=armax(subdata, [p(i) 0]);
[pxx,f] = pmcov(subdata,p(i));
h=figure; hold on; plot(f,pxx);
saveas(h,[edfs(i,:),'-arp.png'],'png');
h=figure; hold on;compare(subdata,sys);
saveas(h,[edfs(i,:),'-cmp.png'],'png');
end
阶数计算结果如下:
data | p |
---|---|
Subject10_01 | 12 |
Subject10_02 | 26 |
Subject14_01 | 10 |
Subject14_02 | 14 |
Subject18_01 | 11 |
Subject18_02 | 36 |
Subject03_01 | 17 |
Subject03_02 | 18 |
绘制AR谱,并进行可视化检查拟合优度:
B1
B2
G1
G2
讨论
AR建模结果似乎是及其糟糕的,不能反映原信号任何特征。AR谱也不能表现出不同组别学生的特征。
AR本身模型重在预测而非模式识别,不适合处理此类脑电信号。
我院学科中心广泛采用ML、DL方法处理此类数据。此外,须配合其他课堂数据,使用多模态的方法,才能建立可靠的模型。
脑电信号的复杂性亦佐证了本院建立神经教育学大数据平台的必要性。