APP下载

融合时域卷积、残差结构和注意力机制的时序预测①

2021-10-11孙思宇张标标吴俊宏马仕强

计算机系统应用 2021年9期
关键词:方根时域残差

孙思宇,张标标,吴俊宏,马仕强,任 佳

1(浙江理工大学 机械与自动控制学院,杭州 310018)

2(浙江远图互联科技股份有限公司,杭州 310012)

1 引言

随着当前居民医疗需求的迅速增长[1],智慧医疗成为大势所趋.如何通过信息化手段提高医疗管理效率、提升医疗服务质量和安全,已成为医疗领域最关注的焦点.流水量是衡量一家医院经营、管理水平的重要指标之一,准确高效的预测流水数据的长期变化能够为医院的资源分配、工作调度等提供依据,提高医院资源利用率.流水量是一种典型的时间序列数据,可以应用时间序列预测方法进行研究.

时间序列预测方法按照不同研究阶段可以归纳为3 类:传统时序预测方法、基于浅层机器学习的时序预测方法和基于深度学习的时序预测方法.

传统时序预测方法的典型代表为自回归(Auto-Regressive,AR)模型、滑动平均(Moving Average,MA)模型、自回归-滑动平均(AutoRegressive Moving Average,ARMA)模型[2].AR 模型用时间序列中的过去值的线性组合加误差项来表示当前值,MA 模型用随机噪声的线性组合加误差项来表示当前值,ARMA模型是AR 模型和MA 模型的结合.这3 种模型都以时间序列平稳为前提,当时间序列不平稳时,需引入差分方法[3]使序列变为平稳序列,即自回归-差分-滑动平均模型[2].

传统时序预测方法受限于固定的模型框架,且几乎所有模型都是线性的.但现实中时序数据常常表现为非线性特性,线性模型无法很好的拟合非线性数据的变化趋势,使得传统时序预测方法对此类数据的预测效果有限.随着机器学习算法的发展,越来越多的机器学习算法被应用于时序预测中,如支持向量机、贝叶斯算法、各种浅层神经网络等,机器学习算法能够较好的处理非线性问题.文献[4]使用神经网络提取特征,然后使用支持向量机来预测汇率变化,同时对不同的支持向量机的核函数进行了比较.文献[5]使用贝叶斯算法来推断金融时间序列数据的波动性从而实现时序预测.文献[6]提出了一种基于人工神经网络的模型用于海洋涛动指数和海面温度的预测.

基于机器学习的时序预测方法在处理具有高维数的大数据的能力有限,并且无法实现复杂的功能[7].随着深度学习的兴起,越来越多的深度学习网络被应用到时序预测中.多层感知器(Multi-Layer Perceptron,MLP)是最早开发的人工神经网络之一,与浅层网络的区别在于可以包含更多的层,主要由3 层组成:输入层、隐藏层和输出层.每个隐藏层具有非线性的激活函数.为更好的对序列数据进行处理,20世纪80年代提出了循环神经网络(Recurrent Neural Network,RNN),RNN 具有记忆性,对序列的非线性特征进行学习时具有一定的优势,RNN 与普通神经网络的区别在于神经元的输出取决于当前的输入和先前的输入数据.为了解决RNN 只能学到短期依赖关系,无法学习长时间跨度的非线性关系的问题,1997年,Hochreiter和Schmidhuber 提出了长短期记忆网络(Long Short-Term Memory,LSTM)[8].由于其采用3 个门控控制输入、记忆和输出状态的选择,因此LSTM 可以有效的处理和预测长时间依赖的时间序列.2006年,Hinton等[9]提出了深度置信网络(Deep Belief Network,DBN),DBN 通过堆叠受限玻尔兹曼机组成,通过预训练结合反向传播更新网络参数,具有更高的精度,能够有效运用于多维非线性序列的拟合.2018年,Bai 等[10]提出了时间卷积网络(Temporal Convolutional Network,TCN),TCN 使用因果卷积提取时序特征,使用扩张卷积增大感受野,使用残差卷积加快反馈与收敛.与传统RNN 相比,TCN在参数量上大幅减少,在结构上更加简洁明了.文献[11]使用循环神经网络来对空气污染进行预测.文献[12]提出了一种多层网格搜索的LSTM 预测模型.文献[13]采用基于DBN的模型结构来对交通流进行预测.文献[14]通过使用TCN网络结构提取数据的时间特征用于交通预测,取得了较好的应用效果.

现有的医院流水预测方法大多使用ARIMA 模型或简单人工神经网络模型,这些模型只能简单地把握数据的浅层特征,对于复杂结构的流水数据,无法挖掘数据的前后大跨度信息,对数据特征的把握不够全面,导致模型预测的准确率和效率不佳.基于以上分析,为进一步提高医院流水预测模型的准确率和效率问题,针对流水数据具有长、短期特征、非线性和非平稳性的特点,本文提出了一种基于时域卷积、残差结构和注意力机制的时序预测模型(A-TCNN).本文主要的创新点如下:(1)引入时域卷积提取时间关联特征,残差结构加快网络收敛以及缓解网络深度增加带来的梯度消失问题,通过使用不同的残差时域卷积模块分别提取时间序列的长、短期特征;(2)引入注意力机制加强模型中对输出影响较重的参数的权重;(3)所提算法在实际医院流水数据集进行测试验证,与常规网络对比,比较多种多步预测策略,证明了本文所提模型的有效性.

2 算法理论基础

2.1 时域卷积

卷积神经网络是LeCun 等[15]在1998年提出的一种神经网络模型,它利用卷积层处理多维图像输入,是一种应用于计算机视觉领域的模型.

卷积层(图1)是卷积神经网络模型的基础,通过将输入图像与卷积核进行卷积运算来提取输入图像的局部特征,通过卷积的权重共享来降低参数的数量.

图1 卷积层操作过程

时域卷积是一维卷积的一种应用,将输入按照时间进行卷积,即在t时刻的输出数据不会依赖t+1以及未来的时刻,时域卷积结构如图2所示.同时可以通过膨胀卷积的方式扩大时域卷积的感受野,时域膨胀卷积的结构如图3所示.

图2 时域卷积

图3 时域膨胀卷积

时域卷积的计算公式如式(1)所示.

其中,yt为t(1 ≤t≤n) 时刻的输出值,xt-p*(k-1)为t-p*(k-1)时 刻的输入值,ωt-p*(k-1),k为神经元的权重,p为膨胀系数,m为卷积核个数.

2.2 注意力机制

注意力机制(Attention Mechanism,AM)[16]通过构建一个注意力矩阵,使神经网络在训练过程中关注重点特征,从而降低其他低影响特征的权重.其计算公式如式(2)所示.

其中,Q(Query),K(Key),V(Value)为对输入进行线性变换得到的3 个矩阵,dk是Q和K的一个维度,用于防止Q和K的内积过大.

2.3 多步预测策略

时序预测可描述为:给定时序数据 [y1,y2,···,yN],预测其之后H个值[yN+1,yN+2,···,yN+H].

常见的时序预测方法是单步预测(single),即用长度d的序列映射其之后的一个值,但是单步预测方法只能预测未来一个时刻的值,这时候需要通过多步预测方法来达到长期预测的效果.目前常用的用于多步预测的策略有5 种[17]:递归(recursive) 策略[18,19]、直接(direct)策略[18,19]、直接-递归(DirRec)策略[20]、多输入多输出(MIMO)策略[21]和直接-多输出(DIRMO)策略[22].递归策略选择将前一次预测的值当做输入值来预测下一个值;直接策略对每一步的预测建立一个模型;直接-递归策略将直接策略与递归策略相结合,通过将上一步预测得到的值加入到下一步预测的输入集中扩大输入,即随着训练模型的增加,输入数据的长度也将增加;多输入多输出策略直接使用多目标输出多步的值;直接-多输出策略结合直接策略和多输入多输出策略的特点,将需要预测的H步数据长度分成s段,因此需要训练p=H/s个模型.各种策略的计算过程如表1所示.

表1 多种预测策略的数学表达

3 本文算法A-TCNN 网络结构及实现

针对现有时序预测模型对非线性、非平稳性的数据预测效果不佳,为进一步提高预测模型的准确率和效率问题,考虑时域卷积对于提取时间关联特征的有效性和参数的轻量化,残差结构能够加快网络收敛以及缓解网络深度增加带来的梯度消失问题,以及注意力机制能够加强模型中对输出影响较重的参数的权重,本文提出了一种基于时域卷积、残差结构和注意力机制的时序预测模型(A-TCNN).模型(如图4所示)包含残差时域卷积层、注意力层、融合层和全连接层.

图4 A-TCNN 模型结构

第1 层为输入层,输入向量为给定长度的时间序列数据:

其中,d为时间步长.

第2、3 层为残差时域卷积层,共4 个残差卷积模块,每个残差卷积模块包含一个普通卷积Conv和一个时域卷积Temporal Conv,时域卷积采用不同的膨胀系数p分别用于提取长、短期的时序特征:

其中,ωc1,ωc2,ωc3,ωc4为卷积权重,ωt1,ωt2,ωt3,ωt4为时域卷积权重,bc1,bc2,bc3,bc4,bt1,bt2,bt3,bt4为偏置,ReLU为激活函数.

第4 层为注意力层:

其中,ωq1,ωk1,ωv1,ωq2,ωk2,ωv2为注意力权重,dk1,dk2为Q或K的一个维度.

第5 层为拼接层,将前一层得到的两个输出对时间维度进行拼接:

第6 层为全连接层,得到输出值:

其中,ωy为全连接层权重,by为偏置.

模型采用多层残差结构的时域卷积,能够有效的对数据的长期和短期关系特征进行提取;通过注意力机制加强参数的权重,得到输入数据的特征向量表示;经过全连接层得到精度较高的输出结果.

模型选择以均方根误差作为目标函数,用Adam优化算法对模型参数进行更新.

4 实验及结论

4.1 实验仿真

为验证算法效果和鲁棒性,使用杭州市某医院2019年全年的实际流水数据进行测试.原始数据为百万数量级的每人次消费金额,现从门诊消费金额和全部消费金额两个角度对数据进行整合,得到门诊流水和全部流水两个数据集,两个数据集均表现为非线性、非平稳性,分别对每个数据集按天进行聚合,同时对数据进行窗口滑动滤波处理消除随机噪声干扰,选择前11 个月的数据为训练集,后1 个月的数据为测试集.选择时间步长d为14,即用14 天的时间进行预测,单输出时预测1 天的值(H=1),多输出时预测30 天的值(H=30),分段输出时每段预测6 天的值(H=6).门诊流水数据集和全部流水数据集各得到285 组结构为14×1的训练集和30 组结构为1 4×1的测试集.

本文采用ARIMA 模型、MLP 网络、LSTM 网络、TCNN 网络和A-TCNN 网络对上述数据进行预测,分别对5 种模型的单步预测和5 种多步预测策略的结果进行对比.其中,MLP 网络的结构及参数如图5所示;LSTM 网络的结构及参数如图6所示;TCNN 网络的结构如图7所示,该网络为不添加注意力层的ATCNN 网络,其余参数与图4算法相同.采用均方根误差(RMSE)和R2分数(R-squared score)进行评价,R2分数越接近1 表示拟合程度越好,两种评价标准的公式如式(18),式(19)所示.在两个数据集上的实验结果如表2所示.

图5 MLP 网络结构

图6 LSTM 网络结构

图7 TCNN 网络结构

4.2 结果分析及讨论

从表2倒数第2 行两个数据集单步预测策略的平均指标来看,与MLP 网络相比,TCNN 网络和ATCNN 网络的平均均方根误差降低和平均R2分数提升效果不明显;与LSTM 网络相比,TCNN 网络的平均均方根误差降低了25.9%,平均R2分数提升了6.6%;A-TCNN 网络的平均均方根误差降低了32.3%,平均R2分数提升了8.2%.

表2 5 种网络多种预测策略在医院流水两个数据集的测试结果对比

从最后一行两个数据集多步预测策略的平均指标来看,与ARIMA 模型相比,TCNN 网络的平均均方根误差降低了20.8%,平均R2分数提升了10.8%,A-TCNN网络的平均均方根误差降低了30.0%,平均R2分数提升了15.0%;与MLP 网络相比,TCNN 网络的平均均方根误差降低了18.2%,平均R2分数提升了9.6%,ATCNN 网络的平均均方根误差降低了27.7%,平均R2分数提升了13.8%;与LSTM 网络相比,TCNN 网络的平均均方根误差降低了23.7%,平均R2分数提升了14.9%,A-TCNN 网络的平均均方根误差降低了32.6%,平均R2分数提升了19.2%.

对比分析5 种网络的不同预测策略:由于Recursive 策略和DirRec 策略将模型预测得到的值应用于下一步的预测,使得每次预测的误差会累积,因此,随着预测次数的增加,误差会越来越大,所以这两种策略的效果比Single 策略和Direct 策略差.同时,Direct 策略和DirRec 策略需要建立多个模型,因此当预测步长较长时所花费的时间也成倍增加.MIMO 策略由于使用较小的输入步长预测较大的输出步长,使得输入含有的信息量不足,导致预测效果较差.DIRMO 策略是一种较为折中的策略,无需训练大量模型的同时,也能保证准确率.纵观全部结果可知:在多步预测的策略上,基于DIRMO 策略的A-TCNN 网络取得最佳预测性能,在门诊流水数据集上的均方根误差为0.190,R2分数为0.903;在全部流水数据集上的均方根误差为0.162,R2分数为0.940.

以上结果表明,A-TCNN 网络使用时域卷积来对医院流水数据进行处理,能够有效的提取时间关联特征,加强模型对非线性、非平稳数据的信息挖掘能力,减少参数的数量级,以及使用残差结构能够加快网络的收敛速度.与传统ARIMA 模型、MLP 网络和LSTM网络相比,预测能力和效果得到了明显的提升;同时进一步引入注意力机制来加强影响参数的权重,优化模型参数,再次增强模型的预测能力.

5 结束语

针对现有模型对时序预测的准确性和效率问题,本文提出了一种融合时域卷积、残差结构和注意力机制的预测模型,通过残差时域卷积层来对时间序列数据的长、短期特征进行提取,同时引入注意力机制强化模型参数,进一步提升模型的预测能力.在实际医院流水数据集上,与传统ARIMA 模型、MLP 网络和LSTM网络相比,在参数量上能够大幅减少,同时能够减少模型的训练时间以及硬件资源的消耗;在预测效果上,对于多种多步预测策略都有不同程度的提升,验证了该模型的有效性.该模型能够有效的对医院流水数据进行长期预测,有较好的实际应用效果,能够为医院的决策提供较好的参考.在未来研究中,考虑将其他特征(例如天气、节假日等)引入输入中,并优化模型结构,进一步提升模型的预测能力和准确性.

猜你喜欢

方根时域残差
多级计分测验中基于残差统计量的被试拟合研究*
基于残差-注意力和LSTM的心律失常心拍分类方法研究
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
融合上下文的残差门卷积实体抽取
晚霞浅淡少年糖
我们爱把马鲛鱼叫鰆鯃
基于MATLAB 的信号时域采样及频率混叠现象分析
两种常用漂浮式风力机平台动态特性分析
数学魔术——神奇的速算
不同入射角风波流海上漂浮式风力机频域与时域动态特性