一种基于改进深度森林的公交车路段运行时间预测方法
技术领域
本发明涉及公交车辆运行时间的预测技术领域,具体而言,尤其涉及一种基于改进深度森林的公交车路段运行时间预测方法。
背景技术
随着我国经济高速发展、城市化进程不断加快,机动车保有量快速增加,交通拥堵、交通排放、交通事故随之加剧。公共交通以高容量、低污染、安全、快速等特点成为解决上述问题的有效途径。大力发展公共交通对提高交通服务水平、改变出行方式有着重要作用。公交运行时间的预测是诱导居民出行、提高出行效率、提升交通服务水平的关键。同时公交车辆的运行受到许多因素,包括天气、路段、星期、时间段等的干扰,因此对公交运行时间进行准确预测兼有重要意义和难度。
考虑到传统的深度学习(相当于深度神经网络)在训练时需要大量的训练数据,并且无法用于小规模数据任务;而公交车辆的线路规划、运行时间是可能经过一段时间发生调整的。同时传统的深度神经网络模型复杂,超参数太多,过于依赖调参过程。而深度森林具有强大的表征学习能力,并且不需要复杂的调参、建模过程,同时能够根据多粒度扫描实现小规模数据的训练。
发明内容
根据现有技术的不足,本发明提供一种基于改进深度森林的公交车路段运行时间预测方法。本发明方法中改进后的深度森林能够更加适应不同规模大小的数据以进行训练,并且改善运行内存、计算设施的高要求问题,预测出更加准确的公交车辆运行时间,该方法同样适用于其它时间预测。
本发明采用的技术手段如下:
一种基于改进深度森林的公交车路段运行时间预测方法,包括如下步骤:
步骤S1:收集公交线路信息、GPS信息以及路段信息,对收集到的信息数据进行归一化处理,将收集到的数据采用如下公式处理为区间为[0,1]之间的数据:
其中,w为归一化后的数据;x为原始数据;xmin为原始数据中的最小值;xmax为原始数据中的最大值;
步骤S2:将处理后的数据输入到改进深度森林进行训练,所述改进深度森林由卷积多粒度扫描和有限制级联森林两部分组成;
卷积多粒度扫描,对处理后的数据进行特征提取,在滑动窗口扫描选取样本特征时,构造一列向量作为特征扫描的过滤器filter,结合滑动窗口对范围内的特征进行系数运算,让过滤器filter在原始数据上滑动,得到整组特征的高维表示,得到样本子数据;
有限制级联森林,将所述样本子数据输入到有限制级联森林中进行高维空间数据的训练,在训练过程中,每层森林有p个森林,每个森林产生c维数据,将原始高维空间子数据拼接到一起,得到q*c+A*N维数据;最后一层森林输出结果,则不再进行样本子数据的拼接;经过几层森林直到预测精确度不再提高,或达到设定的森林层数,则输出预测结果;
步骤S3:选取公交线路、路段长度、天气、星期情况、当前路段运行时间、下一路段运行时间、当时时间7个变量作为训练样本(xi,yi)的八维输入向量xi,选取当前路段运行时间作为输出向量yi;选取样本数据的70%作为训练样本输入到改进深度森林,另外的30%则输入改进深度森林检测训练结果;
步骤S4:将检测训练结果用平均绝对误差MAPE作为评价指标,MAPE越小,则表示预测误差越小,效果越理想;评价表达式如下:
其中,n表示预测样本的大小,
表示预测到的公交车运行时间,y
i表示观测到的公交车运行时间;
进一步地,所述公交线路信息包括公交车路线、线路里程、公交站点位置及个数、公交车发车时间及间隔;所述GPS信息包括公交车发车时间及间隔、公交车编号、公交车位置及时刻;所述路段信息包括路段交通状况、高低峰情况、天气状况;
进一步地,所述步骤S3中还包括当选取到的公交车为第一个运行公交的情况时,则选取公交线路、路段长度、天气、星期情况、当时时间5个变量构成输入变量,当该公交车驶过后,则更新当前路段运行时间,作为下一辆公交车的输入变量的步骤。
较现有技术相比,本发明具有以下优点:
1、本发明首先通过收集公交车运行路线、GP数据、公交运行环境等数据;将数据处理后作为特征数据,输入到改进的深度森林中训练;然后再输入当前数据处理后输入改进的深度森林,得到预测结果。
2、本发明采用改进的深度森林,分成两部分:卷积多粒度扫描和有限制的级联森林;既保存了深度森林较强的表征学习能力,同时在深度森林的基础上进行改进,在深度森林的卷积多粒度扫描部分,将扫描窗口中的每个小窗口都赋予了不同的系数,保证了高维数据获取的多样性;为避免大规模数据带来的耗内存、计算设施要求高的问题,在卷积多粒度扫描的扫描组中,进行扫描组数设定;同时对深度森林的有限制的级联森林部分的级数进行了控制,避免了因为级数过少不能得到最好结果的情况。
3、本发明利用改进的深度森林对公交车辆运行时间进行预测,减少了超参数过多的调参过程,深度森林的卷积多粒度扫描过程增大了小规模数据的维数,使得在数据较少的情况下也能得到更加准确的预测结果。
基于上述理由本发明可在公交车辆运行时间的预测等领域广泛推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明改进的深度森林整体流程图。
图2为本发明一条扫描组的局部改进图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的本发明提供了一种基于改进深度森林的公交车路段运行时间预测方法,包括如下步骤:
步骤S1:收集公交线路信息(公交车路线、线路里程、公交站点位置及个数、公交车发车时间及间隔)、GPS信息(公交车发车时间及间隔、公交车编号、公交车位置及时刻)以及路段信息(路段交通状况、高低峰情况、天气状况),对收集到的信息数据进行归一化处理,将收集到的数据采用如下公式处理为区间为[0,1]之间的数据:
其中,w为归一化后的数据;x为原始数据;xmin为原始数据中的最小值;xmax为原始数据中的最大值;
步骤S2:将处理后的数据输入到改进深度森林进行训练,所述改进深度森林由卷积多粒度扫描和有限制级联森林两部分组成;
卷积多粒度扫描,对处理后的数据进行特征提取,在滑动窗口扫描选取样本特征时,构造一列向量作为特征扫描的过滤器filter,结合滑动窗口对范围内的特征进行系数运算,让过滤器filter在原始数据上滑动,得到整组特征的高维表示,得到样本子数据;
有限制级联森林,将所述样本子数据输入到有限制级联森林中进行高维空间数据的训练,在训练过程中,每层森林有p个森林,每个森林产生c维数据,将原始高维空间子数据拼接到一起,得到q*c+A*N维数据;最后一层森林输出结果,则不再进行样本子数据的拼接;经过几层森林直到预测精确度不再提高,或达到设定的森林层数,则输出预测结果;
步骤S3:当选取到的公交车为第一个运行公交的情况时,则选取公交线路、路段长度、天气、星期情况、当时时间5个变量构成输入变量,当该公交车驶过后,则更新当前路段运行时间,作为下一辆公交车的输入变量;选取公交线路、路段长度、天气、星期情况、当前路段运行时间、下一路段运行时间、当时时间7个变量作为训练样本(xi,yi)的八维输入向量xi,选取当前路段运行时间作为输出向量yi;选取样本数据的70%作为训练样本输入到改进深度森林,另外的30%则输入改进深度森林检测训练结果;
步骤S4:将检测训练结果用平均绝对误差MAPE作为评价指标,MAPE越小,则表示预测误差越小,效果越理想;评价表达式如下:
其中,n表示预测样本的大小,
表示预测到的公交车运行时间,y
i表示观测到的公交车运行时间;
实施例
本发明提供了一种基于改进深度森林的公交车路段运行时间预测方法,包括如下步骤:
步骤S1:收集公交线路信息、GPS信息以及路段信息,对收集到的信息数据进行归一化处理,将采集到的数据采用如下公式处理为区间为[0,1]之间的数据:
其中,w为归一化后的数据;x为原始数据;xmin为原始数据中的最小值;xmax为原始数据中的最大值;
步骤S2:将处理后的数据输入到改进深度森林进行训练,所述改进深度森林由卷积多粒度扫描和有限制级联森林两部分组成;
如图1、2所示,卷积多粒度扫描相当于特征提取,用于在原始特征中选取。在滑动窗口扫描选取样本特征时,构造一列向量(类似于系数)作为特征扫描的过滤器filter,结合滑动窗口进行对范围内的特征进行系数运算,让过滤器filter在原始数据上滑动,得到整组特征的高维表示,得到样本子数据,如果滑动窗口为m维,数据是M维,则经过扫描之后获得(M-m+1)*m的数据向量;每条扫描组中有q个森林,每个森林产生c维类向量,则经过多粒度扫描之后产生A=q*c(M-m+1)*m个子样本数据;那么同时如果有n条训练组,则有A*N个样本子数据。
有限制的级联森林则是集成的集成,由多层森林组成,每层森林又是多个森林的集合。为例鼓励多样性,森林中包括不同类型的森林,每个森林由决策树组成,决策树包含叶节点作为决策。每个森林计算落入其叶节点的不同类的训练样本的百分比,再对森林中所有数计算平均值,产生分布的估计。将样本子数据输入到有限制的级联森林中进行高维空间数据的训练,在这个过程中,每层森林有p个森林,每个森林产生c维数据,将原始高维空间子数据拼接到一起,则得到q*c+A*N维数据;最后一层森林要输出结果,就不再进行样本子数据的拼接。经过几层森林直到预测精确度不再提高,或达到设定的森林层数,则输出预测结果。
运用上述改进的深度森林,针对公交线路中的某一线路进行公交车辆运行时间预测:
步骤S3:选取公交线路、路段长度、天气、星期情况、当前路段运行时间、下一路段运行时间、当时时间7个变量作为训练样本(xi,yi)的八维输入向量xi,选取当前路段运行时间作为输出向量yi;选取样本数据的70%作为训练样本输入到改进深度森林,另外的30%则输入改进深度森林检测训练结果;(如果该公交车是该线路上的第一个运行公交,则没有当前路段运行时间信息,因此选用公交线路、路段长度、天气、星期情况、当时时间5个变量构成输入变量;当该公交驶过后,则更新当前路段运行时间,作为下一辆公交车的输入变量。除第一辆以外的公交车运行时间预测输入的是7个变量公交线路、路段长度、天气、星期情况、当前路段运行时间、下一路段运行时间以及当时时间)。
步骤S4:将检测训练结果用平均绝对误差MAPE作为评价指标,MAPE越小,则表示预测误差越小,效果越理想;评价表达式如下:
其中,n表示预测样本的大小,
表示预测到的公交车运行时间,y
i表示观测到的公交车运行时间。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。