发明内容
为解决现有的浮动车交通信息提取和轨迹跟踪方法存在实时性较差、精度偏低,交通信息采集或处理手段存在缺陷等方面的问题,本发明提出了一种基于交通大数据的行程时间提取、预测及查询方法。
本发明提出的一种基于交通大数据的行程时间提取、预测及查询方法,包括在线处理部分和离线处理部分,其特征在于,所述在线处理部分包括以下步骤:
S1:采集历史浮动车数据,构建历史和实时数据库;
S2:标定用户的查询模式,其中,所述查询模式包括历史查询、实时查询和预测查询;
S3:自动计时与实时采集浮动车数据;
S4:当前时刻t是否等于用户查询的终止时刻;是则,执行步骤S5;否则执行步骤S7;
S5:选取路网中其他未处理的路段或路径,进行实时行程时间拟合分析;
S6:是否历遍所有路段和路径;是则,执行步骤S7;否则,返回执行步骤S5;
S7:是否结束查询;是则,结束;否则,返回执行步骤S2。
进一步的,所述步骤S7之前还包括步骤S8与S9;
S8:查询路网的历史行程时间是否变化;是则,执行步骤S9;
S9:根据用户标定的查询时间范围和路径集或路段集,从所述历史和实时数据库中读取相应的路网行程时间并按时间先后顺序进行动态显示。
进一步的,所述步骤S7之前还包括步骤S10-S15;
S10:查询路网的实时行程时间是否变化;是则,执行步骤S11;否则,执行步骤S15;
S11:根据用户标定的路径或路段集编号的先后顺序,选取路网中其他未处理的路段或路径,进行路网行程时间实时融合;
S12:用户标定的路径或路段是否全部检索完毕;是则,执行步骤S13;否则,返回执行步骤S11;
S13:将当前时刻t的行程时间投影到路网中进行动态显示;
S14:当前时刻t是否超出用户设定的时间范围;是则,执行步骤S15;否则,返回执行步骤S3;
S15:动态刷新当前时刻t。
进一步的,所述步骤S11的路网行程时间实时融合方法具体为:从所述数据库中获取当前时段Q内的浮动车行程时间数据,通过均值法获取当前时刻t的行程时间F(t);从所述实时数据库中获取上一个时段的实时行程时间拟合(Real-time Travel-time Fitting,RTF)模型参数,通过所述RTF模型获取当前时刻t的行程时间R(t);从实时和历史数据库中获取相应的路段或路径行程时间序列及行程时间短时预测(Travel-time Short-timePrediction,TSP)模型参数,通过所述TSP模型获取当前时刻t的行程时间S(t);对所述F(t)、R(t)和S(t)进行融合处理,获取当前时刻t的最终行程时间U(t)。
进一步的,所述步骤S7之前还包括步骤S16-S19;
S16:查询路网的短时预测行程时间是否变化;是则,执行步骤S17;否则,执行步骤S7;
S17:根据用户标定的路径或路段集编号的先后顺序,选取路网中其他未处理的路段或路径,进行行程时间短时融合预测分析;
S18:用户标定的路径或路段是否完全检索完毕;是则,执行步骤S19;否则,返回执行步骤S17;
S19:按照时间先后顺序,将获取的行程时间短时预测数据投影到路网上进行动态显示。
进一步的,所述步骤S17的行程时间短时融合预测分析方法具体为:根据用户的查询时间范围,标定出所述时间范围内的出行类别或出行类别组合,并从历史数据库中获取相应的TSP模型参数以及相应的覆盖时段;以当前时段Q的起始时刻t0为参考时间点,从历史和实时数据库中读取相应的路段或路径行程时间数据,形成一个行程时间序列G;从实时数据库中获取当前时段Q内的浮动车行程时间数据,并结合行程时间数据G,通过TRF模型获取当前时刻的行程时间U(t);按照时间的先后顺序,将行程时间U(t)与G进行重组合并,形成一个行程时间序列W,将行程时间W作为TSP模型的输入参数,由此获取用户标定时间范围内的行程时间序列Y1;从实时数据库中所述路段或路径的最新RTF模型,通过RTF模型获取查询时间范围内的行程时间预测值Y2;对所述Y1和Y2进行融合处理,获得的预测序列Y即为所述路段或路径的行程时间短时预测序列。
进一步的,所述步骤S1具体包括:从所述历史数据库中读取离线处理信息,所述历史数据库的数据包括:路段相关数据、路径相关数据及时间相关数据;
所述路段相关数据包括:所有路段编号以及相应的历史行程时间拟合(Historical Travel-time Fitting,HTF)模型参数和所述TSP模型参数、所有路段的行程时间及其统计特征等数据;其中,每一条路段行程时间数据包括大小、时间戳、路段属性的信息;
所述路径相关数据包括:所有备选路径编号及其历史行程时间拟合HTF模型参数和TSP模型参数、所有备选路径的行程时间及其统计特征等数据;其中每一条路径行程时间数据包括大小、时间戳、路径属性的信息;
所述时间相关数据包括:以一天为一个循环周期的时间周期划分方式及相应编号、出行类别划分方式及相应编号、行程时间数据的最终时间戳T;其中,所述最终时间戳T表示历史数据库中行程时间数据所对应的最终时间戳,即为时间戳数据中离当前时刻t最近的那个时间戳。
进一步的,所述步骤S2具体包括:
用户选取查询模式,包括历史、实时和预测三种查询模式,用户的查询需求可为一种或多种查询模式;
针对用户选取的任意一种查询模式,由用户设置查询的起始时刻和终止时刻,由此获得相应的查询时间范围,其中实时和预测查询模式的起始时刻默认为当前时刻t;
针对用户选取的任意一种查询模式,由用户选取查询的路网区域或某条路径,由此获得相应的查询路网范围;
针对用户选取的查询模式,当用户查询某个路网区域时,标定出所述路网区域所包含和交叉的所有路段以及相应的路段编号,形成用户在所述查询模式下的查询路段集;
针对用户选定的查询模式,当用户查询某条路径时,将用户选取的路径与历史数据库中的备份路径集进行比较:如果存在匹配路径,标定出相应的查询路径编号;如果不存在匹配路径,标定出所述路径所包含的路段编号,形成用户在所述查询模式下的查询路段集。
进一步的,所述步骤S3具体包括:
快速检索所述历史数据库中路网行程时间数据的最终时间戳T,以最终时间戳T为基准,设置一个步长T1对时间进行动态跟踪和采样处理,按照先后顺序将时间分成若干时段并编号,使得当前时刻t永远落在当前时段内,动态刷新当前时段的编号Q、起始时刻t0和终止时刻t1,则有t0<t≤t1;
将最终时间戳T到时刻t0之间的时间段设置为一个时间范围,从所述实时数据库中获取该时间范围内的路网行程时间数据、以及各路段和备份路径的实时行程时间拟合模型参数;
从所述实时数据库中动态采集当前时段Q内的所有浮动车行程时间数据,所述浮动车行程时间数据包括行程时间的大小、路段或路径属性、时间戳、车辆编号;
所述步骤S5具体包括:针对选取的路段或路径,进行实时行程时间拟合(Real-time Travel-time Fitting,RTF)算法分析:设置时段数M,将当前时段Q以及前面M个时段的时间合并成一个时间范围,从实时和历史数据库中获取所述时间范围内的浮动车和路网行程时间数据;设置项数N,构造一个二元N次多项式对路段或路径行程时间数据以及相应的浮动车行程时间数据进行拟合,并采用列文伯格-马夸尔特(Levenberg Marquardt,LM)算法快速求解多项式的系数,所述系数即为RTF模型参数;根据求解出的RTF模型,等时距采样当前时段Q和相邻时段Q+1范围内的路网行程时间序列值,在实时数据库中存储并动态刷新RTF模型参数和行程时间序列值。
进一步的,所述离线处理部分包括以下步骤:
S20:从所述历史数据库中获取路网数据,所述路网数据包括路网拓扑结构数据、所有路段编号以及备份路径编号,从历史数据库中获取浮动车在路网中的行程时间历史数据,包括各路段和路径的历经浮动车行程时间数据;
S21:根据路段和路径编号的先后顺序,选取一条未处理的路段或路径;
S22:针对选定的路段或路径,读取所述路段或路径的历经浮动车行程时间数据,,以每天0:00到24:00为一个周期,依据时间戳的先后顺序对行程时间数据进行周期划分,并对划分的时间周期进行编号;
S23:根据所述时间周期编号的先后顺序,选取一个未处理的时间周期;
S24:历史行程时间拟合(Historical Travel-time Fitting,HTF)模型计算:针对所述时间周期内的浮动车行程时间数据,设置项数N,构造一个二元N次多项式对行程时间数据进行拟合,采用列文伯格-马夸尔特(Levenberg Marquardt,LM)算法快速求解多项式系数,即为HTF模型参数;根据求解出的多项式模型,等间距采样所述时间周期内的行程时间序列值,将所述行程时间序列值作为所述路段或路径在所述时间周期的行程时间序列并存储到历史数据库中;
S25:所有时间周期是否遍历完毕;是则,执行步骤S26;否则,返回执行S23;
S26:按照工作日、休息日、节假日等出行方式,对行程时间的周期进行出行类别划分和编号;
S27:根据出行类别的先后顺序,选取一种未处理的出行类型;
S28:进行行程时间统计分析:采用核密度估计(Kernel Density Estimation,KDE)方法,计算行程时间数据的概率密度,提取概率密度最大值对应的行程时间作为所述路段或路径在该出行类别下的平均行程时间;对概率密度进行积分处理,获得相应的概率分布,对概率分布进行修正和等间距采样,获得行程时间的概率分布序列;将所述路段或路径的行程时间的平均值和概率分布序列存储到历史数据库中;
S29:行程时间短时预测(Travel-time Short-time Prediction,TSP)模型计算:按照时间的先后顺序,将行程时间数据进行排序形成一个长的数据序列;假定所述长序列相邻元素的时距相等,构造一个多项时间序列模型来拟合所述长序列,由此生成一个拟合矩阵方程,用最小二乘法(Least Square Method,LSM)求解该方程并计算相应的拟合误差;变动时间序列模型的项数,用相同方法求解拟合矩阵方程以及相应的拟合误差,并找到拟合误差最小值对应的项数M及相应的时间序列模型,所述时间序列模型即为所述路段或路径在指定出行类别条件下的TSP模型;由项数M计算出所述TSP模型的覆盖时段,将所述TSP模型参数和覆盖时段存入历史数据库中;
S30:所有出行类别是否遍历完毕;是则,执行步骤S31;否则,返回执行S27;
S31:所有路段或路径是否遍历完毕;是则,执行步骤S32;否则,返回执行S21;
S32:离线数据整理和存储:将所有路段和备选路径的行程时间数据、行程时间的平均值及概率分布序列、行程时间数据的最终时间戳、相应的TSP模型参数及覆盖时段的信息存入历史数据库中。
本发明的有益效果为提取路网行程时间精度高,同时数据处理快、稳定性高。通过大量浮动车数据来获取和预测路网行程时间的方法可同时进行实时、预测、历史路网行程时间的处理。可在复杂的海量浮动车数据时,保证数据存储与读写的实时性更强,定位精度高,满足用户的需求,用户体验非常好。
具体实施方式
请参阅图1,为本发明一种基于交通大数据的行程时间提取、预测及查询方法的在线处理部分一实施方式的流程图。
一种基于交通大数据的行程时间提取、预测及查询方法包括以下步骤:包括在线处理部分和离线处理部分。在线处理部分包括以下步骤:S1:采集历史浮动车数据,构建历史和实时数据库;S2:标定用户的查询模式,其中,查询模式包括历史查询、实时查询和预测查询;S3:自动计时与实时采集浮动车数据;S4:当前时刻t是否等于用户查询的终止时刻;是则,执行步骤S5;否则执行步骤S7;S5:选取路网中其他未处理的路段或路径,进行实时行程时间拟合分析;S6:是否历遍所有路段和路径;是则,执行步骤S7;否则,返回执行步骤S5;S7:是否结束查询;是则,结束;否则,返回执行步骤S2。
请参阅图2,为本发明一种基于交通大数据的行程时间提取、预测及查询方法的在线处理部分一具体实施例的流程图。
在本实施方式中,在线处理部分包括以下步骤:S1:采集历史浮动车数据,构建历史和实时数据库;S2:标定用户的查询模式,其中,查询模式包括历史查询、实时查询和预测查询;S3:自动计时与实时采集浮动车数据;S4:当前时刻t是否等于用户查询的终止时刻;是则,执行步骤S5;否则执行步骤S7;S5:选取路网中其他未处理的路段或路径,进行实时行程时间拟合分析;S6:是否历遍所有路段和路径;是则,执行步骤S7;否则,返回执行步骤S5;S7:是否结束查询;是则,结束;否则,返回执行步骤S2。
在本实施例中,步骤S7之前还包括步骤S8与S9。S8:查询路网的历史行程时间是否变化;是则,执行步骤S9。S9:根据用户标定的查询时间范围和路径集或路段集,从历史和实时数据库中读取相应的路网行程时间并按时间先后顺序进行动态显示。
在本实施例中,步骤S7之前还包括步骤S10-S15。S10:查询路网的实时行程时间是否变化;是则,执行步骤S11;否则,执行步骤S15。
S11:根据用户标定的路径或路段集编号的先后顺序,选取路网中其他未处理的路段或路径,进行路网行程时间实时融合。
S12:用户标定的路径或路段是否全部检索完毕;是则,执行步骤S13;否则,返回执行步骤S11。
S13:将当前时刻t的行程时间投影到路网中进行动态显示。
S14:当前时刻t是否超出用户设定的时间范围;是则,执行步骤S15;否则,返回执行步骤S3。
S15:动态刷新当前时刻t。
在一具体实施例中,步骤S11的路网行程时间实时融合方法具体为:从数据库中获取当前时段Q内的浮动车行程时间数据,通过均值法获取当前时刻t的行程时间F(t);从实时数据库中获取上一个时段的实时行程时间拟合(Real-time Travel-time Fitting,RTF)模型参数,通过RTF模型获取当前时刻t的行程时间R(t);从实时和历史数据库中获取相应的路段或路径行程时间序列及TSP模型参数,通过TSP模型获取当前时刻t的行程时间S(t);对F(t)、R(t)和S(t)进行融合处理,获取当前时刻t的最终行程时间U(t)。
在本实施例中,步骤S7之前还包括步骤S16-S19。S16:查询路网的短时预测行程时间是否变化;是则,执行步骤S17;否则,执行步骤S7。S17:根据用户标定的路径或路段集编号的先后顺序,选取路网中其他未处理的路段或路径,进行行程时间短时融合预测分析。S18:用户标定的路径或路段是否完全检索完毕;是则,执行步骤S19;否则,返回执行步骤S17。S19:按照时间先后顺序,将获取的行程时间短时预测数据投影到路网上进行动态显示。
在一具体实施例中,步骤S17的行程时间短时融合预测分析方法具体为:根据用户的查询时间范围,标定出时间范围内的出行类别或出行类别组合,并从历史数据库中获取相应的TSP模型参数以及相应的覆盖时段;以当前时段Q的起始时刻t0为参考时间点,从历史和实时数据库中读取相应的路段或路径行程时间数据,形成一个行程时间序列G;从实时数据库中获取当前时段Q内的浮动车行程时间数据,并结合行程时间数据G,通过TRF模型获取当前时刻的行程时间U(t);按照时间的先后顺序,将行程时间U(t)与G进行重组合并,形成一个行程时间序列W,将行程时间W作为TSP模型的输入参数,由此获取用户标定时间范围内的行程时间序列Y1;从实时数据库中路段或路径的最新RTF模型,通过RTF模型获取查询时间范围内的行程时间预测值Y2;对Y1和Y2进行融合处理,获得的预测序列Y即为路段或路径的行程时间短时预测序列。
步骤S1具体包括:从历史数据库中读取离线处理信息,历史数据库的数据包括:路段相关数据、路径相关数据及时间相关数据。路段相关数据包括:所有路段编号以及相应的历史行程时间拟合(Historical Travel-time Fitting,HTF)模型参数和行程时间短时预测(Travel-time Short-time Prediction,TSP)模型参数、所有路段的行程时间及其统计特征等数据;其中,每一条路段行程时间数据包括大小、时间戳、路段属性的信息。路径相关数据包括:所有备选路径编号及其历史行程时间拟合HTF模型参数和TSP模型参数、所有备选路径的行程时间及其统计特征等数据;其中每一条路径行程时间数据包括大小、时间戳、路径属性的信息。时间相关数据包括:以一天为一个循环周期的时间周期划分方式及相应编号、出行类别划分方式及相应编号、行程时间数据的最终时间戳T;其中,最终时间戳T表示历史数据库中行程时间数据所对应的最终时间戳,即为时间戳数据中离当前时刻t最近的那个时间戳。
步骤S2具体包括:用户选取查询模式,包括历史、实时和预测三种查询模式,用户的查询需求可为一种或多种查询模式。针对用户选取的任意一种查询模式,由用户设置查询的起始时刻和终止时刻,由此获得相应的查询时间范围,其中实时和预测查询模式的起始时刻默认为当前时刻t。针对用户选取的任意一种查询模式,由用户选取查询的路网区域或某条路径,由此获得相应的查询路网范围。针对用户选取的查询模式,当用户查询某个路网区域时,标定出路网区域所包含和交叉的所有路段以及相应的路段编号,形成用户在查询模式下的查询路段集。针对用户选定的查询模式,当用户查询某条路径时,将用户选取的路径与历史数据库中的备份路径集进行比较:如果存在匹配路径,标定出相应的查询路径编号;如果不存在匹配路径,标定出路径所包含的路段编号,形成用户在查询模式下的查询路段集。
步骤S3具体包括:快速检索历史数据库中路网行程时间数据的最终时间戳T,以最终时间戳T为基准,设置一个步长T1对时间进行动态跟踪和采样处理,按照先后顺序将时间分成若干时段并编号,使得当前时刻t永远落在当前时段内,动态刷新当前时段的编号Q、起始时刻t0和终止时刻t1,则有t0<t≤t1。将最终时间戳T到时刻t0之间的时间段设置为一个时间范围,从实时数据库中获取该时间范围内的路网行程时间数据、以及各路段和备份路径的实时行程时间拟合模型参数。从实时数据库中动态采集当前时段Q内的所有浮动车行程时间数据,浮动车行程时间数据包括行程时间的大小、路段或路径属性、时间戳、车辆编号。
步骤S5具体包括:针对选取的路段或路径,进行实时行程时间拟合(Real-timeTravel-time Fitting,RTF)算法分析:设置时段数M,将当前时段Q以及前面M个时段的时间合并成一个时间范围,从实时和历史数据库中获取时间范围内的浮动车和路网行程时间数据。设置项数N,构造一个二元N次多项式对路段或路径行程时间数据以及相应的浮动车行程时间数据进行拟合,并采用列文伯格-马夸尔特(Levenberg Marquardt,LM)算法快速求解多项式的系数,系数即为RTF模型参数。根据求解出的RTF模型,等时距采样当前时段Q和相邻时段Q+1范围内的路网行程时间序列值,在实时数据库中存储并动态刷新RTF模型参数和行程时间序列值。
请参阅图3,为本发明一种基于交通大数据的行程时间提取、预测及查询方法的离线处理部分一实施方式的流程图。
S20:从历史数据库中获取路网数据,路网数据包括路网拓扑结构数据、所有路段编号以及备份路径编号,从历史数据库中获取浮动车在路网中的行程时间历史数据,包括各路段和路径的历经浮动车行程时间数据。
S21:根据路段和路径编号的先后顺序,选取一条未处理的路段或路径。
S22:针对选定的路段或路径,读取路段或路径的历经浮动车行程时间数据,,以每天0:00到24:00为一个周期,依据时间戳的先后顺序对行程时间数据进行周期划分,并对划分的时间周期进行编号。
S23:根据时间周期编号的先后顺序,选取一个未处理的时间周期。
S24:历史行程时间拟合(Historical Travel-time Fitting,HTF)模型计算:针对时间周期内的浮动车行程时间数据,设置项数N,构造一个二元N次多项式对行程时间数据进行拟合,采用列文伯格-马夸尔特(Levenberg Marquardt,LM)算法快速求解多项式系数,即为HTF模型参数;根据求解出的多项式模型,等间距采样时间周期内的行程时间序列值,将行程时间序列值作为路段或路径在时间周期的行程时间序列并存储到历史数据库中。
S25:所有时间周期是否遍历完毕;是则,执行步骤S26;否则,返回执行S23。
S26:按照工作日、休息日、节假日等出行方式,对行程时间的周期进行出行类别划分和编号。
S27:根据出行类别的先后顺序,选取一种未处理的出行类型。
S28:进行行程时间统计分析:采用核密度估计(Kernel Density Estimation,KDE)方法,计算行程时间数据的概率密度,提取概率密度最大值对应的行程时间作为路段或路径在该出行类别下的平均行程时间;对概率密度进行积分处理,获得相应的概率分布,对概率分布进行修正和等间距采样,获得行程时间的概率分布序列;将路段或路径的行程时间的平均值和概率分布序列存储到历史数据库中。
S29:行程时间短时预测(Travel-time Short-time Prediction,TSP)模型计算:按照时间的先后顺序,将行程时间数据进行排序形成一个长的数据序列;假定长序列相邻元素的时距相等,构造一个多项时间序列模型来拟合长序列,由此生成一个拟合矩阵方程,用最小二乘法(Least Square Method,LSM)求解该方程并计算相应的拟合误差;变动时间序列模型的项数,用相同方法求解拟合矩阵方程以及相应的拟合误差,并找到拟合误差最小值对应的项数M及相应的时间序列模型,时间序列模型即为路段或路径在指定出行类别条件下的TSP模型;由项数M计算出TSP模型的覆盖时段,将TSP模型参数和覆盖时段存入历史数据库中。
S30:所有出行类别是否遍历完毕;是则,执行步骤S31;否则,返回执行S27。
S31:所有路段或路径是否遍历完毕;是则,执行步骤S32;否则,返回执行S21。
S32:离线数据整理和存储:将所有路段和备选路径的行程时间数据、行程时间的平均值及概率分布序列、行程时间数据的最终时间戳、相应的TSP模型参数及覆盖时段的信息存入历史数据库中。
本发明的有益效果为提取路网行程时间精度高,同时数据处理快、稳定性高。通过大量浮动车数据来获取和预测路网行程时间的方法可同时进行实时、预测、历史路网行程时间的处理。可在复杂的海量浮动车数据时,保证数据存储与读写的实时性更强,定位精度高,满足用户的需求,用户体验非常好。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。