金融信息
推荐平台

IC卡数据分析(【IC刷卡数据专题】IC刷卡数据分析的技术要点)

原标题:【IC刷卡数据专题】IC刷卡数据分析的技术要点

在上两篇文章中,我们分别介绍了IC刷卡数据的研究方向IC刷卡数据的获取渠道,这一篇里将为大家带来IC刷卡数据的第三个内容——IC刷卡数据分析的技术要点!

IC刷卡数据中可能同时包含着地铁刷卡和公交刷卡数据分别为大家介绍一下两者的处理思路。

01 地铁IC刷卡数据处理思路

地铁IC刷卡数据的关键字段如下:

卡ID(Card ID) 刷卡日期/时间(Date/Time) 刷卡站点(Station) 判断进站还是出站的字段(Type/Price)

对地铁IC刷卡数据而言,其关键字段是卡ID、刷卡日期/时间、刷卡站点和进站出站的判断字段,围绕这些信息,可以进一步做OD信息提取、出行路径提取。

(1)OD信息提取处理思路

OD(Origin-destination)信息是时空大数据中的重要信息,其中O代表出行的出发点,D代表出行的目的地。OD提取的目的就是识别出行的起讫点,能直观反应出上车、下车需求,常作为轨道交通的研究对象。

由于拿到的是一条条刷卡记录,而非每次进出地铁行程的记录,因此需要把它们整理成一条条包含进出地铁行程的记录,才能提取出OD信息,也就是每次行程的起点与终点位置和时间。

如何处理呢?

第一步:原始数据排序

把原始数据按卡ID(Card ID)、刷卡日期/时间(Date/Time)排序,就能得到类似图1的表,表中同一张卡的数据是连在一起的,且用于判断进站还是出站的字段(Type/Price)应该是以交替形式的出现,比如Type里表示进站和出站的值,会以进站→出站→进站→出站的形式交替出现,或者由于进站时不扣钱,出站时扣钱,表现在Price里就是以不收钱(0)→收钱(>0)→不收钱(0)→收钱(>0)的形式交替出现。

图1 地铁IC刷卡数据OD提取之原始数据排序示意图

第二步:数据表上移和拼接 有了排序后的地铁IC刷卡数据后,要如何去提取卡的进站、出站信息呢?

由于我们需要拿到的是卡的进站、出站信息,所以自然而然会希望同一个行程的进出站信息能出现在同一行中,也就是需要把地铁单程的进出站刷卡数据整合在一行里。

我们可以先把第一步中得到的排序表往上移一行,这里用python中的shift(-1)语句就能轻松搞定,然后把排序表和上移一行的排序表拼起来后,就形成了如图2所示的表。

图2 地铁IC刷卡数据OD提取之数据表上移和拼接示意图

第三步:数据剔除 仔细观察第二步中得到的拼接表,你会发现部分行中已经有了我们希望得到的地铁单程进出站刷卡信息,但还有一些行中的数据是我们不需要的,因此要把不需要的数据进行剔除。

那么需要剔除的数据有哪些特征呢?通过观察拼接表,很容易发现需要剔除的数据有以下特征:

同一行中卡ID不一致的数据(Card ID 不等于Card ID1) 同一行中判断进站还是出站的字段(Type/Price)为出站的数据(Type为出站/Price不为0)

如图3中所示,标灰色的行就是我们需要进行剔除的数据,剔除掉后,就完成了OD信息的提取。

图3 地铁IC刷卡数据OD提取之数据剔除示意图

(2)出行路径提取处理思路除了提取OD信息外,我们一般还可以用地铁IC刷卡数据提取出行路径。基于OD信息提取的进出站点位置和时间信息,结合城市地铁线路的拓扑网络结构信息,就能运用一定的路径选择模型提取出行线路及换乘方式,也就是出行路径。

有了OD信息后,我们要去做一个出行路径的提取。

对于地铁出行来说,由于地铁轨道网络有很多条线路,也有很多换乘站点,而IC卡数据里只有IC卡的进站刷卡与出站刷卡数据,所以要想提取出地铁的出行路径,就需要对地铁系统构建一个地铁轨道网络模型,然后应用一些网络中的最短路径模型算法(如Dijkstra算法、k条最短路径算法等)或是其他模型算法进行路径提取。

第一步:拓扑网络构建 无论采用什么模型哪种算法,首先要做的就是构建一个地铁拓扑网络,那么拓扑网络要如何构建呢?

网络一般由节点和边构成的,在地铁拓扑网络中,节点就是轨道站点,边就是站点和站点之间的连接。这个要怎么理解呢?图4 地铁IC刷卡数据出行路径提取之拓扑网络构建示意图

比如我们有如图4所示的两条地铁线路,橙色线路上的站点用橙色点表示,绿色线路上的站点用绿色点表示,两者交汇处为换乘站点,用蓝色点表示。要构建出这两条地铁线路的网络,可以这样来做:把图4中左侧的绿色线路转换成右侧的绿色站点之间的联系关系,每个绿色站点是一个节点,相邻站点用边进行连接,同理橙色线路也类似。对于蓝色的换乘站点来说,虽然是一个站点,但站点内需要换乘,因此绿色线路到橙色线路在蓝色的换乘站点处需要加一条边进行连接,也就意味着对于该蓝色换乘站点来说,在网络里面会存在两个节点,左边节点代表绿色线路的换乘站点,右边代表橙色线路的换乘站点,由于两个站点之间换乘需要花一定的时间走过去,比如从绿色线路站台走到橙色线路站,因此需要区分出来。

构建完网络关系,就可以如图4右侧所示给节点间的边加权重了,如何设定权重取决于用什么规则进行路径提取,比如若采用时间最短的规则提取路径,就可以把站点之间的耗时作为权重,比如图4中以站点之间的假设耗时作为权重(假设轨道坐一个站点耗时3分钟,换乘一次耗时5分钟),除了时间也可以考虑出行距离最短的规则或是综合考虑不同的因素进行权重设定,大思路框架如上,具体的可以考虑更细节的东西,比如把权重根据实际情况做一定的校正等。

考虑清楚轨道交通站点信息和网络结构的关系后,就可以尝试在python中进行网络的构建和权重的设定了,定义好节点、边和边的权重。

第二步:运用模型进行路径提取 在python中构建出地铁拓扑网络后,就可以利用python里网络的一些算法包,进行出行路径的提取了。只需要提供OD信息,也就是给出从哪个节点进入,哪个节点出,就可以提取出对应的路径信息。

Python里有各种网络的算法包,比如最短路径算法,能自动识别出来最短路径是哪一些,这里只是提出一个大框架,具体拓扑网络里用什么模型去选择它的路径,可以自己选择,可以是最短路径,也可以是其他模型。感兴趣的同学可以上网搜一搜,也可以报名我们的进阶学习课程深入了解。

02 公交IC刷卡数据处理思路

公交IC刷卡数据的关键字段如下: 卡ID(Card ID) 刷卡日期/时间(Date/Time) 刷卡站点/线路(Station/Route)

对公交IC刷卡数据而言,其关键字段是卡ID、刷卡日期/时间、刷卡站点/线路,如果公交IC刷卡数据能提取到上、下车站点的位置和时间,那么处理思路与地铁IC卡类似。

然而,通常来说公交IC刷卡数据一般都难以直接提取到上下车站点位置的信息(如图5所示),只能通过其他方式尝试间接获取上、下车站点位置信息。图5 公交IC刷卡数据样例

(1)上车站点推断对于上车站点,由于刷卡位置不一定在数据中直接体现,在我们拿到的公交IC刷卡数据中,如果有提供刷卡站点(Station)信息,那么可以直接判断出刷卡的位置,但有些时候,数据里只有刷卡线路(Route)信息,这种情况可以看看数据中是否有公交车辆ID以及对应的公交车辆GPS信息,通过数据融合的方式获取上车站点位置。 公交GPS数据融合 公交车辆ID是公交车的设备编号,如果公交IC刷卡数据里有公交车辆ID信息的话,而且同时能获取到公交车的GPS数据的话,可以考虑用公交车辆ID作为关联字段,将公交IC卡刷卡数据与GPS数据融合,得到融合后的包含车辆GPS信息的表,进而结合GPS位置判断公交IC刷卡时的大概位置。但如果公交车辆ID信息或是没有公交车辆对应的GPS数据的话,就很难去判断刷卡站点的位置。

(2)下车站点推断由于大多城市公交只需要上车刷卡,下车不用刷卡,所以数据里面是没有下车信息的,意味着无法直接获取公交下车站点位置。这种数据条件下,只能通过出行链或出行习惯进行大致地推断。

根据出行链 通过与地铁出行链的时间衔接顺序进行推断,比如把IC卡刷卡数据按时间顺序排列后,发现上一次刷卡记录在地铁某线路某站,而其后刷卡记录是在某公交线路上,那此时可以猜测该IC卡可能在这条公交线路上离地铁站点最近的那个公交站点上车的;类似地,在下车站点判断的时候,如果下一次刷卡记录在地铁某线路某站,而之前刷卡记录是在某公交线路上,那就可以去找这条公交线路上离下一个刷卡的地铁站点最近的那个站点,把它假设为公交的下车站点。 根据出行习惯 通过IC卡的刷卡规律(即IC卡持有人的出行习惯)进行推断,比如IC卡持有人经常做某条公交线路,可能有往返的出行习惯,我们只有其早上在a站点上车的信息,和晚上在b站点上车的信息,虽然我们没有直接的下车站点位置,但我们可以去推测假设,猜测他可能是一个a→b、b→a往返出行的OD情况。

需要注意的是,这些都只是间接推断,是因数据上缺失信息所做出的努力尝试,实际上能通过间接推断思路“猜”回来的数据占比是非常低的,而且很难判断到底准确与否,除非去做实地调查验证。

03 进阶学习

1.IC刷卡数据分析内容的视频版本

对于上面讲到的共享单车数据分析内容感兴趣,想要进一步学习的同学,可以移步立方数据学院B站账号(账号名称为:立方数据学院)学习该部分的视频版本!

2.《交通大数据分析实战》课程如果大家想要学习出租车GPS数据共享单车数据地铁IC刷卡数据公交GPS数据的分析方法,可以报名立方数据学院推出的《交通大数据分析实战》课程,课程详情关注“立方数据学社”微信公众号了解!

返回搜狐,查看更多

责任编辑:

未经允许不得转载:信用帝 » IC卡数据分析(【IC刷卡数据专题】IC刷卡数据分析的技术要点)

福州贷款找我们

联系我们联系我们