基于LSTM的临床血液需求预测方法
0 引 言
血液是一种宝贵的特殊资源,也是现代医疗的重要组成部分之一,被广泛应用于手术大量用血、急诊突发用血以及临床治疗等方面[1]。近年来随着我国社会经济的不断发展和医疗卫生体系的不断完善,使得血液制品的需求量快速增长。据统计,全国355家中心血站以上级别的采供血机构的总供血量以每年15.3%速度增长[2],人均用血量由2008年的1.83 ml增加到2011年的2.80 ml[3]。基于血液中各种成分的特点,使得血液保存期只有几天至几十天,进一步加剧了血液供需问题,给血液采集工作带来了巨大挑战和压力[4]。在制定全年采血计划时,如何采用科学有效的措施,合理准确地预测和评估临床血液需求量是血液中心普遍关注的问题,具有重要的研究意义。
本次补充调查对象主要以种子植物为主,下一步将对蕨类植物进行收集整理。此外,受个人水平和时间所限,还有一些领域尚未涉足,如禾本科、莎草科、唇形科等,可以说保护区的植物资源相当丰富,还有很大的潜力可挖,期待同行专家前来考察指导。
关于如何预测临床血液需求量,许多学者基于历史数据提出了不同的需求预测模型,目前常用的预测模型主要分为3类[5]:回归分析模型、时间序列模型和随机模型。回归分析模型主要采用经典的时间序列分析技术,对季节、趋势、周期等影响因素进行分析。例如:马洪[6]通过对12家医疗机构2年的临床用血量进行调查分析,建立多元线性回归模型预测临床用血量;邹艳艳等人[7]根据血液中心的“成品库月报”,运用自回归分析法构建各月临床用血量的预测模型。近几年,ARMIA时间序列模型被用于预测临床血液需求。例如:方春燕等人[8]通过对历史临床用血量的统计分析,推测临床用血量的发展趋势,建立了ARIMA时间序列预测模型;陈迎春等人[9]运用ARIMA时间序列模型对成都市医院的临床用血量进行分析预测。随机模型主要根据运筹学、支持向量机、小波分析等预测血液需求量。例如:王钢等人[10]基于随机库存理论,解决了贮血问题上的供需矛盾,减少了血液的浪费;朱莎等人[11]提出基于小波分析和支持向量机的组合方法,对血液需求量进行预测。
随着大数据时代的到来,医疗行业和信息技术结合得越来越紧密[12],比如:孙浩[13]基于ARIMA时间序列模型、神经网络模型和卡尔曼滤波模型,建立了组合模型ARIMA-ANN和ARIMA-KALMAN预测血液供需量,得到了较好的血液供需预测结果。为此,相对于传统的统计/回归模型,如何结合临床血液需求特点和大数据技术确定合适的临床血液需求量,受到研究者的广泛关注。
本文主要对2005-2016年江西省血液中心的临床用血量进行统计分析,并采用长短期记忆网络LSTM方法对2016年各月的临床血液需求量进行预测,从而为血液中心制定未来采供血年度计划提供合理依据。
1 LSTM网络介绍
长短期记忆网络LSTM是建立在循环神经网络上的一种新型深度神经网络,该网络能够从历史数据中学习数据间长期依赖关系,适用于分类、处理和预测大小未知的时间序列等领域[14-16]。
LSTM的网络结构如图1所示,其隐藏层通过一个指向自身的环将当前时刻处理的信息传递给下一时刻使用,使得该网络具有记忆功能。在LSTM的网络中,隐藏层的网络结构如图2所示,其中,隐藏层的基本组成模块为记忆单元,这些记忆单元(Cell)连接着输入门(Input Gate)、输出门(Output Gate)和遗忘门(Forget Gate),控制着历史储存和访问信息。其中,输入门用于是否允许输入层的信息进入隐藏层节点;输出门表示是否将当前节点的输出值输出给下一层;遗忘门表示是否保留当前隐藏层节点储存的历史信息。
图1 LSTM网络结构
图2 LSTM记忆单元结构
在LSTM网络中,设xt和ht分别表示t时刻网络的输入值和输出值;it、ft、ot、ct、mt分别表示输入门、遗忘门、输出门、记忆单元的状态以及隐藏层的输出;且输入门值it、遗忘门值ft和输出门值ot受到t时刻输入值xt、t-1时刻隐藏层输出值mt-1和t-1时刻记忆单元存储信息ct-1的影响。从输入值xt到输出值ht的具体计算公式为:
it=σ(Wixxt+Wimmt-1+Wicct-1+bi)
ot=σ(Woxxt+Wommt-1+Wocct-1+bo)
(1)
ft=σ(Wfxxt+Wfmmt-1+Wfcct-1+bf)
(2)
Log4j是Apache基金会的一个开源日志项目。Log4j的日志信息可以输出到文件、数据库、控制台等,还可以设置日志的输出格式。只需通过一个配置文件即可灵活的配置Log4j,并可以选择ALL、DEBUG、INFO、ERROR等多种日志记录级别。Log4j提供了多种语言接口,可以在Java、C、C++、C#等程序中使用。
(3)
神父的谨慎在麻木的心灵里毫无反响。俘获天使的消息不胫而走,几小时之后,贝拉约的院子简直成了一个喧嚣的市场,以至于不得不派来上了刺刀的军队来驱散都快把房子挤倒的人群。埃丽森达弯着腰清扫这小市场的垃圾,突然她想出一个好主意,堵住院门,向每个观看天使的人收取门票五分。
(4)
mt=ot⊙y(ct)
(5)
ht=η(Wcmmt+by)
不同的计算机在药房工作过程中,都需要建立出计算机的使用登记记录,这样就能够了解计算机在使用过程中的使用人员信息,例如说使用患者的姓名和住院号码以及身份证号码,来了解使用患者的情况,同时也能够通过记录来了解药房中药物的计量和余量还有多少,药物具体的使用情况等,能够提升药物管理的规范性和严谨性[2]。
(6)
步骤1 将t-1时刻的红细胞使用量作为输入值,将t时刻的红细胞使用量作为输出值,实现将时间序列预测问题转化为监督学习问题;
通过麦肯齐河水系,大量的浮木漂流入海进入北冰洋,在那里与海冰冻在一起,海冰在融化之前会顺着波弗特环流将漂流木带到遥远的海岸线上。通过研究北极漂流木的数量和分布,研究人员可了解到更多过去12 000年里关于洋流、海冰和气候变化的信息。
在进行实验之前,针对不同成分类型的红细胞,需要对其2005-2015年的临床用血量进行预处理操作,使其符合LSTM网络的数据要求。
2 实验分析
2.1 实验数据
实验采用江西省血液中心在2005-2016年每个月的临床用血量数据,并根据时间段,将2005-2015年的临床用血量数据划分为训练集,将2016年的临床用血量数据划分为测试集。其中,临床用血量以单位(U)计算,全血以200 ml为一个单位(U),红细胞类(悬浮红细胞、洗涤红细胞、冰冻红细胞、浓缩红细胞等)、血浆和血小板类按照每200 ml全血分离制备的成分血为一个单位(U)。
针对时间序列问题,相对于其他循环神经网络,LSTM网络能够更容易更快地收敛到最优解,为循环神经网络的反馈误差提供了更加灵活的学习过程,并且随着梯度下降,不会很快地进入局部最优解。
通过对2005-2015年的临床用血量进行统计分析,如表1所示,可知临床用血量呈现逐年递增的趋势,其中2006年增长速度最快(34.59%),其次是2007年(29.30%)和2009年(16.36%)。在逐年递增的趋势下,2015年相较于前一年,临床血液需求量下降7.29%,主要是因为临床血液需求量受到采血量和外界环境的影响。同时可以看出在临床用血中,成分输血所占比例较大且呈现逐年递增的趋势,从2005年的85.14%上升到2015年的近100%;全血输血所占比例较小且呈现逐年递减的趋势,从2005年14.86%下降到2015年的0%,说明江西省临床用血朝着科学化合理化的方向发展。
表1 2005-2015年的临床用血总量和各成分输血比例
年份血液总量/U增长率/%成分血全血使用量/U占比/%使用量/U占比/%2005423959.4-360961.785.1462997.7514.862006570627.534.59540563.794.7330063.755.272007737833.329.30725233.898.2912599.51.712008819738.511.1081666399.623075.50.382009953874.116.36952833.199.8910410.11201010356598.57103542499.982350.022011114083610.16114060599.982310.02201211500280.81114987899.991500.01201311990674.26119895699.991110.01201412103190.94121020199.991180.0120151122145-7.291122101100.0043.50.00
由于成分血中红细胞类与临床采供血量直接相关,因此实验主要采用2005-2015年临床血液中不同成分类型的红细胞使用量进行分析预测,如图3所示。
时间/月图3 不同成分类型的临床红细胞使用趋势
收回的专业教师调查问卷中,有5位老师给出建议,主要包括:①加强校企合作的深度融合,使教学内容接近企业实际生产;②加大校与校之间、校与企业之间交流力度,促进课程建设应用共享;③提倡专业教师下企业,提高教师实践能力,将所学理论知识应用于实践,然后将实践经验应用于教学;④课程建设内容的实时更新、以及加强学生学习过程设计;⑤加强网络化教学:一要体现企业行业要求,二要有完整体系
其中,σ表示sigmoid函数,g和y表示tanh函数,η表示softmax函数,⊙表示点对乘积,Wix、Wfx、Wcx、Wox分别表示连接输入值xt的权值矩阵,Wim、Wfm、Wcm、Wom分别表示连接隐藏层输出值mt的权值矩阵,Wic、Wfc、Woc分别表示连接记忆单元ct和各门的权值矩阵,bi、bf、bc、bo表示偏置矩阵,Wym和by分别表示输出层的权值矩阵和偏置矩阵。
步骤2 对红细胞使用量进行差分操作,消除红细胞使用量受时间因素的影响;
式中,uα、uβ为逆变器输出电压矢量,iα、iβ为并网电流矢量,eα、eβ为电网电压矢量。有功功率和无功功率可由静止坐标系下电压电流矢量计算得出。
步骤3 调用MinMaxScaler方法对红细胞使用量进行数据归一化处理,使其处于[-1,1]区间,以满足LSTM网络的输入值需要处于tanh激活函数区间的要求。
ct=ft⊙ct-1+it⊙g(Wcxxt+Wcmmt-1+bc)
经预处理操作后,2005-2015年不同成分类型的红细胞使用量转化为[-1,1]区间的输入值和输出值,如图4所示。
图4 不同成分类型的红细胞预处理结果图
2.2 实验设置
为了测量LSTM网络预测临床用血的有效性,实验分别基于传统的时间序列模型ARIMA[13]和本文的LSTM网络,预测2016年每个月的A型、B型、O型和AB型红细胞的临床需求量。其中,实验的软件环境为Ubuntu16.04操作系统和以Tensorflow 1.3.0作为后端计算的Keras 2.0.8深度学习框架提供的LSTM神经网络模型;硬件环境的CPU为Intel(R) Core(TM) i7-6700 CPU 3.40 GHz,内存为16 GB。
良好的工程实施是实现预制光缆连接“即插即用”与光缆通信安全可靠的前提。现阶段预制光缆的工程实施存在敷设不规范、光缆衰减过大及光缆预制控制困难等问题,对上述问题开展研究并提出解决方案,是保障良好工程实施的重要手段。
在实验中,由于参数的设置对实验结果影响较大,因此实验通过不断调整参数训练模型直至得到较好的实验结果。对于ARIMA模型,实验通过构建差分阶数函数,在保证ADF检验的P<0.05情况下,自动确定差分阶数d;并通过BIC统计量自动确定自回归项数p和移动平均项数q。对于LSTM网络,输入层维数Input设为1,输出层维数Output设为1,隐藏层神经单元个数Mnunit设为[1,4],每一次训练的样本数Batch设为[4,24],时间步长Time设为[2,12],学习率lr设为[0.005,0.01],迭代次数Epoch设为[300,600]。
2.3 实验结果及分析
通过选取在训练集上实验效果最好的一组参数作为测试集的模型参数进行对比实验,其中模型参数设置如表2所示,实验结果如图5~图8所示。从预测对比图可以直观看出,LSTM网络的预测效果优于ARIMA模型的预测效果。为了评价实验效果,实验选用误差作为评价指标,分别计算各类型红细胞每个月临床血液需求量的预测值和实际值之间误差以及全年临床血液需求量的预测值和实际值之间误差。具体的误差计算结果如表3所示。
表2 实验参数
模型参数血型A型B型O型AB型ARIMAp13121313d0000q1001LSTMInput1111Output1111Mnunit3333Batch12121212Time6666lr0.0080.0080.0080.008Epoch500500500500
图5 A型红细胞临床用量预测对比图
图6 B型红细胞临床用量预测对比图
图7 O型红细胞临床用量预测对比图
图8 AB型红细胞临床用量预测对比图
表3 预测值与实际值的误差对比 单位:%
月份血型A型B型O型AB型LSTMARIMALSTMARIMALSTMARIMALSTMARIMA15.99-1.650.74-4.931.79-1.832.642.9825.015.015.21-0.014.22-0.451.600.8735.01-2.532.74-3.721.722.042.143.5143.60-3.752.62-4.412.40-6.233.32-5.9651.25-6.161.45-5.781.90-5.574.181.0063.07-10.930.09-3.641.63-10.63-0.55-5.5171.89-4.101.14-7.370.22-6.65-3.51-11.658-2.01-6.02-0.52-2.88-1.23-5.250.42-6.729-2.33-4.20-1.02-1.29-1.65-10.332.26-5.8210-2.68-7.26-3.31-5.69-1.42-5.12-3.16-6.1511-1.87-7.29-2.74-3.58-2.84-8.41-2.49-3.4812-2.23-6.02-1.510.77-3.08-6.10-3.22-2.33全年总量0.88-4.600.36-3.630.23-5.500.23-3.46
由表3可知,ARIMA模型的每个月预测值均比实际值小且全年总量预测值也小于实际值,说明了虽然ARIMA模型在一定程度上能够体现临床血液需求变化趋势,但是该模型对实际需求峰值点的捕捉有待提高。相对于ARIMA模型,LSTM网络在1-7月的预测值均比实际值大,在7月之后预测值略小于实际值,主要是由于实际的血液需求量极易受到外部环境影响,导致预测效果下降;LSTM网络的全年总量预测值均略大于实际值,不仅能够避免预测结果过大导致采血过量和血液浪费,而且能够考虑血液非正常报废等因素造成血液短缺的情况。实验结果表明,LSTM网络能够较好地反映临床血液需求变化趋势,预测结果具有较高的准确性和实用性。
3 结束语
在制定采供血计划时,需要科学合理地预测临床血液需求趋势,使其既能保障临床用血充足又能避免血液储存过多造成的浪费。本文提出的LSTM模型能够通过对过去临床用血量的学习,深入挖掘临床用血量和时间序列之间的关系,有效预测中短期内临床用血的需求量,提前规避缺血和“血荒”的发生。
由于临床用血容易受到外界因素的影响,一些典型的非常规突发事件(大地震、泥石流等自然灾害、大型公共卫生事件)等都对临床血液需求量产生较大影响,因此如何结合非常规突发事件预测临床血液需求量值得进一步研究。
参考文献:
[1] 采卉. 卫生部通报无偿献血工作进展情况[J]. 中国输血杂志, 2012,25(1):76.
[2] 邓雪莲,梁晓华,王黎,等. 355家采供血机构全血供应现状调查[J]. 中国输血杂志, 2011,24(9):779-780.
[3] 李雅杰,安万新,梁晓华,等. 全国各地血液供应紧张原因分析及对策[J]. 中国输血杂志, 2012,25(12):1236-1238.
[4] 李雪晶. 济南市采供血动态分析及预测[D]. 济南:山东大学, 2014.
[5] 马文文,王梦圆,赵轶轮,等. 血液需求预测模型研究[J]. 中国输血杂志, 2015,28(6):740-744.
[6] 马洪. 临床供血调控研究——以黄南州为例[J]. 青海医学院学报, 2010,31(2):120-122.
[7] 邹艳艳,薛茜,杨蕾,等. 自回归分析法进行临床用血量的预测[J]. 新疆医科大学学报, 2009,32(5):606-607.
[8] 方春燕,朱家明. 基于时间序列分析的血液供应量预测[J]. 北京医学, 2016,38(6):606-609.
[9] 陈迎春,杨群身,万涅科,等. 临床血液需求量趋势的ARIMA模型研究[J]. 实用医院临床杂志, 2011,8(5):190-192.
[10] 王钢,丽娜,曹玉茹,等. 随机型库存模型在血库贮血管理中的应用初探[J]. 陕西医学检验,1994,9(4):229-230.
[11] 朱莎,刘晓. 小波分析和支持向量机组合法预测应急血液需求研究[J]. 中国安全科学学报, 2013,23(5):166.
[12] 罗旭,刘友江. 医疗大数据研究现状及其临床应用[J]. 医学信息学杂志, 2015,36(5):10-14.
[13] 孙浩. 血液供需预测模型及盈缺预警机制研究[D]. 成都:西南交通大学, 2017.
[14] 孙瑞奇. 基于LSTM神经网络的美股股指价格趋势预测模型的研究[D]. 北京:首都经济贸易大学, 2015.
[15] 侯伟涛,姬东鸿. 基于Bi-LSTM的医疗事件识别研究[J/OL]. http://www.arocmg.com/article/02-2018-07-019.html, 2017-07-27.
[16] Goodfellow I, Bengio Y, Courville A. Deep Learning[M]. MIT Press, 2016.