一种基于改进KNN的分布式地铁客流预测方法技术

技术编号:32517973 阅读:48 留言:0更新日期:2022-03-02 11:16
本发明专利技术提供了一种基于改进KNN的分布式地铁客流预测方法,包括:搭建集群环境;获取具体一个地铁站的所有的历史入站刷卡记录以及预测当天的入站刷卡记录;利用分布式系统,将地铁入站刷卡记录按照小时划分,作为一小时内的地铁客流;计算所有的历史入站人数与预测当天的入站人数的向量距离;选取不同的K值,并且计算偏差和方差,得到最优的K值;利用历史入站人数数据,训练LightGBM算法模型;选择K条向量距离最小的历史入站人数数据,输入模型,得到一组预测值。根据LightGBM的预测值,用KNN公式预测当天每小时的地铁客流。本方法融合了KNN和LightGBM算法,有效地利用了所有历史数据来预测地铁客流情况,并且模型准确率较高。并且模型准确率较高。并且模型准确率较高。

【技术实现步骤摘要】
一种基于改进KNN的分布式地铁客流预测方法


[0001]本专利技术涉及交通
,具体涉及一种基于改进KNN的分布式地铁客流预测方法。

技术介绍

[0002]现阶段,地铁交通成为人们日常的出行方式。然而,随着城市人口的不断增加,地铁站拥堵问题频繁发生。预测地铁客流极其重要。根据预测的客流人数,地铁站可以实时调度人力物力,以缓解地铁站拥堵的问题。
[0003]通过分析单个地铁站每日的客流数据,可以发现单个地铁站客流存在一定的规律。本研究提出将单个地铁站的历史入站刷卡数据与预测当天实时刷卡数据相结合,融合KNN(K近邻)和LightGBM(Light Gradient Boosting Machine),在分布式系统下预测地铁客流的方法。
[0004]现有的方法存在以下问题:
[0005]1、传统的预测方法,结果精度不高。
[0006]2、现有精度较高的预测方法在数据量大时,运行时间较长。

技术实现思路

[0007]专利技术目的:本专利技术提供了一种基于改进KNN的的分布式地铁客流预测方法,其目的在于能够在历史数据庞大的条件下,借助分布式系统并行处理数据的方法建立预测模型来预测当天地铁客流。
[0008]一种基于改进KNN的的分布式地铁客流预测方法,包括以下步骤:
[0009]步骤1:搭建Hadoop分布式环境,Hadoop分布式环境包括HDFS(Hadoop Distributed File System)分布式文件系统,搭建服务器的Spark分布式环境
[0010]步骤2:获取具体一个地铁站的所有的历史入站刷卡记录以及预测当天的入站刷卡记录,存入HDFS分布式文件系统;
[0011]步骤3:根据历史入站刷卡记录,按照小时划分,利用分布式系统统计出一天中每个小时的刷卡数量,作为一小时内的地铁客流;
[0012]步骤4:分布式地计算所有的历史入站人数与预测当天的入站人数的向量距离,按照向量距离升序排列;
[0013]步骤5:对于步骤4中得到的数据,选取不同的K值,计算第一至第K个向量距离的偏差和方差,当偏差和方差最小时,得到最优的K值;
[0014]步骤6:根据最优的K值,利用历史的客流数据,用来训练LightGBM算法模型;
[0015]步骤7:根据最优的K值,选择K条历史入站人数的数据,输入到LightGBM算法模型,得到K组每小时的预测值。
[0016]步骤8:根据步骤7得出的K组预测值,利用K近邻模式匹配预测当天每小时的地铁客流。
[0017]步骤2中,对于历史入站刷卡记录和预测当天的入站刷卡记录,以入站刷卡记录作为入站人数,记录的结构包括记录时间和用户识别号。
[0018]步骤3中,从HDFS分布式文件系统中读取历史入站刷卡记录数据,并对读取的海量刷卡记录数据进行分布式并行处理,得到每一天的人数数据,一天中按照小时划分。
[0019]步骤4中,利用了Hadoop的MapReduce过程进行计算,MapReduce包括Map阶段和Reduce阶段,具体包括如下步骤:
[0020]步骤4

1:读取n天的历史入站人数s
n
={x
n1
,x
n2


,x
n24
},x
ni
代表第n天i时的人数,i取值为1~24且i为整数,读取预测当天的数据q={y1,y2,

,y
k
},y
k
代表预测当天k时的人数,k取值为2~23,且为整数;
[0021]步骤4

2:分布式计算向量距离具体的,将键值对<i,s
i
>作为Map阶段的输入,其中s
i
为第i天的历史入站人数;将<L
i
,i>作为Map阶段的输出;
[0022]在Reduce阶段,对<L
i
,i>进行升序排序,并交换参数位置,记为<i,M
i
>,M
i
表示升序排列第i位的向量距离,将结果保存到HDFS分布式文件系统。
[0023]步骤5包括:
[0024]步骤5

1:读取结果<i,M
i
>,分布式计算{M
i
|i=1,2,

,K}的偏差B和方差V,具体的,先生成键值对<i,(M1,M2,

M
i
)>,作为Map阶段的输入,将<i,(B,V)>作为Map阶段的输出;
[0025]步骤5

2:当K值在1到n之间变化时,存在一个最优的K值,使得偏差B和方差V最低,选取此时的K值。
[0026]步骤6包括:
[0027]步骤6

1:初始化变量x=k,预测当天k时的人数;
[0028]步骤6

2:将历史前k小时的历史入站人数数据作为特征值,第x小时的历史入站人数数据作为目标值;
[0029]步骤6

3:将历史入站人数数据进行归一化操作;
[0030]步骤6

4:利用K折交叉验证法训练LightGBM算法模型,LightGBM算法模型记为CLF
x
;可以参考:https://lightgbm.readthedocs.io/en/latest/;
[0031]步骤6

5:更新x=x+1,重复步骤6

2至步骤6

5,直到x=24。
[0032]步骤7中,将K条历史入站人数数据作为输入,通过LightGBM算法模型CLF
x
得到多组预测值λ
xi
,i=1,

,K,x=k,

,24,λ
xi
代表第i条历史入站人数对应的LightGBM算法预测的第x小时的人数。
[0033]所述步骤8中根据步骤五得出的K值和步骤7得出的一组预测值λ
x
,利用公式来计算当天的客流预测结果,y
x
表示x时的预测的人数。
[0034]本专利技术还包括步骤9:将预测结果可视化,以时间为横坐标,以人数为纵坐标,用两条折线代表实际人数和预测的人数,生成折线图。
[0035]本专利技术具有以下优点及有益效果:在分布式系统上并行处理庞大的数据,将数据分散到不同的节点上,使它们同时在不同节点上运行,从而加快计算速度。融合了KNN和
LightGBM算法,有效地利用了所有历史数据来预测地铁客流情况,并且模型准确率较高。
附图说明
[0036]下面结合附图和具体实施方式对本专利技术做更进一步的具体说明,本专利技术的上述和/或其他方面的优点将会变得更加清楚。
[0037本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进KNN的分布式地铁客流预测方法,其特征在于,包括如下步骤:步骤1:搭建Hadoop分布式环境,Hadoop分布式环境包括HDFS分布式文件系统,搭建服务器的Spark分布式环境;步骤2:获取具体一个地铁站的所有的历史入站刷卡记录以及预测当天的入站刷卡记录,存入HDFS分布式文件系统;步骤3:根据历史入站刷卡记录,按照小时划分,利用分布式系统统计出一天中每个小时的刷卡数量,作为一小时内的地铁客流;步骤4:分布式计算所有的历史入站人数与预测当天的入站人数的向量距离,按照升序排列;步骤5:对于步骤4中得到的数据,选取不同的K值,计算第一至第K个向量距离的偏差和方差,当偏差和方差最小时,得到最优的K值;步骤6:根据最优的K值,利用历史的客流数据,用来训练LightGBM算法模型;步骤7:根据最优的K值,选择K条历史入站人数的数据,输入到LightGBM算法模型,得到K组每小时的预测值;步骤8:根据K组每小时的预测值,利用K近邻预测当天每小时的地铁客流。2.根据权利要求1所述的一种基于改进KNN的分布式地铁客流预测方法,其特征在于,步骤2中,对于历史入站刷卡记录和预测当天的入站刷卡记录,以入站刷卡记录作为入站人数,记录的结构包括记录时间和用户识别号。3.根据权利要求2所述的一种基于改进KNN的分布式地铁客流预测方法,其特征在于,步骤3中,从HDFS分布式文件系统中读取历史入站刷卡记录数据,并对读取的数据进行分布式并行处理,得到每一天的人数数据,一天中按照小时划分。4.根据权利要求3所述的一种基于改进KNN的分布式地铁客流预测方法,其特征在于,步骤4中,利用了Hadoop的MapReduce过程进行计算,MapReduce包括Map阶段和Reduce阶段,具体包括如下步骤:步骤4

1:读取n天的历史入站人数s
n
={x
n1
,x
n2


,x
n24
},x
ni
代表第n天i时的人数,i取值为1~24且i为整数,读取预测当天的数据q={y1,y2,

,y
k
},y
k
代表预测当天k时的人数,k取值为2~23,且为整数;步骤4

2:分布式计算向量距离i=1,2,

,n,具体的,将键值对<i,s
i
>作为Map阶段的输入,其中s
i
为第i天的历史入站人数;将<L
i
,i>作为Map阶段的输出;在Reduce阶段,对<L...

【专利技术属性】
技术研发人员:李玉萍张巍徐磊杨晓波崔昕
申请(专利权)人:中通服咨询设计研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1