中国药科大学 理学院(南京 210009), School of Science, China Pharmaceutical University, Nanjing 210009, P.R.China
中国药科大学 理学院(南京 210009), School of Science, China Pharmaceutical University, Nanjing 210009, P.R.China
中国药科大学 理学院(南京 210009), School of Science, China Pharmaceutical University, Nanjing 210009, P.R.China
中国药科大学 理学院(南京 210009), School of Science, China Pharmaceutical University, Nanjing 210009, P.R.China 中国药科大学 理学院(南京 210009), School of Science, China Pharmaceutical University, Nanjing 210009, P.R.China
Corresponding author.
其次,给定区间长度
n
,将
划分为不重叠的
m
个区间,
m
为
N
/
n
的整数部分。对于划分的每一段序列采用最小二乘法线性拟合出局部趋势
,最后对
去除每个区间的局部趋势并计算出序列的均方根,如式(2)所示:
随着
n
的变化呈现幂律分布,其中的斜率表示 DFA 指数,本文记为 DFA_alpha,描述了时间序列的粗糙程度,其值越大表明时间序列越光滑。DFA 是一种能够有效地量化嵌入在非平稳时间序列中的长期相关性的有效方法
[
28
]
。
多尺度熵分析引进了时间尺度因子 τ 的概念,通过构造一系列不同粗粒化程度的时间序列,并计算它们的熵值,以获得原始时间序列在不同尺度下的复杂性测度。其具体计算过程包括粗粒化和熵值计算两个部分。
对于
N
点的时间序列
,粗粒化过程如
图 2
所示
[
29
]
。以尺度因子
τ
为长度,依次将原时间序列划分为
N
/
τ
段不重叠的子序列,这些子序列的均值就形成了
在尺度
τ
上的粗粒化序列,记为
。
对于每个粗粒化序列,本文分别采用样本熵(sample entropy,SE)和改进的排列熵(modified permutation entropy, MPE)算法来进行熵分析。SE 算法如式(3)~(6)所示 [ 30 ] 。
将时间序列
嵌入到
m
维空间中,该空间中向量如式(3)所示:
对于 m 维空间中的向量 X i m ,计算它与该空间中其他任一向量 X i m 之间的距离,该距离表示为向量中对应维度上元素距离的最大值,如式(4)所示:
然后,对于每一个向量,计算
m
维空间中与之距离小于给定相似容限
r
的向量占比,记为
。对于所有向量,计算
的均值,记为
,如式(5)所示:
将嵌入空间的维数增加 1 后重复以上步骤得到
,由此可计算出 SE 值(符号记为
SE
),如式(6)所示:
在本文中,嵌入维 m 取值设定为 2,相似容限 r 的取值设定为 0.15× std , std 为原始时间序列的标准差。
具体 PE 算法为 [ 31 ] :在 m 维的嵌入空间中,对每一个 m 维的向量 X i m 中的元素数值大小按升序重新排列,结果中的每个元素在原始序列中的位序作为一个符号记录下来,则得到由 m 个符号构成的一个排列。以 P j 来表示每种可能出现的排列的频率,并计算它们的香农熵,即可得到序列的 PE 值(符号记为 PE ),如式(7)所示:
在 PE 算法中,向量中相等的元素值会被赋予不同的符号。Bian 等 [ 32 ] 提出了 MPE 算法,其中使用相同的符号来表示等值情况。相比 PE 算法,MPE 算法在不同的生理和病理条件下,能够更有效地表征 HRV 信号的复杂性 [ 32 ] 。因此,本文使用 MPE 算法。
本文对每一段 1 h 的 HRV 信号进行了尺度因子从 1 逐一递增至 10 的粗粒化;对于每个粗粒化的序列分别计算了 SE、MPE 值,分别记为 SE1~SE10 和 MPE1~MPE10;同时,还计算了 10 个尺度下 SE、MPE 的均值,分别记为 aver_SE 和 aver_MPE。
本文提出一种两层模型方法来实现 CVD 组和 non-CVD 组的二分类,如 图 3 所示。第一层是基于极端梯度提升算法(extreme gradient boosting,XGBoost)的分类器,用于特征筛选。其输入为某段 HRV 信号的时域特征(SDNN、RMSSD)、频域特征(TP、LF、HF、HFnorm)、非线性动力学特征(DFA_alpha、SE1~SE10、MPE1~MPE10、aver_SE、aver_MPE)以及 11 个临床特征(年龄、BMI、身高、腰臀比、吸烟状况、吸烟频率、是否有高血压病史、是否有糖尿病病史、AHI、RDI、性别),共计 40 个特征。使用基于机器学习库的网格搜索及交叉验证方法来寻找最优分类器 [ 33 ] ,并对其特征重要性进行排序。在第二层模型中,按照上层模型的特征重要性从高到低依次挑选 2~40 的特征,并构建机器学习模型的输入特征空间,建立 CVD 和 non-CVD 分类器。对于机器学习算法的选择,本文考察了 XGBoost、随机森林(random forest,RF)和支持向量机(support vector machine,SVM)三种算法,来寻找分类性能最优的模型。为了提高机器学习模型的泛化能力,每个模型均采用五折交叉验证来划分训练集和测试集,即将整个数据集随机划分为 5 个大小几乎相同的不相交的子集,使用其中 1 折作为测试数据,其余的 4 折作为训练数据,直到所有折都被依次用作测试数据集。最终对 5 轮预测结果求平均值,从而能更合理地评估模型的泛化能力 [ 34 ] 。
典型的二分类问题中存在两个类,定义为“正类”和“负类”。实际为正类并且被预测为正类的样本称为“真正类”(true positive,TP)(符号记为 TP ),实际为正类却被预测为负类的样本称为“假负类”(false negative,FN)(符号记为 FN );类似地,实际为负类并且被预测为负类的样本称为“真负类”(true negative,TN)(符号记为 TN ),实际为负类却被预测为正类的样本称为“假正类”(false positive,FP)(符号记为 FP ) [ 35 - 36 ] 。
本文将 CVD 组定义为正类,non-CVD 组定义为负类,并使用六个常用指标评估模型预测性能,即:准确率(accuracy,ACC)(符号记为 ACC ),Kappa 系数(符号记为 Kappa ),真阴性率(true negative rate,TNR)(符号记为 TNR ),真阳性率(true positive rate,TPR)(符号记为 TPR ),阳性预测值(positive predictive value,PPV)(符号记为 PPV ),F1 值(F1-Score,F1)(符号记为 F1 ),马修斯相关系数(matthews correlation coefficient,MCC)(符号记为 MCC )。每个指标具体计算方法如式(8)~(14)所示。ACC、Kappa、MCC 常用于综合评价正负类的预测表现,而 TPR、PPV 和 F1 偏向于衡量正类预测表现,TNR 偏向于衡量负类预测表现。
本文利用提出的两层模型方法探索了基于哪一个睡眠段的 HRV 信号分析能更好地预测 CVD 的问题。如 表 1 所示,以五折交叉验证的 ACC 值作为比较标准,列出了利用不同睡眠段 HRV 构建的最优模型的分类性能。使用睡眠段 5,第二层模型采用 XGBoost 算法,使用 13 个输入特征,可以得到正负类综合预测性能最高的模型,其 ACC 值为 84.3%,Kappa 系数为 0.686,MCC 值为 0.689,表示模型的预测值与真实值之间有高度的一致性。 表 1 的结果表明,相比其他睡眠时段,觉醒前 HRV 在预测 CVD 事件上具有更高价值。
不同睡眠段模型预测性能
| 睡眠段 | 第二层模型算法 | 特征筛选个数 | ACC(%) | Kappa | TNR(%) | TPR(%) | PPV(%) | F1(%) | MCC |
| 睡眠段 1 | SVM | 6 | 83.6 | 0.671 | 81.4 | 85.7 | 82.3 | 83.9 | 0.674 |
| 睡眠段 2 | SVM | 11 | 82.1 | 0.643 | 68.6 | 95.7 | 75.6 | 84.4 | 0.668 |
| 睡眠段 3 | RF | 6 | 81.4 | 0.629 | 80.0 | 82.9 | 80.7 | 81.6 | 0.632 |
| 睡眠段 4 | XGBoost | 6 | 82.9 | 0.657 | 78.6 | 87.1 | 80.9 | 83.7 | 0.664 |
| 睡眠段 5 | XGBoost | 13 | 84.3 | 0.686 | 84.3 | 84.3 | 84.4 | 84.2 | 0.689 |
如 图 4 所示,进一步展示了利用不同睡眠段 HRV 构建的最优模型的特征重要性图。对于睡眠段 5,列出了第一层模型中所有特征的重要性排序;而对于睡眠段 1~睡眠段 4,只列出了 ACC 最大情况下筛选出的用于第二层模型的特征。结果显示,无论使用哪一段睡眠数据,年龄与腰臀比都是模型中最重要的特征,这与文献[ 37 ]的报道是吻合的;基于非线性动力学分析的 HRV 指标在各个睡眠段,都有入选。对于睡眠段 3,其 ACC 最低(如 表 1 所示),入选的特征中 HRV 指标较少。而对于睡眠段 5,在筛选特征个数为 13 时 ACC 数值最大,在这一筛选的特征中 HRV 指标占比较高。这一结果可能意味着模型中 HRV 特征重要性的欠缺会导致较低的 CVD 预测正确率。
虽然对于各个睡眠段,入选第二层的特征有所不同,如 图 4 所示,但可以发现,基于非线性动力学分析的 MPE1 指标在每一睡眠段中都会出现,SE3 指标也出现在大多数睡眠段中。对于睡眠段 5,如 图 5 所示,组间比较(非配对 t 检验)的结果表明,相对于 non-CVD 组而言,CVD 组的 MPE1 上升,SE3 下降,差异具有统计学意义( P <0.01)。
本文提出并采用了一种两层机器学习模型的方法,通过比较利用不同睡眠时期 HRV 特征构建 CVD 预测模型的性能,来探索是否觉醒前的 HRV 更有利于 CVD 事件预测。在正类和负类均衡的情况下,利用觉醒前 HRV 特征构建的预测模型对于 CVD 组和 non-CVD 组的分类准确率最高,达 84.3%。这一结果表明,与其他睡眠段 HRV 相比,觉醒前 HRV 能更准确地预测 CVD 事件。同时,通过对比不同睡眠段 HRV 构建的最优模型的特征重要性排序图,发现 CVD 预测正确率的高低与 HRV 特征重要性占比有关,而 HRV 分析的欠缺可能会导致较低的 CVD 预测正确率。
本研究也表明,夜间睡眠时 HRV 信号的非线性动力学分析也许能更好地捕捉心血管系统潜在的危险。相对于 non-CVD 组,CVD 组在觉醒前 HRV 上,MPE1 和 SE3 都出现了显著的变化。此外,虽然对于各个不同时期的睡眠段,各 HRV 分析指标在模型中的重要性有所不同,但非线性动力学指标 MPE1、SE3 在各睡眠段中均展现出了较高的特征重要性,意味着它们对 CVD 的预测较为重要。本文研究结果进一步证实了心脏动力系统具有非线性特性,在构建 CVD 预测模型时,应综合 HRV 的线性与非线性动力学指标,才能更好地评估潜在的生理过程。
利益冲突声明:本文全体作者均声明不存在利益冲突。
国家自然科学基金(61401518)