一种基于ANN-LSTM的泊位预测方法与流程

文档序号:20150565发布日期:2020-03-24 20:02阅读:313来源:国知局
一种基于ANN-LSTM的泊位预测方法与流程

本发明涉及停车场泊位预测技术领域,具体为一种基于ann-lstm的泊位预测方法。



背景技术:

随着国内人民消费水平的普遍提高,我国城乡居民机动车保有数量显著增加,停车问题也逐步在人民的日常生活、工作中凸显,在城市中心区域尤为明显。为了缓解机动车泊位供需矛盾问题,许多应用人工智能的机动车泊位预测方法对该问题进行了分析,进而凭借准确的泊位预测,判断机动车附近的泊位供需状况,为驾驶员提供可靠的泊位需求,缓解城乡的停车问题。

传统的泊位预测方法主要是单一的网络预测技术或bp神经网络预测方法,通过对停车场的泊位数据进行处理,能够对停车泊位进行有效的短时预测,但对数据的波动性处理能力不足,得到的预测数据稳定性较差。如公开号为cn108648449a的发明公开了一种基于卡尔曼滤波和nar神经网络组合的车位预测方法,根据预测的数据,比较卡尔曼滤波和nar神经网络两种预测模型的准确度,以准确度高的次数作为两种模型进行组合预测的权重,进而得到该组合模型的预测值。但在许多的停车场中,很难为上述组合模型提供大量的泊位数据进行模型融合的权重选择,使得该模型的实用价值大打折扣,在停车泊位预测的早期阶段该方法并不适用。



技术实现要素:

本发明的目的在于,提供一种基于ann-lstm的泊位预测方法。本发明能够达到预测出停车场的泊位情况的目的,泊位情况的预测准确性高。

本发明的技术方案:一种基于ann-lstm的泊位预测方法,按下述步骤进行:

a、在lstm模型前增加多层采用全连接形式的ann,并在lstm模型内加入随机丢弃层,完成ann-lstm模型的构建;

b、取目标停车场的停车泊位历史数,并对所述停车泊位历史数进行归一化处理形成数据集,以数据集中60-90%的数据作为训练集,以数据集中10-40%的数据作为测试集;

c、将训练集输入至ann-lstm模型进行训练;利用训练后的ann-lstm模型进行目标停车场的车辆泊位预测,以测试集验证ann-lstm模型的预测准确性。

上述的基于ann-lstm的泊位预测方法,所述步骤a中停车泊位历史数为某一时间段的目标停车场的泊位数,对所述停车泊位历史数进行归一化处理,将其压缩为0到1之间的实数,其归一化处理的公式如下:

x=d/dmax;

其中,d为训练集归一化处理之前的原始数据,dmax为停车场泊位数量总和,x为归一化之后得到的训练集数据。

前述的基于ann-lstm的泊位预测方法,所述步骤a中,ann-lstm模型构建后进行模型的参数调节,所述参数调节包括权重参数的调节和模型超参数调节;所述ann-lstm模型的权重参数调节采用bptt算法进行;所述ann-lstm模型的超参数调节采用网格法对参数进行优选,所述的超参数包括随机丢弃层概率n、ann层的层数k和ann中小波神经网络层节点数量m;以一定的步长列举所有的超参数组合,计算所有组合方式下ann-lstm模型的预测精度,选择其中精度最高的一组数据作为参数优选的最终结果。

前述的基于ann-lstm的泊位预测方法,将以一定步长列举所有的超参数组合形成训练集数据xtr,训练集数据xtr与ann-lstm模型的输出ytr关系如下:

minε(xtr,ytr)

其中,stepm、stepn、stepk分别代表m、n、k的搜索步长,三个超参数的取值组成一个三维的搜索空间,通过网格搜索的方法寻优;

设定kmax的取值10,n的取值为[1,1],stepn设为0.1,m取值为[10,50],stepm设为10;搜索过程由内到外为m、n到k;

将步长设定为较大的值,遍历3个参数的取值范围,训练并使用ann-lstm模型进行预测,保存预测结果精度和对应参数,选择其中最大的精度和对应的参数,得到最优值取值的大致范围;随后进一步缩小步长取值为1,重复上述操作,精准定位最优值所在位置,将最优值确定为模型超参数的取值。

前述的基于ann-lstm的泊位预测方法,步骤c中,运用训练后的ann-lstm模型进行预测,根据预测结果计算出ann-lstm模型的预测误差,获得误差序列,再使用误差序列训练极限学习机模型,将误差序列中有一定价值的确定性分量提取出来,引入到ann-lstm模型的预测中,用于提高ann-lstm模型的预测准确性。

前述的基于ann-lstm的泊位预测方法,运用训练后的ann-lstm模型进行预测,根据预测结果计算出ann-lstm模型的预测误差,获得误差序列,再使用误差序列训练极限学习机模型,将误差序列中有一定价值的确定性分量提取出来,引入到ann-lstm模型的预测中的具体的步骤为:

s1:输入历史停车泊位数据,经过预处理后划分为训练集与测试集,其中训练集的输入为xtr,训练集的输出为ytr,测试集的输入为xte,测试集的输出为yte;使用ann-lstm模型对训练集进行训练,在得到经过训练的ann-lstm模型后,将权值参数保存下来,记为神经网络模型a;

s2:将训练集的输入xtr输入神经网络模型a,输出预测值ya,预测值ya与训练集的输出ytr之间的误差序列为er1,

er1=ya-yte;

s3:将er1去噪处理之后,输入极限学习机模型,训练极限学习机模型并保存权值参数,记为神经网络模型b;

s4:将测试集的输入xte输入神经网络模型a,输出预测值为yt,预测值yt与测试集的输出yte之间的误差序列为er2,

er2=yt-yte;

s5:将误差序列er2经过相空间重构决定分割尺度之后输入已经训练完成神经网络模型b,得到输出值er3,作为实际误差补偿值;

s6:使用误差补偿值er3补偿s4步骤中的输出预测值yt,得到ann-lstm模型最终输出y,

y=yt-er3,

通过上述误差补偿,用于提高ann-lstm模型的预测准确性.

前述的基于ann-lstm的泊位预测方法,所述的误差序列训练极限学习机模型为单隐层前馈神经网络,假设有n个随机样本(xi,ti),隐藏层有l个节点,每个节点的输出oj可表示为

式中,g(x)为激活函数,wi为输入权重,βj为输出权重,bj是第j个隐藏层单元的偏置,wi·xj表示wi和xj的内积。

单隐层前馈神经网络学习的目标为输出误差最小,表示为

将上式用矩阵形式表示为:

hβ=t,

其中h是隐藏层节点的输出,β为输出权重,t为期望输出;

单隐层前馈神经网络的训练过程即为求得其表示方法如下:

在极限学习机算法中,一旦输入权重wi和隐层的偏置bj被随机确定,隐层的输出矩阵h就被唯一确定,训练单隐层前馈神经网络就转化为求解一个线性系统hβ=t,并且输出权重可以被确定。

前述的基于ann-lstm的泊位预测方法,所述步骤c中,利用训练后的ann-lstm模型进行目标停车场的车辆泊位预测后,通过对输出预测值进行反归一化处理作为准确的停车场泊位预测数据使用,其反归一化方法如下:

d=d·dmax

其中,d为反归一化的预测值,dmax停车场泊位总数量。

与现有技术相比,本发明采用组合人工神经网络ann(artificialneuralnetwork,ann)和长短期记忆网络(longshort-termmemory,lstm)的构建ann-lstm模型对停车泊位数量进行预测,在数据输入lstm之前增加多层采用全连接形式的神经网络层,对输入数据的特征进行初步提取并传递至lstm模型中,而且在lstm模型中加入随机丢弃层(dropout),以防止模型训练过拟合;本发明将目标停车场的停车泊位历史数进行归一化处理形成数据集,以减小后续训练过程中噪声影响;利用数据集划分出的训练集对ann-lstm模型进行自主训练学习,再通过训练后的ann-lstm模型进行目标停车场泊位情况的预测,最后以测试集验证ann-lstm模型的预测准确性。由此本发明可以大大提升停车场泊位预测方法的预测准确度和鲁棒性;本发明实用性强,预测数据稳定而又准确,能够充分地为用户提供目标停车场的泊位供需情况。此外,本发明通过ann-lstm模型构建后进行模型的参数调节,通过优选和确认权重参数和模型超参数的数值,使得ann-lstm模型的预测准确性进一步的提高。本发明还通过误差补偿对模型的预测结果进行补偿,以误差补偿后的输出值作为模型的预测结果,因而可以再进一步地提高停车场泊位预测的准确性。

附图说明

图1是实施例1中预测值和实际值的曲线吻合图;

图2是实施例2中预测值和实际值的曲线吻合图;

图3是实施例3中预测值和实际值的曲线吻合图;

图4是ann-lstm预测结果误差曲线图;

图5是误差序列图;

图6是误差补偿后模型预测结果误差曲线。

具体实施方式

下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依据。

实施例1:一种基于ann-lstm的泊位预测方法,按下述步骤进行:

a、在lstm模型前增加多层采用全连接形式的ann(artificialneuralnetwork,人工神经网络),并在lstm(longshort-termmemory,长短期记忆网络)模型内加入随机丢弃层,完成ann-lstm模型的构建;

b、获取目标停车场的停车泊位历史数,通过网络爬虫获取目标停车场的历史泊位数据,以秒为单位包含12583个时间点,将每个时间点的停车泊位数作为停车泊位历史数据,以历史数据中80%的数据作为训练集,以历史数据中20%的数据作为测试集;对所述训练集和测试集进行归一化处理形成数据集,将其压缩为0到1之间的实数,其归一化处理的公式如下:

x=d/dmax;

其中,d为训练集归一化处理之前的原始数据,dmax为停车场泊位数量总和,x为归一化之后得到的训练集数据;

c、将训练集输入至ann-lstm模型进行训练;利用训练后的ann-lstm模型进行目标停车场的车辆泊位预测,通过预测输出值进行反归一化处理作为准确的停车场泊位预测数据使用,其反归一化方法如下:

d=d·dmax

其中,d为反归一化的预测值,dmax停车场泊位总数量。

最后以测试集验证停车场泊位预测方法的预测准确性。

实施例2:一种基于ann-lstm的泊位预测方法,按下述步骤进行:

a、在lstm模型前增加多层采用全连接形式的ann,并在lstm模型内加入随机丢弃层,完成ann-lstm模型的构建;ann-lstm模型构建后进行模型的参数调节,所述参数调节包括权重参数的调节和模型超参数调节;所述ann-lstm模型的权重参数调节采用bptt算法进行,bptt(backpropagationthroughtime)算法是rnn(循环神经网络)的反向传播算法,是本领域技术人员在预测领域的所能掌握的常用算法,因此本发明不在具体赘述其原理;所述ann-lstm模型的超参数调节采用网格法对参数进行优选,所述的超参数包括随机丢弃层概率n、ann的层数k和ann中小波神经网络层节点数量m;以一定的步长列举所有的超参数组合,计算所有组合方式下ann-lstm模型的预测精度,选择其中精度最高的一组数据作为参数优选的最终结果。

将以一定步长列举所有的超参数组合形成训练集数据xtr,训练集数据xtr与ann-lstm模型的输出ytr关系如下:

minε(xtr,ytr)

其中,stepm、stepn、stepk分别代表m、n、k的搜索步长,三个超参数的取值组成一个三维的搜索空间,通过网格搜索的方法寻优;

设定kmax的取值10,n的取值为[1,1],stepn设为0.1,m取值为[10,50],stepm设为10;搜索过程由内到外为m、n到k;

将步长设定为较大的值,遍历3个参数的取值范围,训练并使用ann-lstm模型进行预测,保存预测结果精度和对应参数,选择其中最大的精度和对应的参数,得到最优值取值的大致范围;随后进一步缩小步长取值为1,重复上述操作,精准定位最优值所在位置,将最优值确定为模型超参数的取值。

b、获取目标停车场的停车泊位历史数,通过网络爬虫获取目标停车场的历史泊位数据,以秒为单位包含12583个时间点,将每个时间点的停车泊位数作为停车泊位历史数据,以历史数据中80%的数据作为训练集,以历史数据中20%的数据作为测试集;对所述训练集和测试集进行归一化处理形成数据集,将其压缩为0到1之间的实数,其归一化处理的公式如下:

x=d/dmax;

其中,d为训练集归一化处理之前的原始数据,dmax为停车场泊位数量总和,x为归一化之后得到的训练集数据;

c、将训练集输入至ann-lstm模型进行训练;利用训练后的ann-lstm模型进行目标停车场的车辆泊位预测,通过预测输出值进行反归一化处理作为准确的停车场泊位预测数据使用,其反归一化方法如下:

d=d·dmax

其中,d为反归一化的预测值,dmax停车场泊位总数量。

最后以测试集验证停车场泊位预测方法的预测准确性。

实施例3:一种基于ann-lstm的泊位预测方法,按下述步骤进行:

a、在lstm模型前增加多层采用全连接形式的ann,并在lstm模型内加入随机丢弃层,完成ann-lstm模型的构建;ann-lstm模型构建后进行模型的参数调节,所述参数调节包括权重参数的调节和模型超参数调节;所述ann-lstm模型的权重参数调节采用bptt算法进行;所述ann-lstm模型的超参数调节采用网格法对参数进行优选,所述的超参数包括随机丢弃层概率n、ann的层数k和ann中小波神经网络层节点数量m;以一定的步长列举所有的超参数组合,计算所有组合方式下ann-lstm模型的预测精度,选择其中精度最高的一组数据作为参数优选的最终结果。

将以一定步长列举所有的超参数组合形成训练集数据xtr,训练集数据xtr与ann-lstm模型的输出ytr关系如下:

minε(xtr,ytr)

其中,stepm、stepn、stepk分别代表m、n、k的搜索步长,三个超参数的取值组成一个三维的搜索空间,通过网格搜索的方法寻优;

设定kmax的取值10,n的取值为[1,1],stepn设为0.1,m取值为[10,50],stepm设为10;搜索过程由内到外为m、n到k;

将步长设定为较大的值,遍历3个参数的取值范围,训练并使用ann-lstm模型进行预测,保存预测结果精度和对应参数,选择其中最大的精度和对应的参数,得到最优值取值的大致范围;随后进一步缩小步长取值为1,重复上述操作,精准定位最优值所在位置,将最优值确定为模型超参数的取值。

b、获取目标停车场的停车泊位历史数,通过网络爬虫获取目标停车场的历史泊位数据,以秒为单位包含12583个时间点,将每个时间点的停车泊位数作为停车泊位历史数据,以历史数据中80%的数据作为训练集,以历史数据中20%的数据作为测试集;对所述训练集和测试集进行归一化处理形成数据集,将其压缩为0到1之间的实数,其归一化处理的公式如下:

x=d/dmax;

其中,d为训练集归一化处理之前的原始数据,dmax为停车场泊位数量总和,x为归一化之后得到的训练集数据;

c、将训练集输入至ann-lstm模型进行训练;利用训练后的ann-lstm模型进行目标停车场的车辆泊位预测,根据预测结果计算出ann-lstm模型的预测误差,获得误差序列,再使用误差序列训练极限学习机模型,将误差序列中有一定价值的确定性分量提取出来,引入到ann-lstm模型的预测中,具体步骤为:

s1:输入历史停车泊位数据,经过预处理后划分为训练集与测试集,其中训练集的输入为xtr,训练集的输出为ytr,测试集的输入为xte,测试集的输出为yte;使用ann-lstm模型对训练集进行训练,在得到经过训练的ann-lstm模型后,将权值参数保存下来,记为神经网络模型a;

s2:将训练集的输入xtr输入神经网络模型a,输出预测值ya,预测值ya与训练集的输出ytr之间的误差序列为er1,

er1=ya-yte;

s3:将er1去噪处理之后,输入极限学习机模型,所述的误差序列训练极限学习机模型为单隐层前馈神经网络,假设有n个随机样本(xi,ti),隐藏层有l个节点,每个节点的输出oj可表示为

式中,g(x)为激活函数,wi为输入权重,βj为输出权重,bj是第j个隐藏层单元的偏置,wi·xj表示wi和xj的内积。

单隐层前馈神经网络学习的目标为输出误差最小,表示为

将上式用矩阵形式表示为:

hβ=t,

其中h是隐藏层节点的输出,β为输出权重,t为期望输出;

单隐层前馈神经网络的训练过程即为求得其表示方法如下:

在极限学习机算法中,一旦输入权重wi和隐层的偏置bj被随机确定,隐层的输出矩阵h就被唯一确定,训练单隐层前馈神经网络就转化为求解一个线性系统hβ=t,并且输出权重可以被确定;

通过训练极限学习机模型并保存权值参数,记为神经网络模型b;

s4:将测试集的输入xte输入神经网络模型a,输出预测值为yt,预测值yt与测试集的输出yte之间的误差序列为er2,

er2=yt-yte;

s5:将误差序列er2经过相空间重构决定分割尺度之后输入已经训练完成神经网络模型b,得到输出值er3,作为实际误差补偿值;

s6:使用误差补偿值er3补偿s4步骤中的输出预测值yt,得到ann-lstm模型最终输出y,

y=yt-er3,

通过上述误差补偿,得到ann-lstm模型的最终预测输出值。

通过预测输出值进行反归一化处理作为准确的停车场泊位预测数据使用,其反归一化方法如下:

z*=z*(zmax-zmin)+zmin

其中,z是停车场泊位预测方法预测输出值,zmax是停车泊位历史数集合中的最大值,zmin是停车泊位历史数集合中的最小值,z*是反归一化处理后的目标停车场泊位预测数据。

最后以测试集验证停车场泊位预测方法的预测准确性。

对比例1:运用单隐藏层小波神经网络(waveletneuralnetwork,wnn)模型的停车场泊位预测。

对比例2:运用长短期记忆网络(longshort-termmemory,lstm)模型的停车场泊位预测。

申请人对实施例1、实施例2和实施例3中的ann-lstm模型以及对比例1和对比例2中的预测结果进行比较,比较在相同的预测时间间隔时的平均绝对百分误差(mape),其结构如表1所示:

表1

从表1的结果误差具体值可以发现,当预测的时间间隔为1时,对比例1中wnn模型、对比例2中lstm模型和本发明实施例1中的ann-lstm模型的网络模型预测结果误差均不大,预测精度均能达到90%,其中lstm模型和ann-lstm模型的精度略高,因为间隔为1代表预测3分钟后的停车场泊位数量,所以实用价值较低,需要比较长时间间隔下的预测精度。

当时间间隔由30分钟增加到60分钟时,对比例1和对比例2的预测性能都开始下降。其中wnn模型预测误差最大,说明小波神经网络模型的预测准确性下降幅度会随着预测间隔的增加而增加。同时lstm的精度也会随着预测降格的增加而略有下降,但实施例1中的ann-lstm模型的预测精度依然在90%以上,说明实施例1中ann-lstm模型的适应性更好,可从训练集中特种提取更全面,可预测的时间间隔更长。这是因为本发明在lstm模型前加入共享权重的ann,有效的结合了两者优点,不仅增加模型的深度和网络层之间的连接方式,而且也继承了lstm的有时序性的优点,提高整个网络模型的预测性能。所以ann-lstm模型预测效果优于原始lstm模型。而实施例2的预测误差相对于实施例1来说更小,这是因为实施例2中采用的过ann-lstm模型构建后进行模型的参数调节,通过优选和确认权重参数和模型超参数的数值,使得ann-lstm模型的预测准确性进一步的提高。进一步地,实施例3中的预测误差相比实施例2的误差更小,这是因为实施例3中通过误差补偿对模型的预测结果进行补偿,以误差补偿后的输出值作为模型的预测结果,因而可以再进一步地提高停车场泊位预测的准确性。

申请人还对实施例1、实施例2和实施例3中ann-lstm模型的预测结果进行统计,选取预测间隔为30分钟的预测结果,其如图1-3所示,图1是实施例1中预测值和实际值的曲线吻合图,图2是实施例2中预测值和实际值的曲线吻合图,图3是实施例3中预测值和实际值的曲线吻合图,选取图1中的虚线圈、图2中虚线圈以及图3中的相同曲线位置,可以明显的看出本发明预测结果拟合效果较好,整体拟合程度较高,但实施例1和实施例2中圈住部分也存在预测精度略微偏差的问题,即在泊位数量变化较大的时段,预测精度有待提升。

为了解决实施例1和实施例2中在泊位数量变化较大的时段,预测精度有待提升的问题,申请人通过误差补偿方法进行对ann-lstm模型进行优化,通过在ann-lstm模型训练后的误差进行曲线统计,得到如图4所示的ann-lstm预测结果误差曲线图,然后再得到如图5所示的误差序列图,通过将误差序列中有一定价值的确定性分量提取出来,然后引用到ann-lstm模型的预测结果中,得到如图6所示的误差补偿后模型预测结果误差曲线,通过将误差补偿方法与ann-lstm模型相结合,解决了模型预测的泊位数据局部存在预测偏差较大,预测精度不高的问题。图3是使用ann-lstm模型进行停车泊位数据预测的基础上,通过引入误差补偿方法进行泊位数据短时预测的停车泊位预测曲线图,因此,从图3中可以看出曲线的拟合效果较好并且在曲线局部峰值处的偏差得到了有效降低,表明该预测模型在停车场泊位数据预测方面具有更好的预测精度和稳定性。

综上所述,本发明可以大大提升停车场泊位预测方法的预测准确度和鲁棒性;本发明实用性强,预测数据稳定而又准确,能够充分地为用户提供目标停车场的泊位供需情况。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1