基于脑电小波分解的呼吸暂停自动检测方法
2022-10-19杨天顺纪思宇王小红王慧泉王金海赵晓赟
王 瑶 杨天顺 纪思宇 王小红 王慧泉 王金海 赵晓赟
1(天津工业大学生命科学学院,天津 300387)2(天津大学精密仪器与光电子工程学院,天津 300072)3(天津工业大学电气与电子工程学院, 天津 300387)4(天津市胸科医院, 天津 300222)5(天津大学胸科医院,天津 300072)6(天津医科大学胸科临床学院,天津 300070)
引言
呼吸暂停是指睡眠过程中呼吸气流间歇性地中止且持续时间≥10 s[1]。 作为一种临床中常见的睡眠呼吸紊乱,呼吸暂停会增加心血管疾病、阿尔兹海默症等多种疾病的患病风险[2-3]。 目前多导睡眠监测是呼吸暂停诊断的标准方法[4-5]。 在多导睡眠监测中,需要记录脑电、心电、呼吸气流以及血氧饱和度等多种生理参数,并需要综合分析这些监测参数来判定呼吸暂停的发生[6-7]。 此外,多导睡眠监测参数众多、操作复杂,需要专业医师在睡眠实验室中进行,难以实现自动监测和家用普及。 因此,研究者们尝试减少生理信号的采集种类,采用基于人工智能的方法降低检测难度,实现呼吸暂停的自动检测,为便携式呼吸暂停检测装置的设计提供理论及技术支撑[8-10]。
在与呼吸相关的生理信号中,脑电信号因其用于睡眠监测时受到内源性疾病的干扰相对较小,倍受研究者关注。 从时域角度,Bhattacharjee 等[11]提出了一种基于多频带子帧的特征提取算法,采用k-近邻(k-nearest neighbor,KNN)算法取得了89.30%的呼吸暂停识别准确率;从频域角度,Shahnaz 等[12]以delta 波段的功率占整个信号功率的比值为特征,使用支持向量机(support vector machine,SVM)对呼吸暂停事件和正常事件进行分类,得到了84.83%的准确率;从非线性角度,周静等[13]采用去趋势波动分析法提取脑电信号特征,并使用SVM 对正常人和呼吸暂停患者进行区分。
已有的方法中主要存在两个问题。 首先呼吸暂停按类型分为阻塞性、中枢性和混合性,而文献中的方法主要针对的是阻塞性呼吸暂停;其次,目前的呼吸暂停自动检测方法得到的准确率偏低,难以提供可靠的呼吸暂停检测结果。 为了解决上述问题,本研究提出一种基于脑电小波分解和机器学习分类思想的呼吸暂停自动检测方法。 该方法提高了基于脑电的呼吸暂停自动检测精度,可用于设计呼吸暂停自动识别系统。
1 材料和方法
首先,对脑电信号进行预处理,建立用于实验的样本库;然后,使用基于小波分解的算法对呼吸暂停脑电信号进行特征提取;最后,建立机器学习自动分类模型对特征进行分类,从而实现呼吸暂停事件的自动识别。
1.1 实验数据
所使用的数据来自于天津市胸科医院睡眠监测实验室,共包含了30 名受试者(7 名女性和23 名男性)的睡眠脑电信号。 受试者年龄范围为37 ~78岁;身体质量指数为19.82~39.26 kg/m2;呼吸紊乱指数为8.2~68.9。 脑电采集使用了C3-A2 和C4-A1 导联,采样率为100 Hz,并且由经验丰富的睡眠专家将脑电信号片段标记为呼吸暂停事件和正常呼吸事件。 原始脑电信号如图1 所示。 呼吸暂停事件分为阻塞性呼吸暂停、中枢性呼吸暂停以及混合性呼吸暂停。 实验中使用了812 个上述每种呼吸事件。
图1 原始脑电信号Fig.1 Raw EEG signals
1.2 方法
1.2.1 数据预处理
由于脑电信号幅值微弱,随机性强,极易受到噪声影响,所以在特征提取前需对脑电信号去噪。考虑到巴特沃斯滤波器在非线性信号去噪处理中的良好适用性,本研究采用了巴特沃斯滤波器对原始脑电信号进行滤波。 其中,巴特沃思滤波器的阶数为4,通带为0.2 ~45 Hz。
1.2.2 特征提取
小波变换作为一种时频分析法,具有优异的时频分析和局部分析性能[14-15],适用于非线性和非平稳的脑电信号分析。 本研究使用db3 小波基对脑电信号进行四层分解,得到第2 ~4 层细节系数,分解过程如下所示。 对于离散信号f(n) ,小波分解系数可以表示为
式中,j代表尺度,h(k)是低通滤波器,g(k)是高通滤波器,S2jf(n) 是近似系数,W2jf(n) 是细节系数。如图2 所示,可将近似系数S2jf(n) 当作原信号进一步分解,得到更深层次的分解系数。 图中,cA 表示近似系数,cD 表示细节系数。
图2 小波分解Fig.2 Wavelet decomposition
为进一步地减少特征数量和提高分类模型的训练效率,本研究将前60 个系数绝对值的方差和能量作为特征。 能量可以表示信号的强度。 对于一维离散数字信号,能量定义为信号中幅值平方的总和,定义为
式中,E代表能量,N信号长度,Yi代表信号中第i个点的值。
方差代表随机变量或数据集的分散程度,定义为
式中,σ2表示方差,μ表示一段信号幅值的平均值。
1.2.3 特征分类
使用KNN、SVM 和随机森林(random forest,RF)等3 种机器学习分类算法对呼吸事件进行分类,所有的分类算法都在Matlab R2018b 中设计完成。
为模拟临床中各类呼吸暂停事件的发病率,本研究使用的呼吸暂停事件中阻塞性、混合性和中枢性的组成比例为6 ∶3 ∶1。 构建好的数据集按75% ∶25%的比例划分为训练集和测试集。 其中训练集采用10折交叉验证的方法对机器学习模型进行参数调优;测试集用来检验模型的分类效果。 在模型的评价中使用了准确率,灵敏度和特异度等指标。
2 结果
2.1 特征提取结果
图3 展示了200 段呼吸暂停和正常呼吸事件对应脑电小波分解得到的前60 个细节系数绝对值的平均值。 可以看出,正常呼吸事件所对应细节系数的绝对值明显高于呼吸暂停事件,这表明本研究所提出的方法能够在呼吸暂停和正常呼吸脑电信号中提取出具有明显差异性的特征。
图3 小波分解系数。 (a)第2 层;(b)第3 层;(c)第4 层Fig.3 The coefficients of wavelet decomposition.(a) Level 2; (b) Level 3; (c) Level 4
2.2 分类结果
呼吸暂停事件的分类结果如表1 所示,3 种分类器的呼吸暂停识别准确率都达到91.5%以上,其中KNN 分类效果最好,准确率达到93.85%。 图4呈现了该方法对各种类型的呼吸暂停的识别效果,可见对阻塞性、中枢性和混合性呼吸暂停的识别准确率都达到92%以上。
表1 不同分类器的呼吸暂停事件分类效果Tab.1 Classification performances of different classifiers
图4 各种呼吸暂停的识别效果Fig.4 The classification performance of each type of apnea
此外,本研究还探究了脑电采集通道对呼吸暂停检测效果的影响,结果如表2 所示。 从表中可见,C3 脑电信号的效果优于C4,双导脑电信号的效果优于任一单导脑电信号。 在呼吸暂停事件的自动识别中,表3 呈现了本研究和近年来其他研究结果之间的对比,显示本研究所提出的方法在呼吸暂停检测精度上有了较大的提升。
表2 不同导联脑电信号的分类效果Tab.2 Classification performances of EEG signals from different channels
表3 本研究与其他研究结果对比Tab.3 Comparison for classification performances between our method and others
3 讨论
本研究采用小波分解算法提取呼吸暂停患者的脑电信号特征,并通过建立k-近邻、支持向量机和随机森林等机器学习模型实现了呼吸暂停的自动检测。 和文献已有方法相比,该方法主要有两个优势。 一是较大的提高了基于脑电信号的呼吸暂停自动检测精度。 本研究基于双导联脑电信号和k-近邻模型得到了93.85%的呼吸暂停检测准确率,和一些最新研究成果相比[11,16-17],其精度提高约4%。 二是从应用角度来看,该方法可实现对所有类型呼吸暂停的自动检测。 已有研究[11,16]主要是针对阻塞性呼吸暂停的识别,然而由于每种类型的呼吸暂停致病机理不同,在临床中采用只适用于检测阻塞性呼吸暂停的方法将很有可能导致漏诊[18],而本研究所提出的方法很好地弥补了这一不足,如图4 所示,除阻塞性呼吸暂停外,本研究中混合性和中枢性呼吸暂停的自动检测准确率也达到了92%以上。
本研究的局限之处在于:该方法虽然在呼吸暂停的识别中达到了较高的准确率,但对低通气的识别准确率较低。 后续研究中将继续改进算法,提高低通气的检测精度。
4 结论
本研究提出一种基于小波分解的呼吸暂停自动检测方法。 该方法使用db3 小波基对脑电信号进行4 层分解,在第2 ~4 层前60 个细节系数的绝对值中,计算方差和能量两种特征作为机器学习分类模型的输入,以此区分睡眠呼吸暂停事件和正常呼吸事件。 结果显示,KNN 仅使用方差和能量两种特征就取得了93.85%的准确率。 与已有的一些最新研究成果相比,该方法提高了呼吸暂停自动检测的准确率,此外,区别于其他多数方法仅适用于阻塞性呼吸暂停的检测,该方法对所有类型的呼吸暂停都能保持较高的灵敏性。 本研究的方法可用于呼吸暂停自动识别系统的设计,辅助医师进行呼吸暂停的自动检测。