一种基于RFID数据考虑货车混入率的公交行程时间预测方法
技术领域
本发明属于智能交通信息技术领域,涉及一种基于RFID(Radio FrequencyIdentification)数据考虑货车混入率的公交行程时间预测方法,可适用于已部署RFID设备装置的城市道路中公交车行程时间的预测。
背景技术
对于城市道路中公交车行程时间的精准预测不仅有利于保证城市公共交通系统的正常高效运行,提升公共交通服务水平,而且还能进一步辅助出行者完成最优出行路线决策,缩短行程时间,一定程度上缓解交通拥堵等。
货车由于体积大、性能差、存在大量视角盲区等特点,在城市道路中与公交车混行时,极易导致公交车驾驶员驾驶风格的转变和跟车距离的调整,进而对公交行程时间产生不可忽视的影响作用。随着近年来国内经济的迅猛发展,货车数量不断增加,这种影响作用也同样呈现出不断加深的变化趋势。考虑货车混入率对公交行程时间的影响作用,构建组合预测模型,将有利于提高模型的预测精度和泛化能力。再者,基于RFID数据研究公交行程时间预测方法,相较于传统的GPS数据,因其能够有效识别城市道路中不同类型车辆信息,使得考虑货车混入率这一重要影响因素对预测模型进行改进成为可能。
专利文献CN102610088A公开了一种基于自适应衰减卡尔曼滤波的公交车站点间行程时间预测方法,该方法利用车载GPS装置获取站点间公交车历史行程时间数据,结合自适应衰减滤波预测模型对未来站点间公交车行程时间进行预测。但是该方法依赖于大量车载GPS数据,因其存在定位漂移、易受天气条件影响等局限性,使得模型预测精度不高;且该方法中的预测模型仅考虑公交车历史行程时间数据对预测目标班次公交车行程时间的影响进行预测,未考虑车型因素对公交车行程时间的影响作用,导致模型的鲁棒性和泛化能力均较差。
发明内容
有鉴于此,本发明的目的是提供一种基于RFID数据考虑货车混入率的公交行程时间预测方法。
本发明的目的是通过以下技术方案来实现的:
一种基于RFID数据考虑货车混入率的公交行程时间预测方法,该方法包括以下步骤:
1)根据RFID数据,获取城市道路中公交车通过上、下游RFID基站的路段行程时间和路段行程时间数据样本T;
2)根据公交车通过上、下游RFID基站所确定的时间域,实时计算并更新路段货车混入率;
3)考虑路段货车混入率对公交车路段行程时间的相关影响,重构公交车路段行程时间数据样本;
4)分别构建考虑货车混入率的LSTM公交行程时间预测模型和考虑货车混入率的SVR公交行程时间预测模型,并在测试集数据样本中完成公交行程时间的预测;
5)根据两类模型的预测值与实际值,建立LSTM-SVR组合预测模型进行公交行程时间预测。
进一步,所述步骤1)的具体过程如下:在储存有RFID数据的数据库中选取路段上游基站和下游基站的全部公交车过车数据,再利用数据库查询语句查找具有相同EID的数据,判断具有相同EID的汽车电子标识数据的车辆通过上、下游RFID基站的时间是否符合实际车辆行驶方向。若符合,则保留该项数据;否则,将其删除,完成车牌匹配;
公交车通过上、下游RFID基站的路段行程时间的计算公式如下:
T=tdownstream-tupstream
式中,T代表公交车通过上、下游RFID基站的路段行程时间;tdowmstream代表公交车通过路段下游RFID基站的过车时间戳;tupstream代表公交车通过路段上游RFID基站的过车时间戳;
进行必要的数据预处理操作,获得可靠的公交车通过上、下游RFID基站的路段行程时间数据样本T;
T={t1,t2,...,tk,tk+1,...,tn}
其中,tk代表第k辆公交车的路段行程时间;n为样本容量。
进一步,所述步骤2)的具体过程如下:在储存有RFID数据的数据库中选取上游基站所有车辆数据C和所有货车数据H,并将其按Passtime升序排列,将步骤1)中获得的数据样本T按tupstream升序排列,获取每辆公交车通过路段产生的行程Tripkij以及该行程对应的上游基站过车时间戳tki和下游基站过车时间戳tkj,并确定出时间域(tki,tkj),以时间域(tki,tkj)为单位,记录不同时间域内通过上游基站i的货车数量qki和车辆数目vki,得到所有时间域内通过上游基站i的货车数量Q={q1,q2,...,qk,qk+1,...,qn}和车辆数目V={v1,v2,...,vk,vk+1,...,vn};从而计算出路段不同时间域内的货车混入率ski,公式如下:
可获得该路段所有时间域内的路段货车混入率数据样本S:
S={s1,s2,...,sk,sk+1,...,sn}
其中,sk代表第k个时间域内的路段货车混入率。
进一步,所述步骤3)的具体过程如下:将路段行程时间数据样本T中的样本值tk以及路段货车混入率数据样本S中的样本值sk标准化,计算公式如下:
式中,tk代表未标准化的行程时间样本值;sk代表未标准化的货车混入率样本值;tmin和tmax分别代表T中最小样本值和最大样本值;smin和smax分别代表S中最小样本值和最大样本值。
计算标准化后的路段行程时间数据样本
式中,ρ代表相关系数;t′k代表数据重构后的第k辆公交车路段行程时间;
获取考虑路段货车混入率的重构公交车路段行程时间数据样本T′:
T′={t′1,t′2,...,t′k,t′k+1,...,t′n}
其中,t′k代表数据重构后的第k辆公交车路段行程时间;n为样本容量。
进一步,所述步骤4)的具体过程如下:
将步骤3)获得的数据样本T′作为训练集数据样本x,建立LSTM神经网络模型。利用训练好的LSTM神经网络对测试集数据样本Tt={tt1,tt2,...,ttk,tt(k+1),...,tkm}进行公交行程时间预测,模型预测结果记为TLp={tLp1,tLp2,...,tLpk,tLp(k+1),...,tLpm};其中,ttk表示第k辆公交车的路段行程时间实际值;tLpk表示第k辆公交车的LSTM神经网络模型路段行程时间预测值;m为样本容量;
根据步骤3)获得的数据样本T′构造SVR模型的训练集样本X,建立SVR模型并求解模型参数;利用训练好的SVR模型对测试集数据样本Tt={tt1,tt2,...,ttk,tt(k+1),...,tkm}进行公交行程时间预测,模型预测结果记为TSp={tSp1,tSp2,...,tSpk,tSp(k+1),...,tSpm};其中,tSpk表示第k辆公交车的SVR模型路段行程时间预测值,m为样本容量。
进一步,所述步骤5)的具体过程如下:
通过分析预测目标班次k的前l个班次的公交车路段行程时间实际值
根据所述模型得出最终公交行程时间预测结果:
TFp={tFp1,tFp2,...,tFpk,tFp(k+1),...,tFpm}
其中,tFpk表示第k辆公交车最终的路段行程时间预测值;m为样本容量。
由于采用了上述技术方案,本发明具有如下的特点和优点:
本发明提出一种基于RFID数据考虑货车混入率的公交行程时间预测方法,该方法针对目前少有学者基于RFID数据进行公交行程时间预测的现状和未考虑货车这一对公交跟驰行为和驾驶策略产生直接影响的特定类型车辆混入比率对公交行程时间的影响等问题,利用RFID数据,考虑货车混入率对公交行程时间的相关影响重构公交车路段行程时间数据样本,建立LSTM-SVR组合预测模型实现对目标班次公交行程时间的精准预测,提高鲁棒性和泛化能力。本发明提出的一种基于RFID数据考虑货车混入率的公交行程时间预测方法,能为智慧公交出行提供参考依据。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究,对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
本发明的附图说明如下。
图1为本发明总体流程示意图。
具体实施方式
为使本发明的技术方案、优点和目的更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本申请的保护范围。
下面结合附图和实施例对本发明作进一步说明。
实施例1
如图1所示,一种基于RFID数据考虑货车混入率的公交行程时间预测方法,该方法包括以下步骤:
步骤1):根据RFID数据,获取城市道路中公交车通过上、下游RFID基站的路段行程时间。具体包括以下几个子步骤:
步骤1.1:在储存有RFID数据的数据库中选取路段r上游基站i和下游基站j的rfid_ip,根据car_type字段信息筛选得到公交车这一特定类型车辆的所有过车数据,再利用数据库查询语句查找具有相同EID的数据,判断具有相同EID的汽车电子标识数据的车辆通过上、下游RFID基站的时间是否符合实际车辆行驶方向。若符合,则保留该项数据;否则,将其删除,完成车牌匹配;
步骤1.2:根据如下公式计算公交车通过上、下游RFID基站的路段行程时间:
T=tdownstream-tupstream
式中,
T代表公交车通过上、下游RFID基站的路段行程时间;
tdowmstream代表公交车通过路段下游RFID基站的过车时间戳;
tupstream代表公交车通过路段上游RFID基站的过车时间戳。
步骤1.3:进行必要的数据预处理操作,具体操作步骤为:将数据样本T按tupstream升序排列,计算出T的样本标准差ST,遍历T中所有元素,若第k辆公交车行程时间Tk与相邻第(k-1)辆和第(k+1)辆公交车行程时间Tk-1和Tk+1之差大于ST,则认为Tk为异常值数据,将其删除;
步骤1.4:获得可靠的公交车通过上、下游RFID基站的路段行程时间数据样本T;
T={t1,t2,...,tk,tk+1,...,tn}
其中,
tk代表第k辆公交车的路段行程时间;
n为样本容量。
步骤2)根据公交车通过上、下游RFID基站所确定的时间域,实时计算并更新路段货车混入率。具体包括以下几个子步骤:
步骤2.1:在储存有汽车电子标识数据的数据库中选取上游基站i的rfid_ip,根据car_type字段信息检索得到通过上游基站i的所有货车数据集H,并将其按过车时间升序排列;
步骤2.2:将步骤1.6获得的数据样本T按tupstream升序排列,获取每辆公交车通过路段产生的行程Tripkij,其代表第k辆公交车分别通过上游基站i和下游基站j产生的行程;
步骤2.3:获取行程上游基站过车时间戳tki,tki代表第k段公交车行程中通过上游基站i的过车时间戳;
步骤2.4:获取行程下游基站过车时间戳tkj,tkj代表第k段公交车行程中通过下游基站j的过车时间戳;
步骤2.5:根据上游基站过车时间戳tki和下游基站过车时间戳tkj,确定时间域(tki,tkj);
步骤2.6:设定计数变量q并初始化置为0;判断货车数据集H中的过车时间是否位于时间域(tki,tkj)内,每正确判断一次,计数变量q自动增加1,直至该时间域判断结束,返回q值;
步骤2.7:更新时间域为(t(k+1)i,t(k+1)j)循环上述步骤2.6,最终获得所有时间域内通过上游基站i的货车数量Q={q1,q2,...,qk,qk+1,...,qn},其中,qki代表第k个时间域内通过上游基站i的货车数量;n为样本容量。
步骤2.8:在储存有汽车电子标识数据的数据库中选取上游基站i的rfid_ip,检索得到通过上游基站i的所有车辆数据集C,并将其按过车时间升序排列;
步骤2.9:循环上述步骤2.2至2.7,注意此步骤需将数据集由货车数据H替换成车辆数据集C,最终获得所有时间域内通过上游基站i车辆数目V={v1,v2,...,vk,vk+1,...,vn}
其中,vki代表第k个时间域内通过上游基站i的车辆数目;n为样本容量。
步骤2.10:根据如下公式计算选取路段r不同时间域内的货车混入率ski:
步骤2.11:获得选取路段r所有时间域内的路段货车混入率数据样本S:
S={s1,s2,...,sk,sk+1,...,sn}
其中,
sk代表第k个时间域内的路段货车混入率;
n为样本容量。
步骤3)考虑路段货车混入率对公交车路段行程时间的相关影响,重构公交车路段行程时间数据样本。具体包括以下几个子步骤:
步骤3.1:将步骤1.4获得的路段行程时间数据样本T中样本值tk以及步骤2.11获得的路段货车混入率数据样本S中的样本值sk标准化,计算公式如下:
式中,
tk代表未标准化的行程时间样本值;
sk代表未标准化的货车混入率样本值;
tmin代表数据样本T中最小样本值;
tmax代表数据样本T中最大样本值;
smin代表数据样本S中最小样本值;
smax代表数据样本S中最大样本值。
步骤3.2:计算标准化后的路段行程时间数据样本
式中,
ρ代表相关系数;
t′k代表数据重构后的第k辆公交车路段行程时间;
n为样本容量。
步骤3.3:获得考虑路段货车混入率的重构公交车路段行程时间数据样本T′:
T′={t′1,t′2,...,t′k,t′k+1,...,t′n}
其中,
t′k代表数据重构后的第k辆公交车路段行程时间;
n为样本容量。
步骤4)将重构后的公交车路段行程时间数据作为训练集样本,并根据长短期记忆神经网络(Long Short Term Memory,LSTM)在时间序列预测问题上具有良好的泛化性和容错性,以及支持向量回归模型(Support Vector Regression,SVR)在小样本的预测回归分析中有较好的性能。因此,本发明联合考虑上述两类模型,分别构建考虑货车混入率的LSTM公交行程时间预测模型和考虑货车混入率的SVR公交行程时间预测模型,并在测试集数据样本Tt中完成公交行程时间的预测。具体包括以下几个子步骤:
步骤4.1:建立LSTM神经网络模型,具体模型公式如下:
其中,对模型中的几个关键参数作出如下说明:
W,R,U为连接权重系数;
σ代表sigmoid函数;
x代表模型输入;
ρ代表模型输出。
将步骤3.3获得的考虑路段货车混入率的重构公交车路段行程时间数据样本T′作为训练集数据样本x输入到LSTM模型隐含层中,网格训练损失函数采用均方误差,优化目标为损失函数最小化,采用Adam优化算法对网络进行迭代更新,不断调整连接权重系数,降低模型预测误差。
步骤4.2:利用训练好的LSTM神经网络对测试集数据样本Tt={tt1,tt2,...,ttk,tt(k+1),...,tkm}进行预测,获得LSTM模型输出的预测结果TLp={tLp1,tLp2,...,tLpk,tLp(k+1),...,tLpm}
其中,
tLpk表示第k辆公交车的LSTM神经网络模型路段行程时间预测值;
m为样本容量。
步骤4.3:根据步骤3.3获得的考虑路段货车混入率的重构公交车路段行程时间数据样本T′构造SVR模型的训练集样本X;
步骤4.4:建立SVR模型并求解模型参数。
具体来说,即通过学习训练集样本X中的所有元素以得到一个回归模型,使得f(x)=ωTx+b与y尽可能接近,ω和b是待求解的模型参数,且仅当f(x)与y的误差绝对值大于ε时才计算损失。
SVR模型参数求解的数学模型可描述为:
式中,
C为正则化常数;
lε(z)为ε-不敏感损失(ε-insensitive-loss)函数,表达式如下:
引入松弛变量ξk,
对拉格朗日函数
步骤4.5:利用训练好的SVR模型对测试集数据样本Tt={tt1,tt2,...,ttk,tt(k+1),...,tkm}进行预测,获得SVR模型输出的预测结果TSp={tSp1,tSp2,...,tSpk,tSp(k+1),...,tSpm}
其中,
tSpk表示第k辆公交车的SVR模型路段行程时间预测值;
m为样本容量。
步骤5)根据两类模型的预测值与实际值,建立LSTM-SVR组合预测模型进行公交行程时间预测。具体包括以下几个子步骤:
步骤5.1:目标班次(便于案例说明,此处假设为第k次)前l个班次的公交车路段行程时间实际值向量可记为:
LSTM神经网络模型预测值向量可记为:
SVR模型预测值向量可记为:
步骤5.2:根据如下公式分别计算两类模型前l个班次公交行程时间预测值与实际值的平均绝对误差EL(k)和ES(k):
步骤5.3:根据如下公式分别计算两类模型前l个班次公交行程时间预测值与实际值的误差平方和SL(k)和SS(k):
步骤5.4:根据SL(k)和SS(k)的大小关系,采用平均绝对误差线性加权的方法建立公交行程时间组合预测模型,实现过程如下:
步骤5.5:循环上述步骤5.1至5.4,直至遍历完测试集数据样本Tt中所有元素,即可获得所述组合预测模型的公交行程时间预测结果TFp:
TFp={tFp1,tFp2,...,tFpk,tFp(k+1),...,tFpm}
其中,
tFpk表示第k辆公交车的行程时间预测值;
m为样本容量。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的保护范围当中。