融合EMD与LSTM神经网络的门诊量预测模型研究
2019-06-06陈渝任正军
陈渝 任正军
摘 要:随着现代医院信息化发展,门诊量预测显得更加重要,门诊预测不仅是对医院堆积数据潜在信息的深入挖掘,而且可为医院管理者的医疗资源配置提供建议。针对波动和噪音较大的门诊量时间序列预测问题,使用经验模态分解(EMD)對原始数据进行平稳处理,在此基础上建立长短期记忆(LSTM)神经网络模型,并选取单一的LSTM神经网络以及支持向量回归模型进行比较验证。实验结果表明,该组合模型有较好的预测精度,能为医院管理者提供决策支持。
关键词:门诊量预测;EMD;LSTM;时间序列;神经网络模型
DOI:10. 11907/rjdk. 182026
中图分类号:TP319文献标识码:A文章编号:1672-7800(2019)003-0133-06
0 引言
门诊工作是医院的重要工作之一,门诊统计量反映了医院运行状况,是医院经营情况的重要指标,也为医院管理者进行精确管理提供了重要参考。因而,对门诊统计量进行准确、科学预测,可以提高医院管理工作的预见性和主动性,使医院管理者能够合理配置医疗资源,对提高医院的经济效益和诊疗能力有重大意义,还可在制定健康保险计划和建立医疗报销制度中发挥重要作用。同时,有效的门诊量预测方法能够准确地处理门诊数据,因此有必要建立科学的门诊量预测模型,充分利用好门诊数据。
医院门诊量预测分析一定程度上等同于一个时间序列分析问题。时间序列模型已经在经济学、商学、工程学、自然科学以及社会科学等领域应用较多,并取得了丰硕成果[1]。目前,国内外研究者运用多种方法进行时间序列问题的分析与预测,如ARIMA预测模型[2]、GM(1,1)预测模型[3]、回归预测模型[4]、最小二乘支持向量机(LSSVM)预测模型[5]等。门诊量影响因素众多,其中包括就近就诊、医疗质量、专科知名度、服务质量、门诊环境等因素[6],但这些因素都难以量化,因而过往研究者对门诊量的预测研究只能考虑一种或几种因素,没有对门诊量时间序列数据进行深度挖掘,也与深度挖掘技术在医院研究方面应用较少有关。
近几年大数据发展以及计算机硬件升级使得计算机的计算能力大幅提高,机器学习特别是深度学习技术得到很大发展,也推动了时间序列领域研究发展。如杨旭华等[7]将深度信念网络用于门诊量时间序列预测并取得了不错效果。陈卓等[8]使用长短期记忆神经网络进行电力负荷预测,发现其比传统的ARIMA模型预测更为精确。虽然深度神经网络在时间序列预测中表现出较高精确度和较强泛化能力,但是在高频时间序列预测中仍然有提高的空间,比如噪声较多的股市时间序列[9]。原因可能是采样的时间序列数据通常包含很多噪声并且具有高维度,深度神经网络只能挖掘不同时段相同维度上的时间序列数据信息,为了解决该问题,可以应用信号处理技术消除一些噪声并降低维度[10]。因而本文采用经验模态分解法(EMD),先将时间序列数据分解成数个不同维度,再用长短期记忆(LSTM)神经网络对数据进行深度分析并预测,同时采用单一的LSTM神经网络和支持向量回归模型进行对比预测。实验结果表明,基于EMD分解和LSTM神经网络的组合预测模型能提高预测精度。
1 相关技术
1.1 经验模态分解
经验模态分解(EMD)是美国华裔科学家黄锷博士在1998年提出的一种基于瞬时频率的信号处理方法。EMD 方法打破了传统数据方法需要预先设定基函数的局限,在处理非平稳及非线性数据上,比传统平稳化方法具有更明显优势[11]。基于该优势,EMD方法一经提出就在不同领域得到了迅速有效应用,如地球物理学[12]、生物医学[13]、结构分析[14]以及非平稳时间序列分析[15]分析等。
EMD分解方法基于以下假设条件:①数据至少有两个极值,一个最大值和一个最小值;②数据局部时域特性由极值点间的时间尺度唯一确定;③如果数据没有极值点但有拐点,则可通过对数据微分一次或多次求得极值,然后再通过积分获得分解结果[16]。
该方法的关键是,它能将非线性、非平稳的数据序列[S(t)]分解为多个平稳单一的序列,即本征模函数[imf(t)]和一个残差序列[bias],所分解出来的各[imf]分量包含了原始数据不同时间尺度的局部特征。用公式表示为:
其中,每个[imf]分量必须满足两个条件:①在整个范围内,函数的局部极值点和零点数目相等或者最多相差1;②任意时刻点上,局部最大值和局部最小值的包络线均值必须为0。
经验模式分解过程可以形象地看作一个筛选过程。其分解过程如下:
1.2 LSTM神经网络
LSTM神经网络是循环神经网络(RNN)在隐藏层加入长短期记忆单元后形成的一种新的神经网络模型,它包含一组名为[Cell]的单元和门单元,该单元可以通过恒定误差传送带([CEC])实现恒定的误差流,从而解决梯度消失问题[17]。LSTM记忆单元结构如图1[18]。
LSTM神经网络比RNN具有更好的记忆能力,其门激活函数一般为[sigmoid]函数,该函数值域为[(0,1)],输入门、输出门以及遗忘门都将与一个状态值相乘。由于门激活函数值域在0~1之间,当门输出为0时,其与任何状态值相乘将得到0值,相当于舍弃掉不需要的信息;当门输出为1时,其与任何状态值相乘将不会有任何改变,相当于使神经元保留全部信息。如此,LSTM根据训练出的状态值有选择性地保留有用信息,从而能更准确地进行预测。
1.2.1 LSTM前向传播算法
1.2.2 LSTM反向传播算法
在反向传播阶段,LSTM神经网络采用的是随时间梯度下降算法(BPTT)。训练样本输入后,经正向传播过程在[T]时刻得到神经网络的输出。根据输出误差,从[t=T]开始,逐层计算梯度。归纳起来,LSTM神经网络的BPTT算法步骤如下:
(1)前向计算每个神经元的输出值,以及记忆模块中输入门、输出门、遗忘门和Cell的输出值。
(2)反向计算每个神经元的误差项值,即从当前[t]时刻开始,计算每个时刻的误差项,同时将误差项向上一层传播。誤差项[δ]值是误差函数对神经元[j]加权输入的偏导数。
(3)根据相应误差计算每个权重的梯度。
(4)用随机梯度下降算法更新权重。
而在梯度计算部分,LSTM算法核心是计算Cell部分的梯度,它包含输入门、输出门和遗忘门的偏导数计算,递推计算公式为:
1.3 支持向量回归
支持向量机采用结构风险最小化准则,综合考虑样本误差和模型复杂度,在时间序列预测中,支持向量与反映趋势变化的点紧密相关,因而能更好地跟踪时间序列的发展趋势。
2 预测模型
2.1 模型原理
时间序列问题的分析与预测,基本思想都是收集历史时序数据进行统计分析,通过组建模型将数据之间的规律泛化到将来的时间段内。该预测的一个前提假设是数据平稳性,意味着数据特征(如均值、方差和频率)不随时间而变化,因而可以对未来情况进行预测,但对于某些时间序列数据,频率变化与任务相关,因此在频域工作比在时域工作更有利[21]。基于此,本文将门诊量预测分成两个部分:首先将原始序列进行EMD分解,得到包含各个时间尺度特征的基本模式分量imf,其都有很明显的自身特征,便于进一步分析;然后用LSTM神经网络对各分量进行预测分析,各分量预测结果加总就得到最终预测结果。模型组合如图2所示。
2.2 建模过程
在进行时间序列预测之前需要划分数据,即将原始序列[X]转化为一系列输入数据和输出数据。若原始时间序列长度为N,而输入层个数为n,那么会产生N-n个训练模式。输入数据和输出数据如表1所示。
接下来需要将分好的输入数据与输出数据进一步划分成训练集、测试集和验证集,训练集和测试集用来训练LSTM预测模型,验证集则用来验证模型的预测能力。一般训练集、测试集和验证集的划分比例为70%、15%、15%。每月门诊量数据数值较大,神经网络激活函数值域在0~1之间,因而需要先将数据进行归一化,以提高模型收敛速度和预测准确度。
最后要确定LSTM神经网络的训练参数。本文需要预测未来12个月的门诊量数据,因而输出节点数目设置为12。此外还需定义输入层、隐层神经元数目,以及神经网络训练学习率,初始化输入门、输出门、遗忘门的权重和偏置。
3 实验及结果分析
3.1 数据来源及处理
实验数据来源于某三甲医院的门诊挂号系统,数据包含该院2000年1月到2016年12月各月门诊量数据,原始数据可以组成一个长度为204个月的连续时间序列,通过Matlab工具绘图功能得出该医院204个月门诊量折线图,如图3所示。
从图3中可以看出,该医院门诊量变化波动较大,序列平稳性较差。其中,门诊量最大为209 730人次,最小为38 225人次,波动非常大。在各个时间段都有多个不同波峰和波谷,且在序列中间还有一次断崖式变化,因此该数据适合使用本文模型进行预测分析。
首先对数据进行归一化处理,称规格化处理,以利于神经网络对样本的统一分析,获得更高的网络性能。本文采用常用的线性函数归一化方法,归一化公式为:
3.2 基于EMD与LSTM神经网络的门诊量预测
将归一化后的数据进行EMD分解,产生6个基本模式分量(见图4)。图4中,signal为原始时间序列,[imf1]到[imf5]为EMD分解出的固有模态函数,可以看出,其波动性逐渐减弱,平稳性逐渐增强,res为趋势线。
将这些分量划分数据,预留最后12个数据与预测结果进行对比。然后将训练集和测试集加入到LSTM神经网络训练中。为了准确预测未来12个月的序列情况,各分量在训练时会采用不同输入节点数目和隐层节点数目。人工神经网络隐层神经元数的确定方法有经验公式法、反复试验法、增长法、删减法和遗传算法。本文将经验公式法与反复试验法结合,使用经验公式法确定隐层神经元数目范围,再通过反复试验比较结果的准确性,将准确性最高的节点数目作为隐层节点数目。本文采用的经验公式为:
模型初始权重和偏置使用[-1,1]之间的随机数,迭代次数设置为500,每次迭代调整比例设置为0.01,模型使用均方误差(RMSE)作为损失函数,当损失函数的值小于0.25时停止迭代。
为检验各分量以及最终预测结果,本文引入均方根误差(RMSE)对预测效果进行评价。它是预测值和真实值偏差的平方与预测检验个数[n]比值的平方根,对一组测量中的特大或特小误差反应非常敏感,所以,均方根误差能够很好地反映出预测精确度。其计算公式如下:
模型使用Matlab进行编程训练,训练完成后将验证数据作为模型输入,得到各分量的预测结果,最终筛选出[RMSE]最小的各分量预测结果,如表2所示。
表2中各分量的横向加总即为最终预测结果,为了验证模型预测的准确性,本文将原始数据直接作为输入,分别使用LSTM神经网络和支持向量机回归进行预测对比,其中LSTM神经网络的输入节点数目为36,隐层节点数目为13,输出节点数目为12,初始权重和偏置为[-1,1]之间的随机数,迭代次数为500。支持向量回归预测模型采用高斯函数作为核函数,惩罚参数c设置为0.1,核函数参数g范围为[-0.1,0.1]。最终预测结果如表3所示。
上述实验表明,LSTM神经网络在不平稳性时间序列数据预测中表现出很强的拟合能力和泛化能力,但依然存在提高空间,原始数据经EMD分解后降低了波动性造成的影响,大大提高了预测精确度。相比而言,支持向量回归预测模型受数据波动性影响较大,在预测时会产生较大误差,基于EMD和LSTM神经网络的模型在预测中准确度比支持向量回归预测模型提高了58%,比单一LSTM神经网络预测模型提高了41%。
4 结语
针对不平稳性较强的门诊量时间序列数据预测问题,本文提出一种基于经验模态分解(EMD)和长短期记忆(LSTM)神经网络的组合预测模型。经过EMD分解处理降低数据的不平稳性,再通过LSTM神经网络进行训练,组合模型表现出良好的预测能力。仿真实验结果表明,该方法具有较高准确度,能够比较准确地预测出门诊量变化趋势,但在预测数值的精确度上仍有提升空间,且与单一LSTM神经网络和支持向量回归预测模型相比,组合模型不论在预测数据还是预测趋势上都更为准确。从该预测可以看出,基于EMD分解和LSTM神经网络的组合预测模型对波动性较大的数据处理具有很大优势,因而可以拓展到其它序列数据变化较大领域的时间序列预测研究中。此外,门诊量影响因素很多,例如天气、医院规模大小、医院地理位置等,而研究仅考虑时间因素,因而在某些因素影响过大时会使预测结果产生较大误差。同时,在模型构建过程中的一些问题也可能使预测结果产生误差,如模型初始权重和偏置的设置较随机等,这些问题都是继续深入研究的切入点。
参考文献:
[1] 乔治·E·P·博克斯,格威利姆·M·詹金斯,格雷戈里·C·莱因泽尔. 时间序列分析:预测与控制[M]. 王成璋,尤梅芳,郝杨,译. 北京:机械工业出版社,2011.
[2] 向前,陈平雁. 预测医院门诊量的ARIMA模型构建及应用[J]. 南方医科大学学报,2009,29(5):1076-1078.
[3] 王琦,郑静,吴清香,等. 灰色GM(1,1)预测模型在门诊量预测中的应用[J]. 中国医院管理, 2007,27(2):26-27.
[4] 丁磊,程红,牛珉,等. 医院精细化管理:门诊量预测模型的建立[J]. 中国卫生统计,2017(6):959-960.
[5] MELLIT A,PAVAN A M,BENGHANEM M. Least squares support vector machine for short-term prediction of meteorological time series[J]. Theoretical and Applied Climatology,2013,111(1):297-307.
[6] 李林,张明,黄倩,等. 门诊量影响因素探讨[J]. 中国医院管理, 2001,21(10):30-31.
[7] 杨旭华,钟楠祎. 基于深度信念网络的医院门诊量预测[J]. 计算机科学,2016, 43(s2): 26-30.
[8] 陈卓,孫龙祥. 基于深度学习LSTM网络的短期电力负荷预测方法[J]. 电子技术,2018(1):11-13.
[9] 毛景慧. 基于LSTM深度神经网络的股市时间序列预测精度的影响因素研究[D]. 广州:暨南大学,2017.
[10] 史美景,曹星婉. 基于EMD的时间序列不同频率波动及趋势研究[J]. 统计与决策,2012(16):27-30.
[11] 毛玉龙,范虹. 经验模式分解回顾与展望[J]. 计算机工程与科学,2014(1):155-162.
[12] 贺祥,林振山. 日食、太阳黑子与地球自转对Ei Nino(La Nina)影响与预测[J]. 地球物理学进展,2016,31(1): 44-53.
[13] 余明,陈锋,张广,等. 基于经验模态分解与独立成分分析的心肺复苏伪迹自适应滤除算法[J]. 生物医学工程学杂志, 2016 (5): 834-841.
[14] 张俊红,王健,毕凤荣, 等. 基于EMD和时频分析的低振动机体结构优化研究[J]. 振动与冲击, 2014 (3):117-121.
[15] HUANG N E,WU M L,QU W,et al. Applications of Hilbert & Huang transform to non-stationary financial time series analysis[J]. Applied Stochastic Models in Business & Industry, 2010, 19(3): 245-268.
[16] HUANG N E, SHEN Z, LONG S R, et al. The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis[J]. Proceedings Mathematical Physical & Engineering Sciences, 1998, 454(1971): 903-995.
[17] LIPTON Z C, BERKOWITZ J, ELKAN C. A critical review of recurrent neural networks for sequence learning[J]. Computer Science, 2015:1-35.
[18] GRAVES A. Supervised sequence labelling with recurrent neural networks[M]. Toronto:Springer Berlin Heidelberg, 2012.
[19] 刘运荣. 基于支持向量机的时间序列预测研究[D]. 哈尔滨:哈尔滨工程大学,2008.
[20] ZHENG X L,ZHAO L D. Time series prediction based on LS-SVM within the Bayesian framework[J]. Systems Engineering-Theory & Practice, 2007, 27(5): 142-146.
[21] L?NGKVIST M,KARLSSON L,LOUTFI A. A review of unsupervised feature learning and deep learning for time-series modeling[J]. Pattern Recognition Letters, 2014, 42: 11-24.
(责任编辑:何 丽)