一类多区间预测的深度学习模型及实验分析

2019-06-24 08:03汤敬伟王达布希拉图
关键词:置信水平宽度区间

汤敬伟, 王达布希拉图

(广州大学 经济与统计学院, 广东 广州 510006)

近年来,伴随着人工智能理论与技术的不断进步,深度学习方法在计算机视觉、语音识别、自然语言处理、目标预测等多领域中得到广泛应用.其虽具有局部精准预测的性能优势,但有效量化深度学习预测的不确定性是目前急需解决的问题.目前大多数深度学习的结果为精准的均值预测,远远不能满足现实应用的需求.

为了量化预测时所产生的不确定信息,系统地提高预测的可靠性和有效性,人们将注意力聚焦于不确定性预测.不确定性预测主要包括密度预测和区间预测.密度预测给出概率密度函数或累积分布函数,能够反映预测结果的全部概率信息.通常都需要假设误差服从某一已知分布,如贝叶斯神经网络[1].Nix等[2]提出在正态分布假设下,利用神经网络和负对数似然损失函数对均值方差进行估计.虽然该方法计算较为简便,但是在实际应用中往往很难找到合适的分布来拟合其预测误差值,常出现预测不合理的问题.通过非参数的方法如核密度估计[3]、分位数回归[4]等方法,基于历史相关数据直接计算出其预测误差的经验分布函数或分位数点,可以规避假设分布不合理的问题.这类方法需要大量数据,并且存在维数灾难问题,即这些方法的性能会随着特征个数增加而迅速降低.

区间预测[5]能够给出在某一确定的置信水平下大致的波动范围,因而也能反映出预测结果的不确定信息.相较密度预测而言,区间预测能够较好地满足不确定预测的需要.当前,区间预测的主要研究致力于直接预测时间序列可能的上界与下界.Oord等[6-7]提出通过神经网络将回归问题转换成分类问题,根据预测分类结果的分布计算出区间预测值.然而这种方法得到的区间预测是特定置信水平下的近似区间,因此,Keren等[8]提出两种校准方法,得到更为合理且有效的区间预测值估计.还有通过区间预测的高质量原则构建有效的区间预测的损失函数,用于在深度学习模型中进行学习,其中Khosravi等[9]提出下上界估计(Lower Upper Bound Estimation, LUBE)的损失函数,并在很多领域内得到广泛的应用.但是LUBE损失函数并不可微,在使用深度学习模型时不能使用常用的基于梯度的算法,同时该方法易产生不合理的结果.Pearce等[10]基于Khosravi的工作提出新的区间预测的损失函数,并给出可微的损失函数形式.然而上述区间预测的损失函数只考虑单个区间,当进行多个区间预测时,这种方法要求对不同置信水平进行相互独立预测,因而并没有考虑不同置信水平下诸区间之间的内在联系,同时该方法还需更多的模型训练时间.

针对上述问题,本文拟将单区间高质量损失函数推广到适用于多区间的损失函数,并利用深度学习模型和UCI的家电能耗预测数据集验证多区间的损失函数有效性与合理性.

1 神经网络模型介绍

1.1 BP神经网络

由Rumelhart等在1986年首次提出的BP神经网络[11],是最常见的神经网络模型,可用于解决非线性问题.通常问题越复杂,需要的隐含层数量越多.前馈神经网络结构简单,能够以任意精度逼近任意连续函数及平方可积函数.具体的框架图如图1所示,其中x1,x2…,xM为模型的输入,W1,W2…,WL和b1,b2…,bL分别为隐含层的权重矩阵和偏置项,φ(·) 为激活函数.

图1 BP神经网络框架图Fig.1 Architecture of BP neural networks

1.2 长短期记忆网络(LSTM)

Hochreiter等在1997提出了LSTM[11],与RNN相比,增加了控制信息流动的门控单元系统,控制自循环的权重.在经典的RNN网络中,隐含层只有一个状态,这一状态只对短期输入敏感,因此,LSTM增加了一个保持长期记忆的状态.最重要的组成部分是状态单元,LSTM通过输入门Ct、遗忘门ft和输出门Ot控制信息的增减,具体的框架图如图2所示.

图2 LSTM框架图Fig.2 Architecture of LSTM

其中遗忘门ft,决定上个时间的输入单元Ct-1是否需要遗忘或保留信息,ft为1表示完全保留,为0表示完全遗忘.

ft=σ(wf·[hC-1,xt]+bf)

(1)

输入门Ct:由旧的输入门Ct-1信息与遗忘门ft相结合更新.

it=σ(Wi[ht-1,xt]+bi)

(2)

(3)

(4)

输出门Ot:决定当前状态单元的输出信息.

Ot=σ(WO·[ht-1,xt]+bO)

(5)

ht=Ot*tanh(Ct)

(6)

2 区间预测的损失函数

2.1 单一区间的损失函数[10]

区间预测的高质量原则(High-Quality principle,简称HQ原则)——高质量区间预测应该在特定的置信水平(区间能捕获数据点的比例)下,区间宽度尽可能小.根据HQ原则推导出无需分布假设的损失函数.

再定义n维向量K表示每个数据点是否被预测区间覆盖,每个分量kt如下所示:

m表示被区间预测值覆盖的数据点的总数

(7)

预测区间的覆盖概率(Prediction Interval Coverage Probability, PICP)和平均预测区间的宽度(Mean Prediction Interval Width, MPIW)定义为

(8)

(9)

根据HQ原则,高质量的预测区间应该在符合PICP≥(1-α)的条件下最小化MPIW,MPIW应该属于损失函数的一部分,但是没有覆盖到数据点的预测区间宽度就不应该再缩小.因此,提出已覆盖数据点的平均预测区间的宽度(captured MPIW)代替MPIW

(10)

假设kt是独立同分布的,m就会服从二项分布,m~B(n,(1-α)),根据中心极限定理(de Moivre-Laplace 定理[12]),对于极大的n值,m近似服从正态分布

B(n,(1-α))≈N(n(1-α),nα(1-α))=

(11)

因此,可以得到负的对数似然函数,

(12)

考虑到覆盖率与区间宽度的平衡,加上拉格朗日项λ,得到单区间损失函数:

LossQD=MPIWcapt+

(13)

2.2 多区间损失函数

首先定义R个不同的置信水平(1-α1),(1-α2),…,(1-αR),且(1-α1)>(1-α2)>…>(1-αR).定义向量u1用于判别置信水平(1-α1)的预测区间上界是否小于(1-α2)置信水平的预测区间上界,每个u1,t如下所示:

(14)

定义向量l1用于判别置信水平(1-α1)的预测区间下界是否大于置信水平(1-α2)的预测区间下界,其在t时刻的表达式如下:

(15)

根据向量u1计算出多区间的上界越界平均宽度(Mean Upper-bound Crossing Width, MUCW)为

(16)

同理可得,多区间的下界越界平均宽度(Mean Lower-bound Crossing Width, MLCW)

(17)

在单区间损失函数基础上,增加不同置信水平区间上界之间关系的量化函数(MUCW)和不同置信水平区间下界之间关系的量化函数(MLCW)来定义多区间联合预测的损失函数.

(18)

3 实验与分析

3.1 实验基础

本文采用的数据是家电能耗预测数据集,来源于UC Irvine Machine Learning Repository公开数据库(由加州大学欧文分校提供的用于机器学习的数据库),可在网站https://archive.ics.uci.edu/ml/index.php下载.

该数据记录一间低能耗的建筑从2016年1月11日至2016年5月27日的数据,其中检测的时间间隔为10 min,共记录了19 735个样本,同时收集了能源消耗量、温度、湿度和风速等29个特征.

本次研究的所有算法均由Python 3.6实现,Tensorflow的版本为1.15.0,电脑的CPU主频为2.60 GHz和8GB内存,系统为Windows10专业版.

3.2 实验步骤

(1)数据预处理.对数据进行缺失数据的补缺、归一化和利用互信息进行特征筛选,建立特征矩阵,以便于随后的模型构建.

(2)构建区间预测模型.首先将数据集划分为训练集和测试集,然后训练集用于单区间联合预测的BP神经网络模型(S_BPNN)和单区间预测的LSTM模型(S_LSTM)、多区间联合预测的BP神经网络模型(M_BPNN)和多区间联合预测的LSTM模型(M_LSTM)的建立,置信水平为0.95、0.90和0.85,最后利用所建立的模型对测试集进行预测.

(3)计算评价指标.基于上述模型的区间预测结果,计算评价指标,包括预测区间的覆盖概率(PICP)、平均预测区间的宽度(MPIW)、均方根误差(RMSE)和平均绝对误差(MAE),其中RMSE和MAE是根据区间上界和下界的均值作为点预测来进行计算,最后进行综合分析.

3.3 实验结果分析

按照上述研究步骤,得到测试集的评价指标结果如表1所示.

表1 实验结果

由表1可见,BP神经网络(S_BPNN)和多区间BP网络(M_BPNN)的PICP分别为94.68%与94.95%,没有达到大于当前设置置信水平95%的标准,但已经非常接近,说明所有模型的预测区间结果是有效的.

从LSTM与BP神经网络的对比来看,在不同置信水平下,无论采用单区间损失函数或多区间损失函数,LSTM的平均预测区间的宽度(MPIW)都要比BP神经网络的小,在置信水平95%下尤为明显,与此同时,LSTM的RMSE和MAE均比BP神经网络的RMSE和MAE小.证明具有长短期记忆的LSTM比一般的神经网络BPNN更加适用于时间序列数据.

将单区间损失函数与多区间损失函数对比,可知在所有显著性水平下,无论是BPNN还是LSTM模型,多区间损失函数的MPIW、RMSE和MAE指标结果明显优于单区间的对应指标,这表明本文提出的多区间损失函数能够高效地量化预测的不确定性.

综上所述,在所有显著性水平下,采用多区间损失函数的LSTM的效果最好,所有的指标效果都优于其他对比模型.为了进一步验证本文所提出的多区间损失函数的高效性,本文给出S_LSTM和M_LSTM模型的部分预测结果区间图(图3).

图3 S_LSTM和M_LSTM的预测区间图Fig.3 Prediction interval of S_LSTM and M_LSTM

从图3可知,采用单区间损失函数的S_LSTM模型存在不同置信水平区间交叉的情况,特别是下区间;而采用多区间损失函数的M_LSTM模型基本不存在交叉越界问题,同时更能刻画出真实值的波动不确定信息.

4 结论与展望

本文将单区间损失函数推广到适用于多区间的损失函数,并与BPNN和LSTM深度学习算法结合,对家电能耗进行区间预测,从PICP、MPIW、RMSE和MAE四个指标对不同置信水平下的不同模型进行比较与分析,结果表明,考虑不同置信水平区间之间关联的多区间损失函数能有效解决单区间损失函数的越界交叉问题,对比单区间损失函数显现出高效省时的优势.

值得指出的是,目前的研究是在离线的情况下进行的,而在当今大数据时代,每时每刻都会产生海量数据,离线方法很难再适用于实际,如何有效地利用在线数据进行区间预测是一个非常值得关注的问题.

猜你喜欢
置信水平宽度区间
你学会“区间测速”了吗
产品控制与市场风险之间的相互作用研究
全球经济将继续处于低速增长区间
单因子方差分析法在卷烟均匀性检验中的研究与应用
用VaR方法分析中国A股市场的风险
区间对象族的可镇定性分析
红细胞分布宽度与血栓的关系
孩子成长中,对宽度的追求更重要
你有“马屁股的宽度”吗?
单调区间能否求“并”