一种地铁客流预测方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及智能交通技术,尤其涉及一种地铁客流预测方法、装置、电子设备及存储介质。
背景技术
地铁作为人们一种重要的交通出行方式,随着科学技术的快速发展,给我们带来了巨大的便利,也给国家和地区的经济带来了很大的发展和促进作用。但是同时我们也应该看到,随着国家对地铁行业的大力支持,各地都在不断的加大对地铁的建设,乘坐地铁的人越来越多,伴随而来的问题也越来越多。怎么样将地铁和乘客进行结合,实现给乘客更合理的出行路线选择,规避交通堵塞,提取部署站点安保措施等问题,已经成为地铁中首要考虑的问题,而且,随着当前大数据、机器学习、人工智能等技术的快速发展,怎么样将这些技术深入应用到地铁行业助力未来城市安全出行,也成了社会的热点。
当前,对于交通行业的客流量预测的技术主要有以下几类:
1、简单的时间序列方法预测
时间序列方法预测是根据系统观察得到的时间序列数据,通过曲线拟合和参数估计来建立数据模型的理论和方法。时间序列表现为长期趋势变化、季节性周期变化、循环变化、随机性变化,常用的方法有移动平均法、指数平滑法、模型拟和法、AR(Autoregressive,自回归)、MA(moving average,滑动平均)、ARMA(Autoregressive moving average,自回归滑动平均)模型等。时间序列方法预测的缺陷体现在突出时间因素在预测中的作用,而不考虑其他外界具体因素的影响。交通行业,特别是地铁的复杂性,客流量的变化情况不仅仅受到时间因素的影响,其他元素如天气、温度、一些突发事件、节假日等都会影响客流,所以仅仅依靠时间特征去预测,会存在着很大的误差和缺陷。
2、单一的机器学习算法进行预测
这种方法的原理是从机器学习的角度,选择合适的算法,比如常用的线性回归、XGBOOST回归、神经网络算法(RNN、LSTM),通过构造一堆建模的特征,训练拟合出一个好的模型。考虑到交通行业的复杂性,客流量可能在每个站点都存在很大的差异,单独的使用一种机器学习方法,只能做到在某些站点的拟合效果好,达到的是局部的最优效果,并不能够在整体每个站点都有非常好的效果,同时,考虑到地铁容易受到很多突发性的事件的影响,正常的机器学习方法都是建立在数据有规律的基础上进行训练的,一旦出现了突发情况,比如出现暴雨、大雪、温度骤降等突发情况,模型的适用性效果就不能够得到很好的保证。
3、纯粹的人工多特征分析进行预测
这种方法的思路是针对某一个特征的客流预测场景,通过分析找到会影响客流量变化的特征,找到相关的规则,利用规则来建立起一套对应的模型对客流量进行预测。比如针对公交车、地铁、机场,甚至是这些地方内的每一种更细粒度的场景,比如公交车每个站点、地铁每个站点、各地不同的机场,都分别建立一套属于各自的规则特征模型。这种模型的缺点体现在没有建立起一整套通用的建模框架,考虑到公交车、地铁、机场,每个地方都不一样,而且站点数众多,在实践中要为每个点都建立一个模型是非常困难的事情,也不易维护。
发明内容
本申请提供了一种地铁客流预测方法、装置、电子设备和存储介质,其可以解决现有技术中数据不全面、模型适用性差、维护难的缺陷。
第一方面,提供一种地铁客流预测方法,该方法包括:
获取乘车数据源;乘车数据源包括时间信息和乘客的乘车信息;
将乘车数据源整合为对应的乘车数据,并根据乘车数据构建时间特征;
提取乘车数据中不同条件下分别所对应的数据进行整合分析以获得若干模型输入量;
基于模型输入量构建若干个距离待测时刻不同时刻范围的数据特征集并进行归一化处理,构建每一个时间范围分别对应的RTNN模型,且按照时间范围距离待测时刻由远至近的顺序,将每个RTNN模型中的每一个数据特征依次进行传递。
优选的,所述乘车数据源还包括环境参数。
优选的,所述乘车信息包括交通卡ID、交通卡类型、交易类型、站点编码、刷卡设备;所述时间信息包括日期、交易时间。
优选的,所述乘车数据包括每一个站点对应的进站人数和出站人数、站点编码。
优选的,所述条件包括多个不同时期特征的客流量、单个时期特征的客流量、任一周期内的特定时期特征的客流量。
优选的,数据特征集包括近期数据特征集、中期数据特征集和远期数据特征集,近期数据特征集包括距离待测时刻前i个时刻各站点的客流量数据特征,中期数据特征集包括距离待测时刻前j天与待预测时刻相同时刻各站点的客流量数据特征,远期数据特征集包括距离待测时刻前k个星期且与待预测时刻同日相同时刻的客流量数据特征;所述i、j、k均为自然数。
优选的,对数据特征集进行归一化处理,构建每一个时间范围分别对应的RTNN模型,且按照时间范围距离待测时刻由远至近的顺序,将每个RTNN模型中的每一个数据特征依次进行传递具体包括:
对数据特征集进行归一化处理,对归一化处理后的数据特征进行编码,构建每一个时间范围分别对应的RTNN模型;
按照时间范围距离待测时刻由远至近的顺序,将每个RTNN模型中的每一个编码后的数据特征依次进行传递;
将编码后的数据特征输入至对应的RTNN模型中以计算出对应的张量,将该张量与前一个数据特征对应的张量叠加,形成新的张量;
对新的张量进行解码,结合已知的客流量数据计算得到待测时刻的客流量数据。
第二方面,提供了一种地铁客流预测装置,该装置包括:
数据采集单元,被配置为获取乘车数据源;乘车数据源包括时间信息和乘客的乘车信息;
数据处理单元,被配置为将乘车数据源整合为对应的乘车数据,并根据乘车数据构建时间特征;
数据整合单元,被配置为提取乘车数据中不同条件下分别所对应的数据进行整合分析以获得若干模型输入量;
模型构建单元,被配置为基于模型输入量构建若干个距离待测时刻不同时刻范围的数据特征集并进行归一化处理,构建每一个时间范围分别对应的RTNN模型,且按照时间范围距离待测时刻由远至近的顺序,将每个RTNN模型中的每一个数据特征依次进行传递。
第三方面,提供一种电子设备,其上设有处理器、存储器以及存储在存储器上并可被处理器执行的计算机可读程序,所述计算机可读程序被处理器执行时实现如下步骤:
获取乘车数据源;乘车数据源包括时间信息和乘客的乘车信息;
将乘车数据源整合为对应的乘车数据,并根据乘车数据构建时间特征;
提取乘车数据中不同条件下分别所对应的数据进行整合分析以获得若干模型输入量;
基于模型输入量构建若干个距离待测时刻不同时刻范围的数据特征集并进行归一化处理,构建每一个时间范围分别对应的RTNN模型,且按照时间范围距离待测时刻由远至近的顺序,将每个RTNN模型中的每一个数据特征依次进行传递。
第四方面,提供了一种存储介质,其上存储有可被处理器执行的计算机可读程序,所述计算机可读程序被处理器执行时实现如下步骤:
获取乘车数据源;乘车数据源包括时间信息和乘客的乘车信息;
将乘车数据源整合为对应的乘车数据,并根据乘车数据构建时间特征;
提取乘车数据中不同条件下分别所对应的数据进行整合分析以获得若干模型输入量;
基于模型输入量构建若干个距离待测时刻不同时刻范围的数据特征集并进行归一化处理,构建每一个时间范围分别对应的RTNN模型,且按照时间范围距离待测时刻由远至近的顺序,将每个RTNN模型中的每一个数据特征依次进行传递。
有益效果:本方案中,基于RTNN网络模型不仅克服了现有技术中采用循环神经网络或者Transformer算法只能挖掘一个张量内各元素之间的相互关系或时序关系,从而可以刻画多个张量间的时序变化,且结合了时间序列之间的传递性,可以有效避免网络中长时间间隔信息损失的问题。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请实施例提供的一种地铁客流预测方法的流程图。
图2为本申请实施例的RTNN网络内部运行流程图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
如图1所示,本申请提供一种地铁客流预测方法,包括:
S1:获取乘车数据源;乘车数据源包括时间信息和乘客的乘车信息;
乘车数据源根据客户的历史刷卡信息可以获得,并且从中筛选到有用的字段。除了所述的时间信息和乘车信息,还包括环境参数,从人体感官而言,环境例如天气的阴晴雨雪,炎热和寒冷,当天最高温度、最低温度、平均气温等,在具体到本方案的实施过程中,环境参数进一步数据化描述为降雨量、降雪量、光照强度、温度(最高温度、最低温度、平均气温)等。乘车信息包括交通卡ID、交通卡类型、交易类型、站点编码、刷卡设备;所述时间信息包括日期、交易时间。交通卡ID是交通卡的唯一身份识别信息,交通卡类型例如包括羊城通、全国统一卡、单程票等,根据交通卡ID可获知这一信息。交易类型可以包括进站和出站。站点编码对应不同的地铁站点,并且每一个地铁站点的刷卡设备也有不同的编码。
S2:将乘车数据源整合为对应的乘车数据,并根据乘车数据构建时间特征;
根据上面乘车数据得到的乘车情况、天气情况等信息,进行相应的整合、提取和归纳,处理为例如包括每一个站点对应的进站人数和出站人数、站点编码。
得到乘车数据之后,构造的时间特征主要包括日期,格式例如为年-月-日,小时:0-23;分钟:0-59;星期几:0-6,0表示周一,6表示周末,是否周末:1表示周末,0表示非周末;是否节假日:1表示节假日,0表示非节假日。额外还可以包括当天最高温度、最低温度和平均气温。
S3:提取乘车数据中不同条件下分别所对应的数据进行整合分析以获得若干模型输入量;
上述条件包括多个不同时期特征的客流量、单个时期特征的客流量、任一周期内的特定时期特征的客流量。例如工作日、周末、节假日这三个不同时期特征的客流量:选择一段时间内(比如近3个月内)的客流数据,计算出工作日(正常的周一~周五)、周末(正常的周六和周日)、不同的节假日(包括春节、清明节、端午节、中秋节、国庆节等)的客流总量、客流平均值、客流最大值、客流最小值,进行对比,分析是否存在差异;例如工作日这单个时期特征的客流量:选择一段时间内(比如近3个月内)的客流数据,分别统计出正常工作日周一、周二、周三、周四、周五的客流数据,分析客流量是否存在差异。比如周末客流量:选择一段时间内(比如近3个月内)的客流数据,分别统计出正常周末周六、周日的客流数据,分析客流量是否存在差异。比如节假日客流量:选择一段时间内(比如近1年内)的客流数据,分别统计出节假日的客流数据、节假日前1天的客流数据,对比分析客流量是否存在差异;历史同星期客流量:选择一段时间内(比如近3个月内)的客流数据,分别统计出正常工作日所有的周一客流量、所有的周二客流量、所有的周三客流量、所有的周四客流量、所有的周五客流量、所有的周六客流量、所有的周日客流量,分别分析所有的周一、所有的周二、所有的周三、所有的周四、所有的周五、所有的周六、所有的周日客流量是否存在差异。
S4:基于模型输入量构建若干个距离待测时刻不同时刻范围的数据特征集并进行归一化处理;
本申请中优选将不同的时刻范围与距离待测时刻从近至远分为近期数据特征集、中期数据特征集和远期数据特征集。
近期数据特征集为待测时刻前i个时刻地铁各站客流量的数据,i*n维张量(n为站点数量),i为自然数。中期数据特征集为待测时刻前j天与待预测时刻相同时刻地铁各站客流量的数据,j*n维张量(如待预测时刻为早上10:00-10:15,则中期数据为:1天前早上10:00-10:15地铁客流量,2天前早上10:00-10:15地铁客流量,...,j天前早上10:00-10:15地铁客流量);远期数据特征集为待预测时刻前k个星期与待预测时刻同日相同时刻地铁各站客流量的数据,k*n维张量(如待预测时刻为周一早上10:00-10:15,则远期数据为:1周前周一早上10:00-10:15地铁客流量;2周前周一早上10:00-10:15地铁客流量,...,k周前周一早上10:00-10:15地铁客流量),j和k同样为自然数。另外还可以形成月份数据特征集、星期数据特征集、小时数据特征集、假期数据特征集等。
对不同时间范围的数据特征集进行归一化处理,映射到[0,1]区间后被输入RTNN网络中。例如输入4个站4维数据[116,2337,21,8,],进行归一化映射到[0,1]区间后的值为[0.046,0.99,0.006,0.001],并使用周期性函数相加进行位置编码。
S5:构建每一个时间范围分别对应的RTNN(Recurrent Transformer NeuralNetworks)模型;
本发明提出的RTNN网络结合了循环神经网络RNN(Recurrent Neural Networks)的时序特性和Transformer算法的注意力机制,时序特性是用于挖掘多个时刻之间的趋势性关系、周期性关系和短期相关性关系,时间线上的客流量变化规律通过细胞状态在网络间传递。远期数据特征集反映在几个星期内地铁各站客流量缓慢变化的趋势,中期数据特征集反映一周内地铁客流量周期性变化的特征,近期数据特征集反映数十分钟内地铁客流量的短期变化趋势,用于应对可能出现的突发事件造成的地铁客流量激增。如近期数据的模型有i个神经元单位,处理中期数据的模型有j个神经元,而处理远期数据的模型有k个神经元。
S6:按照时间范围距离待测时刻由远至近的顺序,将每个RTNN模型中的每一个数据特征依次进行传递。
三个模型间数据按照远期→中期→近期的顺序由细胞状态进行传递。归一化并编码后的数据输入模型并计算出相应的隐状态(张量),再与上一个神经元传递过来的细胞状态(张量)进行相加操作,形成新的细胞状态。当前细胞状态传入解码器后,结合已经预测出的客流量数据,计算当前时刻的下一个站点的数据。这里需要注意的是,在每个时刻的预测过程中,每个站点的预测并非同时进行,而是串行操作。最终由解码器解码成某一站点对应的客流量,由此循环直到下一个时刻各站的客流量都被预测完毕。
RTNN网络内部运行流程参考图2,输入张量进入编码器(图2左侧结构),首先经过自注意力层,在训练前会初始化一个注意力参数矩阵,并在未来进行训练。张量通过自注意力层后,会在一层前馈神经网络中被学习,这层神经网络参数也会被一起训练。然后输出隐状态ht。隐状态ht与一组权重进行矩阵运算,并用Sigmoid函数激活(见图2中左边的σ)后输出一个数值,这个数值为“遗忘门”,此处借鉴循环神经网络LSTM的思想。计算“遗忘门”的公式为:
ft=σf(Wf[ht]+bf);“遗忘门”用于控制上一个神经元传来的细胞状态的通过率,计算公式为:
ft*Ct-1
隐状态ht通过第一个激活函数后进入第二个Sigmoid激活函数中,以计算保留当前细胞状态的比例,也就是LSTM算法中的“输出门”,计算公式为:
it=σi(Wi[ht]+bi)
“输出门”用于控制当前隐状态的通过率,计算公式为:
it*ht
本算法中对LSTM的改进是只保留了“遗忘门”和“输出门”以简化模型。新的细胞状态使用过滤后的上一个神经元细胞状态和“输出门”筛选后的隐状态的和。计算公式为:
Ct=ft*Ct-1+it*ht
新细胞状态张量Ct传入解码器(图2右边的结构)后,结合已经预测出的前面站点的客流量,预测当前时刻当前站点的客流量。循环该操作,直到当前时刻所有站点客流量都被预测完毕,即完成当前时刻地铁各站客流量的预测工作。
原有的技术无论是循环神经网络还是Transformer算法都只能实现挖掘一个张量内各元素之间的相互关系或时序关系,然而它们的结构限制导致它们都无法实现关联多个张量之间的关系,本申请提出的RTNN算法不仅考虑到一个张量内各元素之间的关系,也能够将多个张量间的时序变化特征刻画出来。RTNN网络结合了RNN网络的短期细胞状态传递保真率高优点和Transformer的全局性自注意力机制,有效避免RNN网络中长时间间隔信息损失的问题。RTNN算法不仅可以实现挖掘多个时间序列之间的相互影响,也能够在诸多其他领域上得到很好的应用,具有普适性,例如在自然语言处理(NLP)技术中,开放域的多轮对话一直是一个难题,而RTNN算法擅长关联上下文的,所以RTNN算法同样可以应用于自然语言处理领域的多轮对话问题。
另外,本申请还提供一种地铁客流预测装置,包括:
数据采集单元,被配置为获取乘车数据源;乘车数据源包括时间信息和乘客的乘车信息;
数据处理单元,被配置为将乘车数据源整合为对应的乘车数据,并根据乘车数据构建时间特征;
数据整合单元,被配置为提取乘车数据中不同条件下分别所对应的数据进行整合分析以获得若干模型输入量;
模型构建单元,被配置为基于模型输入量构建若干个距离待测时刻不同时刻范围的数据特征集并进行归一化处理,构建每一个时间范围分别对应的RTNN模型,且按照时间范围距离待测时刻由远至近的顺序,将每个RTNN模型中的每一个数据特征依次进行传递。
本装置的执行流程和工作原理与本申请所提供的地铁客流预测方法相同,在此不再赘述。
本申请还提供一种电子设备,其上设有处理器、存储器以及存储在存储器上并可被处理器执行的计算机可读程序,所述计算机可读程序被处理器执行时实现本申请所述的地铁客流预测方法的步骤流程。
还提供一种存储介质,其上存储有可被处理器执行的计算机可读程序,其特征在于,所述计算机可读程序被处理器执行时实现本申请所述的地铁客流预测方法的步骤流程。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。