计算机系统应用  2018, Vol. 27 Issue (1): 195-200   PDF    
基于DTW的贝叶斯方法在睡眠和唤醒分类中的应用
马科1, 符春晓2, 刘建3, 孙海胜4     
1. 中国科学技术大学 管理学院学院, 合肥 230026;
2. 中国人民解放军 65113部队, 葫芦岛 125000;
3. 淮河流域水资源保护局, 蚌埠 230000;
4. 中国科学技术大学 计算机科学与技术学院, 合肥 230026
摘要:许多方便的可穿戴设备被用于医疗用途, 如测量心率(HR)、血压和其他信号. 随着睡眠质量监测问题的出现, 如何从这些信号中区分睡眠和唤醒状态成为关键问题. 提出了一种基于动态时间规整(DTW)的贝叶斯方法用于睡眠和唤醒分类. 利用心率和血氧饱和度(SpO2)的信号去分析睡眠状态和一些睡眠相关问题. 利用DTW从原始的心率、血氧饱和度信号中提取特征, 然后贝叶斯分类方法用于区别睡眠和唤醒状态. 最后, 从睡眠心脏健康研究网站收集数据的一个真实案例研究验证了基于DTW的贝叶斯方法的可行性和优势.
关键词: 睡眠和唤醒分类问题    动态时间规划    贝叶斯分类    贝叶斯网络模型    
Application of Bayesian Method Based on DTW in Classification of Sleep and Wake
MA Ke1, FU Chun-Xiao2, LIU Jian3, SUN Hai-Sheng4     
1. School of Management, University of Science and Technology of China, Hefei 230026, China;
2. 65113 Troops, People’s Liberation Army of China, Huludao 125000, China;
3. Huaihe Water Resources Protection Science Research Institute, Bengbu 230000, China;
4. School of Computer Science and Technology, University of Science and Technology of China, Hefei 230026, China
Abstract: Many convenient wearable devices are being used for medical purposes, like measuring the heart rate (HR), blood pressure. With the sleep quality monitor problem, the key point is how to discriminate the sleeping state from waking one out of these signals. This paper proposes a Bayesian approach based on dynamic time warping (DTW) method for sleeping and waking classification. It uses HR and surplus pulse O2 (SpO2) signals to analyze the sleeping states and the occurrence of some sleep-related problems. The DTW is used to extract features from the original HR and SpO2 signals. Then a Bayesian classification method is introduced for the discrimination of sleeping and waking states. Finally, a case study from a real-world applications, collected from the website of the Sleep Heart Health Study, is presented to show the feasibility and advantages of the DTW-based Bayesian approach.
Key words: sleep and wake classification problem     dynamic time warping     Bayesian classfication     Bayesian network model    

1 引言

睡眠质量对诊断与睡眠有关的问题有重要影响, 影响着一个人的健康状况. 监测夜间的睡眠和醒来的情况可用来客观评估睡眠质量. 在夜间多导睡眠图(PSG)记录被视为分析睡眠状态和一些睡眠相关问题发生的“黄金标准”. 然而, 这非常昂贵, 没有广泛使用. 同时对使用者来说有妨碍又不舒服, 因此不适合长期监测. 一些可穿戴设备的出现满足了不显眼的睡眠监测需求. 它通常是戴在手腕上、手指上, 因其低成本和便利性变得越来越普及[1]. 然而, 存在的问题就是收集的信号是相对低精度[2]. 必须要做的研究工作就是以较少的信号需求提高睡眠和唤醒分类的精确性.

动态时间规整是最近提出用于时间序列数据的相似性度量[3], 它已被广泛应用于各个领域如生物信息学和生物特征的时间序列模式识别. 许多研究采用动态时间规整对睡眠和唤醒状态进行分类[4]. 然而, 实验表明, 使用动态时间规整的睡眠和唤醒分类的效果, 需要改善明显的“重叠”的问题[5].

概率模型经常被用于描述模式识别问题, 贝叶斯分类器是最常用的分类方法之一[6]. 它是基于事先平滑映射的假设提供更好的概括. 虽然贝叶斯方法已经研究了多年, 但直到最近, 因为计算机的快速发展, 其实际应用开始变得普及[7]. 实验表明, 贝叶斯方法是有效的, 可以提高DTW在睡眠和唤醒状态分类的表现.

研究试图只通过心率(HR)和血氧饱和度(SpO2)信息区分睡眠和唤醒状态. 首先, 动态时间规整(DTW)方法用于从原始资料的信号提取的“特征”, 资料来源于睡眠和心脏健康研究(Sleep and Heart Health Study, SHHS). 然后, 贝叶斯方法处理通过DTW特征提取的输入序列/信号. 最后, 通过案例验证基于DTW的贝叶斯方法的可行性和优势.

2 方法与模型构建 2.1 动态时间规整(DTW)

本部分通过描述基于DTW的分类方法, 然后基于DTW方法的重叠问题, 使用先验信息分布假设的贝叶斯方法开始睡眠和唤醒分类.

对于时间序列的分类和聚类, 动态时间规整优于欧氏距离. DTW允许两个相似但局部非相位的时间序列之间非线性排列. 图1演示了欧氏距离和DTW距离的区别.

2.2 模型准备

利用贝叶斯回归和分类方法的睡眠和唤醒分类问题作为时间序列数据.

输入序列的数据集 $\{ {a_n}\} _{n = 1}^N$ , 矢量x, 以及相应的输出目标 $\{ {b_n}\} _{n = 1}^M$ , 矢量y. 假定输入目标对{x, y}是模型中的样本和加性噪声ε.

$y = f(x) + \varepsilon $
图 1 欧氏距离和DTW距离

典型的候选函数f如下:

$f(x,w) = \sum\limits_{i = 0}^M {{w_i} \cdot {\phi _i}(x)} = {w^{\rm{T}}}\phi (x)$

其中 $\phi (x) = {\left( {{\phi _0}(x),{\phi _1}(x), \cdots ,{\phi _M}(x)} \right)^{\rm{T}}}$ , ${\phi _0}(x) = 1$ , ${\phi _1}(x) \sim $ ${\phi _M}(x)$ 可以被视为特征, w是权重参数 $w = ({w_1},{w_2}, \cdots ,$ ${w_M})$ .

贝叶斯回归方法是求未知参数向量w点估计的一种经典方法, 贝叶斯方法通过概率分布研究w的不确定性[8]. 大多数情况下, 我们定义一个概率分布p(w)作为先验信息, 然后通过对数据集{x, y}的观察和最大似然法对分布进行修改完善. 预测推断可以通过后验分布得到. 特别是对于两类分类问题, Logistic激活函数可以用来解释输出向量y在每个类的概率, 并用贝叶斯决策规则分类[9].

如前一节所述, 基于DTW的特征被用作贝叶斯方法的特征值. 虽然在某些情况下, 它可能会执行效率低下, 但与贝叶斯网络相结合的特征, 可以减少“重叠”的问题. 因此, 贝叶斯网络分类器用于处理输入序列/信号, 如图2所示.

在这个贝叶斯网络中, 函数的一般形式f如下:

$y = f(x,w,h) = W_{HB}^{\rm{T}}(H + W_{AH}^{\rm{T}}{\phi '}(x))$

其中 ${\phi '}(x) = {\left( {\phi _1'(x),\phi _2'(x), \cdots ,\phi _M'(x)} \right)^{\rm{T}}}$ , $\phi _1'(x) \sim \phi _M'(x)$ 从输入原始信号矢量x计算DTW特征, 使每对匹配样本之间的差别最小, 达到欧氏距离最小[10]. WAH是输入模式和隐藏层之间的权重矩阵, H是隐藏层的常量向量 $H = {({h_1},{h_2}, \cdots ,{h_H})^{\rm{T}}}$ , WHB是隐藏层与输出层之间的权重矩阵, 输出y是一个睡眠或唤醒概率的向量.

图 2 基于DTW提取特征的贝叶斯网络框架

$\phi (x) = \left( {\begin{array}{*{20}{c}} 1\\ {{\phi '}(x)} \end{array}} \right)$ , w作为一般权向量/矩阵, $w' = $ ${\left( {W_{HB}^{\rm{T}}H{\rm{ }}W_{HB}^T{W_{AH}}} \right)^{\rm{T}}}$ , 方程如下:

$\begin{aligned}y = & f(x,w,h) = W_{HB}^{\rm{T}}H + W_{HB}^T{W_{AH}}\phi (x)\\= & \left( {W_{HB}^{\rm{T}}H{\rm{ }}W_{HB}^T{W_{AH}}} \right)\left( {\begin{aligned}1\\{{\phi '}{\rm{(}}x)}\end{aligned}} \right) = w{'^{\rm{T}}}\phi (x)\end{aligned}$

通常统一和简单的描述为 $y = f(x,w)$ .

2.3 睡眠和唤醒分类的贝叶斯方法

从概率角度, 假设噪声值ε是一个方差σ2均值为零高斯过程正态分布, 故:

$p(\varepsilon |{\sigma ^2}) = {\rm N}(\varepsilon |0,{\sigma ^2}) = {(\frac{1}{{2\pi {\sigma ^2}}})^{1/2}}\exp \left\{ { - \frac{{{\varepsilon ^2}}}{{2{\sigma ^2}}}} \right\}$

从方程中, 我们有 $p(y|x) = {\rm N}(y|f(x,w),{\sigma ^2})$ , 即:

$p(y|w,{\sigma ^2}) = {(\frac{1}{{2\pi {\sigma ^2}}})^{1/2}}\exp \left\{ { - \frac{1}{{2{\sigma ^2}}}{{\left\| {{y_t} - {w^{\rm{T}}}\phi ({x_t})} \right\|}^2}} \right\}$

由于输入序列/向量x的独立性的假设, 因此, 具有完整数据集的似然函数可以写成:

$L(w) = {(\frac{1}{{2\pi {\sigma ^2}}})^{T/2}}\exp \left\{ { - \frac{1}{{2{\sigma ^2}}}\sum\limits_{t = 1}^T {{{\left\| {{y_t} - {w^{\rm{T}}}\phi ({x_t})} \right\|}^2}} } \right\}$

在研究y之前, 我们将处理一些w的先验信息. 我们通过w描述构造一个概率分布p(w). 具体来说, 我们通过w定义了高斯先验分布的形式, 如下:

$p(w|\alpha ) = {(\frac{\alpha }{{2\pi }})^{M/2}}\exp \left\{ { - \frac{\alpha }{2}{{\left\| w \right\|}^2}} \right\}$

其中α作为超参数, 是逆高斯分布.

根据贝叶斯定理, w的后验分布是与先验分布和似然函数的乘积长正比例, 计算如下:

$\begin{array}{c}p(w|\alpha ,{\sigma ^2}) \propto {\rm{ }}p(w|\alpha )L(w)\\p(w|\alpha ,{\sigma ^2}) = K\frac{{{\alpha ^M}}}{{{\sigma ^T}}}\exp \left\{ { - \frac{\alpha }{2}{{\left\| w \right\|}^2} - \frac{1}{{2{\sigma ^2}}}\sum\limits_{t = 1}^T {{{\left\| {{y_t} - {w^{\rm{T}}}\phi ({x_t})} \right\|}^2}} } \right\}\end{array}$

在贝叶斯方法中我们通过整合w的后验分布进行推断. 我们假设使用后验分布为w找到一个点估计, 用于估计w一个经典的统计技术的最大似然法. 由于负对数函数是单调递减函数, 使方程最大化为变量最小化.

$\frac{\alpha }{2}{\left\| w \right\|^2} + \frac{1}{{2{\sigma ^2}}}\sum\limits_{t = 1}^T {{{\left\| {{y_t} - {w^{\rm{T}}}\phi ({x_t})} \right\|}^2}} $

因此, 给定一个新的值x, 我们可以作出预测分布y*:

$p({y^*}|x) = \int {p({y^*}|w,\alpha ,{\sigma ^2})p(w,\alpha ,{\sigma ^2}|x){\rm{ }}dw} {\rm{ }}d\alpha {\rm{ }}d{\sigma ^2}$

实际上完全解析计算出是不可能的, 需要做一些近似计算. 具体逼近法被引入, 因此, 我们用一个新值x可以得到可计算的预测分布[11]:

$\begin{align}p({y^*}|x) \approx &\int {p({y^*}|w,{\sigma ^2})p(w|\alpha ,{\sigma ^2})dw} \\ \approx &\int {f(x,w)p(w|\alpha ,{\sigma ^2})dw} \end{align}$

然而, 超参数限制了w的先验分布的规模和形状, α的值可以指定, 通过与每个输入x相关联w的分布建模, 以尽量减少错误分类的概率. 这个过程的一个典型的方法被称为自动相关确定(ARD)[12], 并在训练过程中实现了特征选择.

一旦网络的权重进行了培训, 贝叶斯决策规则可以应用到执行模式分类. g表示标准状态向量、睡眠向量或唤醒向量, 找到g和向量y最小化欧氏距离的向量. 我们能断定如果g = sleep vector则输入模式x睡眠, 否则x唤醒.

$arg\;min{\rm{ }}p(\left. {{{\left\| {y - g} \right\|}^2}} \right|w,{\sigma ^2}){\rm{ , }}g \in \{ sleep\;vector,wake\;vector\} $
3 实验和结果

本文提出的方法进行验证的数据来源于睡眠心脏健康研究测试(SHHS), SHHS由国家心肺和血液研究所实施的一套全面的实验. 它测试与呼吸相关睡眠是否与冠心病、中风、死亡率和高血压的风险增加相关. 从2001年1月到2003年6月, 多导睡眠图(PSG)是在3295的参与者获得, 并由项目人员根据睡眠阶段的结果提供.

3.1 数据

PSG记录的心率(HR)和血氧饱和度(SpO2)信号10个样本数据来自SHHS. 记录通常从午夜开始志愿者睡着后到第二天早上他/她醒来. 睡眠状态的结果最初由项目SHHS提供, 已经由专业的睡眠健康研究教授/医生修订. 根据标准, 信号以30秒分为不重叠单元, 每个单元有一个睡眠或唤醒标签. 与睡眠状态相关的PSG的样本记录如图3所示, 整个数据集的详细信息见表1.

图 3 1#样本30分钟PSG记录睡眠状态

表 1 所有10个样本的人口统计和临床统计

3.2 预处理和特征生成

数据集在测试贝叶斯方法之前, 我们需要对数据集进行一些预处理, 以减少噪声和离群值. 在这里, 我们使用传统的阈值滤波和平滑算法粗略地处理数据集[13]. 根据生物医学的知识, 医学信号往往停留在较低的频率, 然后快速傅立叶变换是用来从原来的频率切断高频.

每个30 s期心率(HR)和血氧饱和度(SpO2)信号的平均值作为特征, 并在上文提到, 每两个时期之间的DTW距离也选为特征. 这里的DTW距离进行归一化处理.

由于我们的数据集的大小相对较小, 不适合将其分割成单独的训练和测试集. 该方法使用保持一个子集作为测试集, 其余子集用于在一个迭代训练贝叶斯网络. 在每次迭代中, 训练数据集的特征如表2所示.

表 2 每次迭代过程中数据集的特征

3.3 结果

最后, DTW为基础的贝叶斯方法的10个样本的结果见表3图4. 每次迭代的详细结果见表3, 所有样品的平均精度为84.35%, 召回率为57.52%. 每个样本的详细结果如图4所示, 红圈是每个样本的唤醒状态, 蓝色点是睡眠状态, 黑线是贝叶斯方法来区分睡眠状态或唤醒状态的阈值, 线上面的点是唤醒状态, 线下面的点是睡眠状态.

表 3 每次迭代的详细结果

图 4 基于DTW的贝叶斯方法的10个样本的结果

4 讨论

用平均值和HR和SpO2的DTW距离为特征, 后验分布是用来寻找W的点估计, 这相当于最小化方程. 有许多回归方法已被讨论, Mackay使用了拉普拉斯近似过程[14]. 超参数ασ通过专家系统赋值, α是联合向量, σ=0.01. 根据方程, 每个30 s单元的 $p({y^*}|y,\alpha ,{\sigma ^2})$ 可以计算得出, 代表着这30 s的唤醒状态的概率. 因此, 睡眠向量被设置为一个奇点0.5.

从所有图表可以看出, 所有样本的睡眠和唤醒分类效率都有较高的精度和良好的召回价值.

5 结论

本文提出了用于睡眠和唤醒状态分类问题的基于DTW特征的贝叶斯方法. 本文提出的方法对训练数据的特点进行聚类以区别睡眠和唤醒状态的特点. 还介绍了利用动态时间规整方法提取时间序列特征, 概率模型的贝叶斯分类方法处理不确定属性.

实验结果表明, DTW提取特征可以表征睡眠和唤醒状态, 进而可以通过本文提出的贝叶斯方法进行分类. 所有样品的平均精度为84.35%, 召回率为57.52%, 这意味着可以通过较少的夜间采集的生理信号得到良好的结果表现.

这项工作可以在医学、人工智能等领域做出贡献. 今后的工作, 建议从PSG获取更多的样本用于方法的测试和完善, 以了解如何使用DTW为基础的贝叶斯方法更好地描述区分睡眠和唤醒状态, 进一步明确什么样的穿戴设备需要开发. 文中采用了传统的阈值滤波和平滑算法粗略地处理数据集, 后续的研究工作将讨论采用更高级的运算复杂度更高的滤波及平滑算法, 是否能够更好地减少噪声和离群值.

参考文献
[1]
Fu CX, Zhang PL, Jiang J, et al. A Bayesian approach for sleep and wake classification based on dynamic time warping method. Multimedia Tools and Applications, 2017, 76(17): 17765-17784. DOI:10.1007/s11042-015-3053-z
[2]
Grote L, Zou D, Kraiczi H, et al. Finger plethysmography–a method for monitoring finger blood flow during sleep disordered breathing. Respiratory Physiology & Neurobiology, 2003, 136(2-3): 141-152.
[3]
杨鹏, 谢磊, 陈虹洁. 基于分段动态时间规整和后验特征的中文语音模式发现. 清华大学学报(自然科学版), 2013, 53(6): 903-907.
[4]
Forestier G, Lalys F, Riffaud L, et al. Classification of surgical processes using dynamic time warping. Journal of Biomedical Informatics, 2012, 45(2): 255-264. DOI:10.1016/j.jbi.2011.11.002
[5]
Yu DR, Yu X, Hu QH, et al. Dynamic time warping constraint learning for large margin nearest neighbor classification. Information Sciences, 2011, 181(13): 2787-2796. DOI:10.1016/j.ins.2011.03.001
[6]
郝宇晨. 贝叶斯网络分类器近似学习算法. 计算机系统应用, 2014, 23(8): 189-193.
[7]
Bishop CM, Tipping ME. Bayesian regression and classifi-cation. Suykens J, Horvath G, Basu S. Advances in Learning Theory: Methods, Models and Applications. Richmond, TX, USA: IOS Press, 2003. 267–285.
[8]
宫秀军. 贝叶斯学习理论及其应用研究[博士学位论文]. 北京: 中国科学院计算技术研究所, 2002.
[9]
Wang Y, Hussein II. Bayesian-based decision-making for object search and classification. IEEE Transactions on Control Systems Technology, 2011, 19(6): 1639-1647. DOI:10.1109/TCST.2010.2087760
[10]
黄承杰, 申飞, 吴仲城. 基于动态时间规划的在线签名认证方法. 计算机系统应用, 2009, 18(2): 49-52.
[11]
吴建宁, 徐海东, 凌雲, 等. 基于块稀疏贝叶斯学习的人体运动模式识别. 计算机应用, 2016, 36(4): 1039-1044. DOI:10.11772/j.issn.1001-9081.2016.04.1039
[12]
Neal RM. Bayesian learning for neural networks. IEEE Transactions on Neural Networks, 1997, 8(2): 456.
[13]
余楚才, 陈怀新, 李雷. 小波的循环阈值去噪方法. 计算机工程与应用, 2009, 45(21): 106-108. DOI:10.3778/j.issn.1002-8331.2009.21.031
[14]
MacKay DJC. The evidence framework applied to classifica-tion networks. Neural Computation, 1992, 4(5): 720-736. DOI:10.1162/neco.1992.4.5.720