研究背景:
微软亚研院,郑宇(关于LBS归纳的博客)
1、Geolife项目,2007,分享个人轨迹到地图上,识别用户交通模式,挖掘位置兴趣点和经典旅行序列,基于历史轨迹推断用户相似性,基于协同过滤的位置推荐,利用用户模式挖掘位置间相关性,潜在旅行伙伴推荐,基于位置和偏好感知的推荐系统
(LBSN:location-based social network;注意:用户经验和位置信息的强相关性)
2、T-Drive项目,2010,结合出租车司机驾驶习惯 & 时间、天气等外部信息,给出驾驶路线
3、T-Finder项目,2012,上下客双向推荐,两个位置
数据集总结:
1、Geolife,T-Drive,波尔图出租车(比赛),上海、深圳、武汉、纽约等;
2、带载客标识:成都出租车(比赛),北京出租车2015等;
相关会议:
Mobisys,Ubicomp,Mobicom,Infocom,Globecom等;
学习资料:
一、轨迹数据挖掘,微软教程,Urban Computing with City Dynamics演讲
1)离群点检测(清洗或替换)
2)停留点检测(不仅是静止,指在一定范围内停留一段时间,携带语义信息,超市、景点等)
3)地图匹配(旨在解决GPS低采样率问题,通过计算候选路段,将轨迹映射到路网)
4)地图分割(基于网格、基于层次、基于形态)
二、时空轨迹计算 computing with spatial trajectories
所解决的问题:
1. 预测最佳路径及其对应时长、距离,预测未来交通状况
(下列技术点为袁晶caj博士论文中摘抄)
1)基于时间依赖的地标图;基于平滑算法去除重复部分;
2)获取候选路段,计算轨迹的静态/动态得分矩阵;
3)标志性边缘将由不同的出租车司机遍历;利用用户生成的GPS日志准确估算路线行驶地标图;
2. 预测目的地
1)出租车目的地预测,基于kaggle比赛,采用深度学习网络模型(Theano实现),明光楼309实验室的蓝火计划已经做过相关工作,取轨迹的前5个点后5个点,额外信息包括时间(是否节假日)等统计特征,而最后结果是5个点的概率加权,得到预测坐标,和聚类得到的对应簇心坐标做距离运算,当做loss值进行迭代和训练;
2)共享单车(摩拜)目的地预测,基于摩拜比赛,采用各种各样的统计特征,最后xgboost实现分类;
3. 推荐载客点和打车点(双向推荐)
1、A recommender system for taxi drivers to hunt passengers!
2、Where to route free taxis to increase probability of finding passengers?
1)线密度探测模型,基于线性加权平均,统计某一位置的打车指数
2)判断是否为空车(依赖数据集的 0&1 标识,目前拥有成都出租车GPS数据集)
3)论文Mining Interest Location 旅行推荐、移动导游
4)论文Hunting or Waiting 不使用轨迹特征,提炼特征(原来没有基于轨迹,那就凉凉了...)
5)湖南科技大学,两篇毕设论文,息息相关啊
获取不同时间段,为司机推荐的POS,对城市POI聚类,结合地理位置推荐
6)在线推荐:需要注意用户选择的地理范围和用户要求的推荐数量
7)牛琨老师的论文 Real-Time Taxi-Passenger Prediction with LCNN (智慧中国比赛的成都数据)
1、采用spark(scala语言)预处理大规模成都共计11天的交通轨迹数据(每份2G多,约5千万条样本)
2、在时间和空间两个维度进行离散化,将坐标位置投影到网格地图中
3、使用PyTorch搭建L-CNN(LSTM+CNN神经网络)
4. 热点区域分析和推荐,分析用户移动规律等
出租车上下客最多的位置,理解为热点区域(机场、国贸、三里屯)
热点区域挖掘,目前存在伸缩性差,计算效率低等问题
两个GPS坐标点(经纬度)的距离计算,半正弦haversine,geopy等(地球平均半径:6371公里)
涉及GPS数据预处理,最主要的热点分析在于聚类,没有之一:
1)DBSCAN
没有label的前提下,采用轮廓系数[-1, 1],不需要事先指定类别K,可以发现任意形状的簇(孤立点的类标签为-1),利用DBSCAN进行geolife数据集的聚类,获取聚类结果坐标并绘制到百度地图上,工程链接。
2)ST-DBSCAN
dbscan的一种变体算法,称为时空dbscan聚类算法,从坐标点间的时间间隔和距离跨度两个维度进行聚类,属于自定义算法,需要指定时间阈值和距离阈值(DBSCAN是指定eps_参数即可),该算法同样已经也实现demo案例。
3)Mean-Shift
同样是sklearn库中集成的聚类算法模块,2015年kaggle数据比赛第一名使用,预测出租车目的地。其中的参数cluster_all = True 代表所有点被聚类。
5. 道路流量统计、分析和预测
背景:检测到的时间模式抓住了人类生活方式的语义特征, 同时诠释了城市流动性与人类行为之间有意义的相关性。基于不同粒度和语义信息,位置有许多不同的定义。
另外,部分论文表明,其实验揭示了流行的时间模式与个人社会经济地位之间的深刻相关性,即职业信息,真是厉害...
其中有一篇STDN,时空动态网络,paper with code上发现的,目前在计算所用GPU跑通,神经网络使用的是Conv + LSTM + Attention机制建模;
郑宇的两篇文章,一篇DNN,一篇ResNet,前者的系统界面(urbanFlow)简洁可观,后者残差网络设计更具参考价值。后者的实现思想为:
根据时空轨迹数据,采用深度学习网络ST-ResNet,预测人群流动(微软),有相关开源资料。
0)目前存在的基于神经网络的方法仅能捕获时间或空间依赖;
1)残差网络 residual learning,其中residual unit由两对ReLu + Conv所组成;
2)将固定时间片内的人流量转换为类似二维图像(32*32)格式;
3)单纯CNN需要好多层,因为其依靠附近依赖,远距离依赖需要再考虑(提出残差网络);
另外一篇文章:Revisiting Spatial-Temporal Similarity,采用STDN动态网络,在LSTM基础上添加注意力机制
(注意力Attention在长距离依存任务和语义消歧任务中能力非常强!)
6. 预测轨迹移动模式(车辆的分类预测)
根据带标签的geolife数据集,经过数据清洗,绘制用户分析图和轨迹分析图,尝试多种分类模型。
7. 自行车投放策略等
看了两篇关于摩拜单车依靠GPS构建路网进行投放的方法,数据来源是难点,无法进行实验。
另外还有Infocom上基于GPS轨迹进行用户社会焦虑行为监测的,都看懵逼了...