上图为整个模型的框架图,主要分为动态特征提取模块和静态特征模块,其中动态特征的提取基于TCN模型实现,而静态特征则直接和提取出的动态特征进行连接之后使用。具体说明见下文。
动态特征提取
该模块的主要目标是通过TCN模型去学习旅行时间的曲线走势特征,这里的动态特征指的是从今年和去年对应的一定数量的平均旅行时间构成的序列中提取出的走势特征。
本文将今年和去年对应的平均旅行时间序列作为一个双通道序列放进TCN模型中学习,旨在利用TCN强大的时序建模能力,同时结合今年和去年的走势特征,更加准确的预测未来一周的走势(上升、下降或震荡)。
针对该类序列建模问题,已有成熟的RNN技术,而且目前更新的TCN技术也已出现。在项目开展过程中,分别使用了RNN、LSTM和TCN来做序列建模,实验结果表明,使用TCN进行序列特征提取效果最好,相对于RNN约有1.39%的效果收益,相对于LSTM约有0.83%的效果收益,而且由于TCN模型是基于卷积网络实现的,训练速度更快,所以本项目中采用TCN进行动态特征提取。
静态特征
这里的静态特征主要指一些人工提取的特征,用以加强模型表达能力。具体如下:
道路属性特征:路长、路宽、车道数、车道宽度、最大限速等
时间属性特征:前三天对应时间批次旅行时间、前七天对应时间批次旅行时间均值、去年同期前后两个平均旅行时间(同一特征日&同一时间批次)
道路属性特征主要考虑不同的道路通行能力不一样,会在一定程度上影响车辆通行速度。
时间属性特征主要分三方面:
前三天对应时间批次旅行时间-考虑到时效性问题,越靠近预测天则可靠性越大,例如,最近几天道路施工,车道速度受到影响;但该特征也会对基于特征日的建模产生一定影响,因为车辆出行规律大部分情况下跟周几特征日有关,而与非特征日的关联较小(除特别情况,如活动举办、连续数天施工)。案例见下图。
图中为某段道路连续85天某时间批次上的旅行时间变化趋势图,从图中可以看到,该曲线呈现先平稳后上升的趋势,第85天的旅行时间与前面的关系不大,而与近期关系较大(近期一直较拥堵),尤其是近三天。
前七天对应时间批次旅行时间均值-该特征为近期旅行时间的一个统计指标,旨在反映近一周的通行状况,作用同上。
去年同期前后两个平均旅行时间(同一特征日&同一时间批次)
模型效果本文所采用的基于TCN建模方法,能够从动态和静态特征中提取出驾驶规律信息,包括异常点的识别过滤、旅行时间的趋势变化信息和年度周期信息,给出更符合预期的预测值,较好的解决当前历史平均值法的弊端,可以部分解决恶劣badcase发生的问题。具体效果说明如下:
异常值自动过滤
上图中case,从整体上来看,旅行时间在70s上下浮动,而局部某些点是异常偏大的(当天可能发生了交通事故等),属于异常点,在预测未来历史速度信息走势的时候,应该忽略,TCN模型成功的忽略了这些异常点,但历史均值法则会将其纳入计算,导致算出的平均旅行时间偏大。
趋势信息提取
上图中case,从曲线走势来看,旅行时间近期有所上升,所以下周的平均旅行时间大概率还是会延续这种趋势,可以看出,TCN模型比较好的学习到了这种趋势信息,预测效果较好,但历史平均值法,由于前期很长一段时间旅行时间都很小,导致算出的平均旅行时间也偏小。
年度周期性的引入