APP下载

基于PSO的LSTM神经网络门诊量预测研究

2020-12-01覃智威宓轶群陆允敏刘钊朱平

软件导刊 2020年10期
关键词:粒子群优化深度学习

覃智威 宓轶群 陆允敏 刘钊 朱平

摘 要:研究基于粒子群优化算法的长短期记忆神经网络模型构建方法及其在医院门诊管理中的应用,选取三甲医院中医慢病相关科室门诊量历史记录数据,构建基于长短期记忆神经网络的门诊量预测模型,借助粒子群优化算法对长短期记忆网络进行参数优化,并使用优化后的模型对门诊量进行预测。月度门诊量预测结果表明,经过粒子群优化的长短期记忆神经网络模型在测试集上的预测误差RMSE,相比未优化的模型减小了48.5%。粒子群优化算法能高效地优化预测模型,可使模型较好地预测出门诊量变化趋势,从而为医务人员门诊管理工作提供决策支持。

关键词:门诊量预测;长短期记忆神经网络;粒子群优化;深度学习

DOI:10. 11907/rjdk. 192823

中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2020)010-0029-05

Abstract: To investigate the construction method of long short-term memory (LSTM) neural network model based on particle swarm optimization (PSO) algorithm and its application in hospital outpatient management, the historical outpatient quantity data of the department related to Chinese medicine chronic disease in the tertiary hospital are selected to establish an outpatient quantity prediction model by means of the long short-term memory neural network, and particle swarm optimization algorithm is used to optimize the parameters of the prediction model. The prediction results of monthly outpatient quantity show that the prediction error RMSE of the LSTM neural network model optimized by PSO on the test set is 48.5% lower than that of the unoptimized model. Particle swarm optimization algorithm can optimize the prediction model efficiently, so that the model can better predict the trends of outpatient quantity and provide decision support for the outpatient management of medical staff.

Key Words: outpatient quantity prediction; long short-term memory neural network; particle swarm optimization; deep learning

0 引言

随着现代信息技术的发展,医疗活动、医学研究等过程数据被越来越多地记录与存储,由此形成的医疗大数据蕴含着大量有价值的信息,而传统数据处理方式难以对这些医疗数据进行有效处理[1-4]。人工智能与医疗领域的深度融合是大数据背景下医疗信息化的核心技术之一。针对各級诊疗机构,尤其是三甲医院累积的包括门诊量历史记录等医疗管理数据,利用数据挖掘方法可以有效挖掘这些数据潜藏的价值。

医院门诊统计量体现了医院运行情况,为医院管理提供了重要参考。对门诊量进行合理、准确的预测,可帮助医院管理者优化医疗资源配置,方便医院进行精细化管理,对提高医院效益和诊疗能力具有重要意义。医院门诊服务面广,门诊人次统计数据具有较强的随机性。同时,门诊人次又受多种因素影响,既体现出中长期周期性变化的趋势,又具有较明显的季节效应[5-7]。应用传统时间序列预测方法如灰色系统GM(1,1)模型[8]、差分自回归滑动平均(Auto-Regressive Integrated Moving Average,ARIMA)模型[9]、季节性差分自回归滑动平均(Seasonal Auto-RegressiveIntegratedMoving Average,SARIMA)模型[10]等对门诊量进行预测面临较多限制。随着机器学习,尤其是深度学习技术的不断发展[11-12],针对门诊量这类时间序列问题的预测精度不断提升。如杨旭华等[13]首次使用基于深度信念网络(Deep Belief Networks,DBN)的门诊量预测方法,完成门诊量数据特征提取,提升门诊量预测精度;桑发文等[14]按照相似日原理对历史门诊量进行分类,并建立极限学习机(Extreme Learning Machine,ELM)预测模型对医院门诊量进行短期预测,获得了较高精度;刘健等[15]构造搜索关键字的百度指数特征、时间特征及门诊量特征,基于XGBoost算法对医院精神科门诊量进行较为精确的预测。循环神经网络(Recurrent Neural Network,RNN)适合于处理序列数据,因此许多研究者利用这类方法构建针对性的预测模型。如李琳等[16]基于长短期记忆(Long Short-Term Memory,LSTM)网络[17],研究不同步长下模型对月度门诊量的预测精度变化;陈渝等[18]在单一LSTM网络预测模型基础上,融合经验模态分解对非平稳数据进行预处理,实验结果表明,组合模型取得了比单一模型更好的预测精度;卢鹏飞等[19]构建基于SARIMA-LSTM的门诊量预测模型,对节假日、法定上班天数、平均最高气温等多个指标进行综合建模,相比主流预测方法可获得更高的预测精度。

循环神经网络,特别是长短期记忆网络已被许多研究者证实适合于处理长序列数据[20],对医院门诊量的预测也有越来越多研究以长短期记忆网络为基础。然而,长短期记忆网络构建过程中涉及到许多超参数确定,研究者往往只是凭借着先验知识或研究经验进行超参数设置,缺乏一定的探索过程,面对不同问题时可能需要反复进行人工调参,而利用优化算法进行自动的神经网络超参数优化则少有研究。针对这种情况,本文提出使用简单、高效的粒子群优化(Particle Swarm Optimization,PSO)算法[21]对长短期记忆网络关键超参数进行优化的流程,将基于粒子群优化的长短期记忆网络用于三甲医院慢性病相关科室的门诊量月度预测。实验结果表明,优化后的预测模型能够较好地预测门诊量变化趋势。整套建模与预测流程可以方便地应用到门诊管理工作中,为医院的精细化管理提供技术支持。

1 基于PSO的LSTM神经网络预测模型构建

1.1 LSTM神经网络

针对三甲医院门诊量历史记录数据,利用深度学习方法搭建预测模型,对中短期门诊量变化进行合理预测。本例中各时期门诊量属于时间序列数据,深度学习方法中循环神经网络(RNN)是一种用于处理序列数据的神经网络。长短期记忆(LSTM)神经网络[17]作为一种特殊的RNN模型,主要是在常规RNN隐藏层中加入长短期记忆单元,从而能够更有效地利用长距离序列数据,避免常规RNN在处理长序列数据时的梯度消失问题。LSTM记忆单元结构如图1所示。

在前向传播阶段,t时刻记忆单元接收该时刻的输入[xt]与上一时刻隐藏层的输出[ht-1]作为遗忘门的输入,遗忘门通过激活函数层决定要舍弃与保留的信息,输出[ft]。

神经元需要保留的信息由输入门实现,输入门计算分为两部分:使用sigmoid函数计算更新值[it],以及使用tanh函数生成新的候选值[C],二者乘积用于更新细胞状态。

细胞状态更新包含遗忘门输出与t-1时刻细胞输出的乘积,加上输入门输出与候选值的乘积。

最终输出门的更新,即t时刻的隐藏层输出[ht]由式(6)决定。

1.2 PSO算法

基于深度神经网络建立的LSTM网络预测模型包含多层网络,每层网络包含一定数目的神经元,加上LSTM网络的步长等参数,使得该网络预测模型的超参数设置与优化变得较为困难。本文采用启发式优化算法对模型中的超参数进行优化,粒子群优化(PSO)算法[21]由于具有原理简单、计算资源消耗小、收敛性较好、计算效率高等优点,成为最常用的启发式优化算法之一。

粒子群优化算法是受鸟群合作行为启发而提出的,算法使用一个包含若干粒子的种群,每个粒子都有自身位置与速度,算法迭代过程即是所有粒子在设计空间中不断更新自身位置并互相交换位置信息,直至搜索到全局最优值的过程。在标准粒子群优化算法中,对于一个D维优化问题,[x(t)i]表示第[ith]个粒子的位置,[v(t)i]表示速度。[p(t)i]、[p(t)g]分别表示粒子历史最优位置与整个群体寻找到的最优位置。每个粒子都将通过不断迭代在设计空间中寻找自身最优解与全局最优解。整个种群通过式(7)、式(8)进行速度与位置更新。

式(7)包含3部分的加和:第一部分为上一代粒子速度与惯性因子[ω]的乘积;第二部分表征粒子个体搜索行为,激励粒子不断寻找个体最优解;第三部分表征粒子间的信息交互,共同寻找全局最优值。其中[c1]、[c2]分别是个体学习因子和社会学习因子,[r1]、[r2]为[0,1]之间的随机数。

1.3 基于PSO优化的LSTM神经网络预测模型

本研究通过构建LSTM网络预测模型,并使用PSO算法对LSTM模型中的关键参数进行优化,最终将模型应用于医院科室门诊量预测中。建模与优化流程如图2所示。

LSTM模型中,使用前一时刻数据对下一时刻数据进行预测,可选择不同数量的前一时刻数据,如利用前两个月的门诊量对下个月门诊量进行预测,这一参数为回溯时间步长n。同时,将LSTM中每层网络的神经元个数设为参数[ki],并将这些参数作为粒子群优化的候选解向量。将目标函数设置为LSTM模型的门诊量预测误差,通过算法迭代使预测误差最小,从而求得一组模型的最优参数,最终得到基于粒子群优化的LSTM模型用于门诊量预测任务。

2 门诊量预测

2.1 数据集与数据预处理

门诊量预测数据来源于上海市第六人民医院,选取与膝骨关节炎等中医慢病相关的骨科门诊。骨科同时也是所有科室里门诊量最大的科室之一,因此对骨科门诊的管理工作非常重要。数据包含骨科2012年1月-2018年10月各月的门诊量数据,该数据为一个长度为82个月的连续时间序列。图3展示了骨科门诊量在这段时间内的变化。从折线变化趋势可以看出,骨科门诊量按年度呈现出一定的周期性变化规律,这是由于假期对门诊量的影响比较显著,如每年春节期间都是门诊量的一个低谷,而诸如国庆节等假期也会导致该月份门诊量较小。

从图3可以看出,该门诊量数据为非平稳序列,波动较大,从最小值20 194人次到最大值54 070人次,并且在各个年份都有多个波峰与波谷。因此在进行预测之前,首先进行数据预处理工作。采用式(9)对数据进行归一化处理,将原始数据等比例缩放至[0,1]之间。其中,[Xnorm]为归一化后的数据,[Xmax]为样本中的最大值,[Xmin]为样本中的最小值。

经过数据预处理之后,将数据集划分为训练集和测试集。其中,选取最后12个月(2017年10月-2018年10月)门诊量作为最终的测试数据,剩下部分作为训练数据。优化的LSTM模型将利用训练集进行训练,并用测试集进行门诊量预测。

2.2 评价指标

为檢验模型最终预测效果,采用均方根误差(Root Mean Square Error,RMSE)对预测结果进行评价。如式(10)所示,RMSE是预测值[yi]和真实值[yi]偏差的平方与样本数n比值的平方根。该评价指标反映了预测值偏离真实值的程度,对大误差非常敏感,能够较好地反映预测精度。

2.3 实验结果与分析

本算例测试选择进行粒子群优化的LSTM模型参数,包括回溯时间步长n,以及三层神经网络的神经元个数[k1]、[k2]、[k3]共4个关键参数,粒子群算法优化目标为最小化LSTM网络预测误差RMSE。在粒子群算法中,设置粒子数为20,最大迭代次数为50。图4展示了PSO迭代过程最优值变化曲线。

选取迭代次数为1、25及50时的LSTM关键参数分别进行门诊量预测曲线绘制,如图5所示。图中将训练集与测试集数据共同绘制在同一幅图上(图5中实线),并且分别绘制出模型在训练集和测试集上的预测曲线(图5中的虚线和点划线)。图中预测曲线并没有完全覆盖原始数据曲线的时间范围,这是因为LSTM模型中的回溯时间步长n大于0,算法需要n个月份的门诊量数据预测后续月份门诊量。

在LSTM模型参数优化初始阶段,模型对训练集数据拟合效果很好,但在测试集上预测效果不佳,模型存在过拟合现象。当优化迭代到25次时,虽然训练集拟合不如刚开始的拟合效果,但测试集上的预测曲线开始接近测试集数据;而当迭代到50次时,训练集预测曲线在2015年之后与原始曲线非常接近,测试集上的预测值也与真实值更加接近。

经过粒子群算法的优化,最终选取优化参数n= 6、[k1=69]、[k2=128]、[k3=58]訓练LSTM预测模型。基于骨科门诊量数据的优化LSTM模型训练与测试预测曲线和真实值曲线对比如图6所示。由图6可以看出,随着训练的进行,模型在训练后期具有越来越高的拟合精度,预测曲线与真实值曲线几乎重合,模型准确地拟合出各个年份波动。模型在测试集上的预测也效果较好。其中,预测曲线很好地捕捉到2018年1-2月门诊量的断崖式下跌,2018年2月为春节,因此造成门诊量减少。尤其在门诊量回升阶段预测效果显著,几乎与原曲线重合。另外,预测曲线还成功预测出2018年骨科门诊量的几次波峰波谷变化趋势,以及最终10月门诊量受国庆假期影响而减少的趋势。总体而言,在测试集上,模型预测值虽然与真实值存在一定误差,但误差控制在10%以内。模型能够很好地把握门诊量整体变化趋势,对于预测将来门诊量增减趋势具有一定应用价值。

表1列出了不同PSO迭代次数下LSTM在训练集与测试集上的RMSE值。可以看出,由于优化目标为最小化测试集的RMSE,因此在粒子群优化初始阶段,LSTM模型倾向于在训练集上拥有小的RMSE,但是优化过程使测试集RMSE不断减小。最终优化LSTM模型在测试集上的RMSE相比最初减小了2 927.64,优化效果较为显著。

3 结语

门诊量预测作为门诊管理的重要部分,影响着医院对医疗资源的合理配置与优化。本研究针对三甲医院骨科历年的月度门诊量记录,使用深度学习方法,构建长短期记忆网络模型进行门诊量预测。为解决网络模型超参数较多、优化困难的问题,结合粒子群优化算法,开发了一套基于粒子群优化的长短期记忆网络模型。算例测试结果表明,虽然在最终的预测精度上仍有提升空间,但通过粒子群优化,模型预测RMSE减小了2 928,比原模型预测误差减小了48.5%。优化后的预测模型能够较好地预测出门诊量变化趋势,对于门诊量急剧变化的情形也有着较强的捕捉能力。综合来看,本研究提出的这套基于优化算法与神经网络的时序数据预测流程能够应用于医院各个科室的门诊量预测,也能很方便地扩展到各级医疗机构对序列数据的应用研究中,为医务工作人员更好地利用医疗数据提供技术支持。下一步研究将会在预测模型中纳入更多门诊量影响因素,如节假日、天气、医院地理位置等,建立更完善的综合预测模型,提供更精确的预测,以进一步深入挖掘医疗时序数据的实际应用价值。

参考文献:

[1] 王若佳,魏思仪,赵怡然,等. 数据挖掘在健康医疗领域中的应用研究综述[J]. 图书情报知识,2018,185(5):116-125.

[2] 孟琳,马金刚,刘静,等. 医疗大数据的应用与挑战[J].  医疗卫生装备,2018,39(10):77-80,94.

[3] 卢友敏.  医疗大数据及其面临的机遇与挑战[J].  信息与电脑(理论版),2018,415(21):10-11.

[4] 舒影岚,陈艳萍,吉臻宇,等.  健康医疗大数据研究进展[J].  中国医学装备,2019,16(1):149-153.

[5] 陶源,高旸昉,刘玲.  自回归滑动平均求和季节乘积模型在某医院门诊量预测中的应用[J].  中国医院统计,2017,24(5):391-393.

[6] 张宇斐,申思,盖小荣,等.  北京市某大型综合医院门诊量变化动态分析及预测[J].  中国卫生统计,2018(4):590-592.

[7] 张洪彬.  2010年-2016年某院门诊人次季节趋势预测[J].  中国病案,2018(6):38-40.

[8] 王琦,郑静,吴清香,等.  灰色GM(1,1)预测模型在门诊量预测中的应用[J].  中国医院管理,2007,27(2):26-27.

[9] 向前,陈平雁.  预测医院门诊量的ARIMA模型构建及应用[J].  南方医科大学学报,2009,29(5):1076-1078.

[10] 李小升,马春柳,雷海科,等.  SARIMA模型在医院门诊量预测中的应用[J].  中国病案,2013(3):37-40.

[11] LECUN Y,BENGIO Y,HINTON G. Deep learning[J].  Nature,2015,521(7553):436-444.

[12] 孙志军,薛磊,许阳明,等.  深度学习研究综述[J].  计算机应用研究,2012(8):11-15.

[13] 杨旭华,钟楠祎.  基于深度信念网络的医院门诊量预测[J].  计算机科学,2016(z2):26-30.

[14] 桑发文,韦哲,陈辉,等.  基于相似日和极限学习机方法的医院门诊量短期预测[J].  中国数字医学,2018,13(2):119-121.

[15] 劉健,张翼飞,李宝娟,等.  基于XGBoost的精神科门诊量预测模型[J].  华南国防医学杂志,2019,33(4):56-59.

[16] 李琳,王哲,张学良,等. 基于LSTM深度神经网络的月门诊量预测精度研究[J].  中国数字医学,2019,14(1):14-17.

[17] HOCHREITER S,SCHMIDHUBER J. Long short-term memory[J].  Neural Computation,1997,9(8):1735-1780.

[18] 陈渝,任正军. 融合EMD与LSTM神经网络的门诊量预测模型研究[J]. 软件导刊,2019,18(3):133-138.

[19] 卢鹏飞,须成杰,张敬谊,等. 基于SARIMA-LSTM的门诊量预测研究[J]. 大数据,2019,5(6):1-10.

[20] SUTSKEVER I,VINYALS O,LE Q V. Sequence to sequence learning with neural networks[C]. The 27th Internation Conference on Neural Information Processing Systems,2014:3104-3112.

[21] KENNEDY J,EBERHART R. Particle swarm optimization[C].  IEEE International Conference on Neural Networks,1995:1942-1948.

(责任编辑:黄 健)

猜你喜欢

粒子群优化深度学习
引入萤火虫行为和Levy飞行的粒子群优化算法
有体验的学习才是有意义的学习
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
基于混合粒子群优化的频率指配方法研究
基于混合核函数的LSSVM网络入侵检测方法
多项目环境下建筑施工企业资源管理问题研究