【OD矩阵】《城市公交IC卡·数据分析方法及应用》基于换乘点的上车点识别
《城市公交IC卡·数据分析方法及应用》 陈学武、李海波、候贤耀著
《城市公交IC卡·数据分析方法及应用》——基于换乘点的上车点识别·笔记
换乘点
通常情况下,公交乘客总是选择步行距离或者时间最短的站点间进行换乘,同时,换成距离应该在可接收的范围内
如果两条公交线路之间,有且仅有 一对公交站点之间的步行距离在可接受的换乘距离之内 即正交换乘

推导参数
-
线路参数表包含以下字段:
- 记录编号、线路编号、行车方向、发车间隔、线路行程时间、站点行程时间临界值——线路内个站点之间的平均最小形势时间
-
正交换乘参数表包括以下字段:
- 换乘站点、正交换乘线路、换成判断临界时间——换乘站点换乘耗时与目标线路行程时间之和
刷卡数据按不同班次聚类
公交车辆从始发站除法沿途统考每个点,到达终点站后停留一段时间返回
对应的刷卡时间有以下特征:
抽取某日一条线路的所有刷卡数据,按车辆编号、刷卡时间顺序排列、以刷卡序列号为x轴、刷卡时间为y轴建立二维坐标系,此时刷卡时间大致呈阶梯状分布,且每隔若干个阶梯出现一次较大的时间间隔,记为GAP(i),其时间长度为TGAP(i)T_{GAP(i)}TGAP(i),两个相邻GAP间的时间间隔记作tGAP(i−1),GAP(i)t_{GAP(i-1),GAP(i)}tGAP(i−1),GAP(i),如图

区分不同班次:
if TGAP(i)T_{GAP(i)}TGAP(i)>=Depint且tGAP(i−1),GAP(i)t_{GAP(i-1),GAP(i)}tGAP(i−1),GAP(i)∈[Tratime-Tratime/5,Tratime+Tratime/5]:
GAP(i-1)与GAP(i)之间的刷卡记录为一个班次的完整刷卡记录
if TGAP(i)T_{GAP(i)}TGAP(i)>=Depint/2且tGAP(i−1),GAP(i)t_{GAP(i-1),GAP(i)}tGAP(i−1),GAP(i)∈[Tratime-Tratime/10,Tratime+Tratime/10]:
GAP(i-1)与GAP(i)之间的刷卡记录为一个班次的完整刷卡记录
else:
提取GAP(i-1) 后面所有满足tGAP(i−1),GAP(i)t_{GAP(i-1),GAP(i)}tGAP(i−1),GAP(i)∈[Tratime-Tratime10,Tratime+Tratime/10]的记录
按TGAP(j)T_{GAP(j)}TGAP(j)排序
记MAX(GAP(j)) 与 已经有的GAP (i-1)之间的刷卡记录为一个班次的完整刷卡记录
其中:
Depint:发车间隔
Tratime:线路行程时间
注:以上存在可以改进的点
刷卡记录上车站点匹配
刷卡数据按站点聚类
抽取某日一条线路的所有刷卡数据,按车辆编号、刷卡时间顺序排列、以刷卡序列号为x轴、刷卡时间为y轴建立二维坐标系,此时刷卡时间大致呈阶梯状分布,相邻阶梯的时间间隔记为一个STATION(j),其时间长度为TSTATION(j)T_{STATION(j)}TSTATION(j),两个相邻SATATION间的时间间隔记作tSTATION(j−1),SATATION(j)t_{STATION(j-1),SATATION(j)}tSTATION(j−1),SATATION(j),如上图
将一个站点对应的所有刷卡记录作为一个类,按顺序进行以下几步判断,完成刷卡数据站点的聚类
if TSTATION(j)T_{STATION(j)}TSTATION(j)>=60s且tSTATION(j−1),SATATION(j)t_{STATION(j-1),SATATION(j)}tSTATION(j−1),SATATION(j)∈[Stacritime-Stacritime/5,Stacritime+Stacritime/5]:
STATION(j-1)与SATATION(j)之间的刷卡记录为一个站点的完整刷卡记录
if TGAP(i)T_{GAP(i)}TGAP(i)>=30s且tSTATION(j−1),GAP(i)t_{STATION(j-1),GAP(i)}tSTATION(j−1),GAP(i)∈[Stacritime-Stacritime/10,Tratime+Tratime/10]:
STATION(j-1)与SATATION(j)之间的刷卡记录为一个站点的完整刷卡记录
else:
提取STATION(j-1)后面所有满足tSTATION(j−1),SATATION(j)t_{STATION(j-1),SATATION(j)}tSTATION(j−1),SATATION(j)∈[Stacritime-Stacritime/10,Tratime+Tratime/10]的记录
按TSATATION(j)T_{SATATION(j)}TSATATION(j)排序
记MAX(SATATION(j)) 的刷卡记录为一个站点的完整刷卡记录
其中:Stacritime:站点行程时间临界值
正交换乘站点刷卡数据匹配
对于通过上述步骤处理的数据,抽取某日某条线路以及可将该线路作为正交换乘线路的其他线路的刷卡数据,提取在目标线路的刷卡时间晚于其他线路刷卡时间的对应刷卡记录,判断其刷卡间隔是否<换乘判断临界时间
如果满足,则标定 该线路的此刷卡记录对应的上车站点为对应换乘点,完成换乘站点刷卡数据匹配
其余站点刷卡数据匹配
其余站点刷卡数据匹配利用最大相似原理
已完成匹配的换乘站点的刷卡记录作为基本类,其余站点的刷卡记录作为待定类
比较 站点间刷卡时间间隔 与 站点间标准行程时间的 偏差,以完成其余站点的刷卡数据匹配

参照上图,具体描述如下:
对于通过刷卡数据按站点聚类后的数据,
令 tijt_{ij}tij表示 类j的第一次刷卡时间 与 类 i 的最后一次刷卡时间的差值 (i对应站点处于j对应站点的上游)
TabT_{ab}Tab表示 实际中站点a至站点b的标准行程时间。
已完成匹配的换乘站点的刷卡记录作为 基本类,
两相邻基本类之间(或顶点 与 基本类之间)的部分称为类段,
一个类段所包含的类的数量称为该类段的容量
对于容量为M的类段,其对应的待定站点数量为N(由于某些站点可能没有刷卡记录,所以显然有M <= N)
其第m个类的判断值 xix_ixi 计算如下:
if 为第一个类段:
xi=(tmR−TiR)2,i=m,……,N
x_i = (t_{mR} - T_{iR})^2,i = m,……,N
xi=(tmR−TiR)2,i=m,……,N
if 为中间类段 :
xi=(tLm−TLi)2+(tmR−TiR)2,i=m,……,N
x_i = (t_{Lm} - T_{Li})^2+(t_{mR}-T_{iR})^2,i = m,……,N
xi=(tLm−TLi)2+(tmR−TiR)2,i=m,……,N
if 为最后一个类段:
xi=(tLm−TLi)2,i=m,……,N
x_i = (t_{Lm} - T_{Li})^2,i = m,……,N
xi=(tLm−TLi)2,i=m,……,N
其中:
L(R)——类m的左(右)临基本类
tLm(tmR)t_{Lm}(t_{mR})tLm(tmR)——左(右)临基本类 与 m类的刷卡时间间隔
TLi(TiR)T_{Li}(T_{iR})TLi(TiR)——站点i 与 左(右)临基本站点的标准行程时间
求出最小的xix_ixi,其对应的m和i满足最大的相似匹配条件,即类m的所有刷卡记录对应的上车站点为i
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐




所有评论(0)