基于ARIMA与SVM混合模型的连续血压预测
朱海龙,袁贞明,俞 凯
【摘 要】 由于血压时间序列数据受到多种因素影响,具有时变性、非线性和非平稳性特征,因此利用单一的时序预测模型难以准确描述血压的复杂变化规律.为了提高模型的预测精度,本文提出一种基于差分自回归移动平均(ARIMA)和支持向量机(SVM)的混合预测模型,并利用粒子群优化(PSO)算法优化SVM模型参数.利用养老院血压历史数据对模型进行验证.实验结果表明,基于ARIMA与SVM的混合模型预测精度高,更能全面描述血压时间序列的变化趋势. 【期刊名称】杭州师范大学学报(自然科学版) 【年(卷),期】2018(017)005 【总页数】6
【关键词】 差分自回归移动平均;支持向量机;混合预测;血压预测 修回日期:2017-12-03
基金项目:浙江省自然科学基金项目( LQ16H180004);浙江新苗人才计划项目( ZX15046032).
0 引言
高血压是一种常见病多发病,正严重危害人类健康.高速发展的经济不断提升人民的生活条件,生活节奏加快也成为导致高血压的因素之一[1].随着我国人口老龄化的加速,高血压的发病率仍在继续上升[1-2].随着物联网技术和可穿戴设备技术的快速发展,各类血压测量设备中存储了大量连续的血压检测序列.通过建立精确的预测模型预测血压变化,为指导用药和预测心血管疾病的发作提供辅助支持.
大量动态非线性的特征隐含在血压数据中,使血压时间序列成为非平稳、复杂且难以预测的时间序列数据.传统的时间序列预测模型如ARIMA[3]、ARMA等在股票市场、水文学、网络流量等时间序列中应用广泛[4-6].传统的时间序列预测模型认为时间序列是由历史数据和误差的线性关系组成.然而,在实际应用中时间序列通常是非线性的,传统的时间序列预测模型并不适合描述非线性时间序列.针对这些问题,通常可以采用人工神经网络(ANN)、模糊回归以及支持向量机等模型捕获其中隐含的信息.成云等[7]建立了基于小波神经网络的预测模型,与单独模型相比预测精度显著提升.Babu等[8]构建ARIMA与ANN的混合模型,ARIMA捕获时间序列的线性部分,预测的残差作为非线性部分由ANN模型捕获,该混合模型预测精度相较于ARIMA模型预测精度更高.然而对于给定的ANN结构,需要配置许多初始参数,因此模型学习过程完成时可能会产生一个高偏差网络.为了提升预测精度,本文利用SVM与ARIMA构建混合模型.基于结构风险最小化的SVM,在非线性时间序列领域里能够取得良好的预测结果,较好的解决了样本较少、非线性、模型过拟合、维数爆炸和模型陷入局部极小值等问题,且泛化推广能力优异[9].
尽管这些混合模型的预测精度可以超过单一模型的精度,但是模型的初始参数影响模型预测精度.为降低参数设置的盲目性,本文采用粒子群优化算法(PSO)[10]对SVM模型的参数进行优化.PSO从随机解出发,通过追随当前搜索到的最优值来寻找全局最优,解的好坏由适应度决定,具有实现容易,精度高,收敛快等优点,目前广泛用于函数优化、神经网络训练、模糊系统控制以及其他的应用领域[10].Hsieh等[11]利用PSO算法在金融时序预测方面选择SVR模型的初始参数,提高模型预测精度.Mohan等[12]使用由PSO算法优化
的组合模型完成时间序列预测.
为了充分利用ARIMA及SVM模型的特性,本文采用混合模型的方法进行血压预测研究,相较于单独的ARIMA模型,混合模型能更全面的描述血压时间序列的变化趋势,提高预测精度.实验结果验证了混合模型预测血压的可行性.
1 基于ARIMA与SVM的混合预测模型
1.1 ARIMA-SVM混合预测模型
血压时间序列数据受到多重因素影响,具有多尺度、非线性、突发性等复杂特点,传统的时间序列预测方法已不适用于血压时间序列的研究.ARIMA和SVM模型分别在线性和非线性预测方面取得良好的效果.但两种模型都存在各自的缺点,对线性问题用ARIMA模型可以得到较好的结果,但是对于非线性问题则应该采用SVM模型来获取更精确的结果.在实际应用中,很难使用单独的ARIMA模型来捕获血压时间序列的变化规律,因此使用ARIMA与SVM的混合模型预测是更好的解决方式.
在本文工作中,我们认为血压时间序列yt可以分解为线性部分Lt和非线性部分Nt组成: yt=Lt+Nt (1)
线性部分可以由ARIMA模型根据血压时间序列中过去的值进行预测如式2所示: (2)
其中{yt}是一个平稳时间序列;{εt}是一个白噪声序列;φi、θj(i=1,2,…,p, j=1,2,…,q)分别是{yt}、{εt}的参数;p为自回归阶数,q为移动平均阶