CN112800210B - 基于海量公交数据的人群画像算法 - Google Patents
基于海量公交数据的人群画像算法 Download PDFInfo
- Publication number
- CN112800210B CN112800210B CN202110365315.6A CN202110365315A CN112800210B CN 112800210 B CN112800210 B CN 112800210B CN 202110365315 A CN202110365315 A CN 202110365315A CN 112800210 B CN112800210 B CN 112800210B
- Authority
- CN
- China
- Prior art keywords
- data
- passenger
- card swiping
- track
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了基于海量公交数据的人群画像算法,包括如下步骤:步骤S1、数据描述及预处理:获取公交车刷卡数据及POI数据,并进行预处理;步骤S2、筛选重点地区人群:通过PageRank算法提取出行次数多,且去热点地区次数频繁的乘客轨迹数据;步骤S3、轨迹文本化:根据POI数据获得乘客所在坐标的所属功能性,根据乘客轨迹数据与乘客所在坐标的所属功能性,获取得到每个乘客的文本轨迹数据;步骤S4、文本聚类:采用聚类算法对文本轨迹数据聚类,获得人群画像。本发明为城市规划、社会行为分析等多个应用领域提供数据支撑,方便城市资源的合理调度与建设,更好地帮助管理部门和城市建设者对城市建设和发展做出最优决策。
Description
技术领域
本发明涉及人群画像技术领域,特别涉及基于海量公交数据的人群画像算法。
背景技术
现代公共交通技术利用先进的公交刷卡收费系统和公交刷卡信息数据库,同时每天记录着上百万条的公交出行数据。研究发现,充分挖掘和利用公交乘客的刷卡数据,可以准确地分析出城市中个人或群体的日常活动规律。这些规律既可以有效帮助解决城市中公交路线规划、公交公司车辆调度问题,又可以对城市规划、社会行为分析等多个应用领域提供数据支撑,方便城市资源的合理调度与建设,更好地帮助管理部门和城市建设者对城市建设和发展做出最优决策。
虽然针对公交车刷卡数据的分析已有多年研究,但大多数研究主要集中在识别或预测活动地点、出行方式挖掘。这些研究本质上是确定人们在一天中的特定时间出发和停留的地方——揭示其居住地、工作点和“第三个地方”。交通数据隐藏着用户的日常行为,当用户群体具有相似的运动轨迹,可以认为该群体具有相似的特征,该特征即为该群体的人群画像,但是目前研究城市人群画像的技术还相对较少。
发明内容
本发明提供了基于海量公交数据的人群画像算法,其目的是为了解决背景技术中城市人群画像的技术相对较少的技术问题。
为了达到上述目的,本发明提供的基于海量公交数据的人群画像算法包括如下步骤:
步骤S1、数据描述及预处理:获取公交车刷卡数据及POI数据,并进行预处理;
步骤S2、筛选重点地区人群:通过PageRank算法提取出行次数多,且去热点地区次数频繁的乘客轨迹数据;
步骤S3、轨迹文本化:根据POI数据获得乘客所在坐标的所属功能性,根据乘客轨迹数据与乘客所在坐标的所属功能性,获取得到每个乘客的文本轨迹数据;
步骤S4、文本聚类:采用聚类算法对文本轨迹数据聚类,获得人群画像。
优选地,所述步骤S1包括如下步骤:
步骤S11、获取公交车刷卡数据:获取特定时间特定区域的公交出行数据,包括每位乘客的ID、上下车刷卡时间、上下车地点的经纬度,以及每位乘客的年龄属性,得到不同年龄段每位乘客的出行轨迹数据;
步骤S12、获取POI数据:获取特定区域的POI数据;
步骤S13、公交出行数据预处理:将公交出行数据进行清洗、分类、剔除,获得不同年龄属性的刷卡数据;
步骤S14、POI数据预处理:将POI数据进行功能性划分,获得功能不同的各类POI数据;
优选地,所述步骤S13具体包括如下步骤:
步骤S131、清洗公交出行数据:对存在某些数据为空或数据字段偏移的数据进行数据规范化处理,依据上下文补充数据和删除无法获取信息的数据;
步骤S132、截取清洗后的公交车连续一周内所有的公交车刷卡数据,并且将这些数据按照工作日和休息日进行划分;
步骤S133、将工作日和休息日的数据按照乘客年龄属性划分,得到的6组数据分别为:成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据和学生休息日的刷卡数据;
步骤S134、将这6组数据中每日都有乘车记录且乘车次数至少为2次的乘客数据筛选出来,最终得到成年人乘客的刷卡数据、老年人乘客的刷卡数据和学生乘客的刷卡数据。
优选地,所述步骤S2具体包括如下步骤:
步骤S21、根据各公交站点用户上下车频率,计算该站点的重要性数值;
步骤S22、根据用户经过的公交站点的重要性数值,计算用户轨迹的贡献率。
优选地,所述步骤S21中,站点重要性数值的计算公式为:
其中,PR(A)是地点A的重要性数值;Ti是指n个指向地点A中的第i个指向地点A的地点;n表示指向地点A的地点个数;PR(Ti)是地点Ti的重要性数值;C(Ti)是地点Ti的出度,也就是Ti指向其他地点的边的个数;d为阻尼系数,即在任意时刻乘客到达某地点后并继续出行的概率。
优选地,所述步骤S22具体包括如下步骤:
步骤S221、将成年人工作日的刷卡数据中的所有公交站点(Mall)和出行的轨迹带入站点重要性数值的计算公式中,得到该组刷卡数据的所有出行公交站点对应的重要性数值PR(Mall);
步骤S223、对该组刷卡数据经过调试设置一个阈值(T),只有每位乘客轨迹的重要性数值之和大于该阈值,即S(u)>T,才将该乘客的轨迹数据保存下来;保存下来的轨迹数据即为该组刷卡数据中轨迹贡献率高的乘客数据;
步骤S224、将剩下5组数据,即成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据,学生休息日的刷卡数据,重复步骤S221-S223,最后共得到6组轨迹贡献度高的乘客数据。
优选地,所述步骤S3中,获得乘客所在坐标的所属功能性具体包括如下步骤:
步骤S31、将功能不同的每一类POI数据的数量Ni进行统计,在将所有的POI数量Nall除以Ni,分别得到该类的权重Wi,即:
步骤S32、对于乘客所在坐标范围内的所有POI数据,分别按照这些类别的数量ni进行统计,再将ni乘以该类的权重Wi后,除以该范围内所有的POI数量nall,得到该范围内的每类功能性的概率Pi,即:
步骤S33、因为某些地区存在很多不同功能性的POI,随着时间的流逝该地区的主要功能性可能会发生变化,所以对这些POI类型分别设置时间变化数Oi,最后得到的公式为:
步骤S34、将每个坐标点的上下车时间与上下车地点带入步骤S33的公式进行计算,从而分别得到该地区的各个功能性的概率值;选择该地概率值最高的两个功能性作为该时刻和该地点的功能性。
优选地,所述步骤S4具体包括如下步骤:
步骤S41、通过将每位乘客的文本轨迹数据导入TF-IDF算法中进行计算,以乘客轨迹作为文档,POI所属功能性作为关键词,得到每位乘客的文本轨迹数据的所属功能性关键词的TF-IDF值;
步骤S42、采用基于余弦距离的K-Means算法,将成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据、学生休息日的刷卡数据这6组轨迹贡献度高的乘客轨迹数据分别进行聚类。
优选地,所述步骤S41中,TF表示的是关键词在文本出现的频率,即:
IDF表示的是逆向文本频率,即:
优选地,所述步骤S4还包括如下步骤:
步骤S43、将聚类结果使用T-SNE算法对聚类算法的结果进行数据降维;
步骤S44、使用散点图展示聚类效果。
本发明能够取得下列有益效果:
本发明基于海量公交数据获得人群画像,为城市规划、社会行为分析等多个应用领域提供数据支撑,方便城市资源的合理调度与建设,更好地帮助管理部门和城市建设者对城市建设和发展做出最优决策。
本发明提出基于PageRank算法的重点地区人群筛选方法,通过该方法提取出行次数多且去热点地区次数频繁的乘客轨迹数据,极大的减少了非重点地区的人群轨迹数据,从而减少数据量和提高数据处理效率;
本发明将筛选后的乘客轨迹数据按照年龄段与一周内连续的工作日与休息日进行划分,并将每位乘客的轨迹数据串联起来,形成完整的轨迹数据集,从而提升数据质量,对后续聚类算法的结果质量有一定的提升;
本发明将划分后的轨迹数据集与新加坡兴趣点(POI)数据相融合,从而将每位乘客的轨迹以文本化的形式表现出来。然后使用文本聚类算法对人群文本轨迹进行分类,从而得到利于解释的轨迹类别特征,即人群画像。
因此,本文的主要贡献在于:
1) 提出基于PageRank算法的重点地区人群筛选方法;
2) 提出轨迹文本化的分析方法,得到利于解释的轨迹类别特征;
3) 通过对比实验找到效果较好的聚类算法,将数据与真实数据进行检验,聚类算法准确率接近80%。
附图说明
图1为本发明的基于海量公交数据的人群画像算法的制作方式的一较佳实施例的流程图;
图2为本发明的基于海量公交数据的人群画像算法的一较佳实施例的乘客轨迹数据过程中的PageRank算法的示意图;
图3(a)-3(f)为本发明的基于海量公交数据的人群画像算法的一较佳实施例的基于余弦距离的K-means聚类算法的结果展示示意图;
其中,图3(a)、 图3(b)为成年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图; 图3(c)、图3(d)为老年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图;图3(e)、图3(f)为学生工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图;
图4(a)-4(f)为本发明的基于海量公交数据的人群画像算法的对比实施例的基于欧式距离的K-means聚类算法的结果展示示意图;
其中图4(a)、图4 (b)为成年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图; 图4(c) 、图4(d)为老年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图;图4(e)、图4(f)为学生工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图;
图5(a)-5(i)为本发明的完整的待使用的基于海量公交数据的人群画像算法的一较佳实施例的成年人工作日贡献度高的乘客聚类特性及轨迹示意图;
其中,图5(a)为所属功能性类别为居住,餐饮,公司企业,政府机构的乘客聚类特性及轨迹示意图;图5(b)为所属功能性类别为居住,餐饮,公司企业,教育的乘客聚类特性及轨迹示意图;图5(c)为所属功能性类别为居住,餐饮,公司企业,宗教场所的乘客聚类特性及轨迹示意图;图5(d)为所属功能性类别为居住,餐饮,公司企业,医疗的乘客聚类特性及轨迹示意图;图5(e)为所属功能性类别为居住,餐饮,公司企业,商业零售的乘客聚类特性及轨迹示意图;图5(f)为所属功能性类别为居住,餐饮,公司企业,金融的乘客聚类特性及轨迹示意图;图5(g)为所属功能性类别为居住,餐饮,公司企业,交通站点的乘客聚类特性及轨迹示意图;图5(h)为所属功能性类别为居居住,餐饮,公司企业,服务行业的乘客聚类特性及轨迹示意图;图5(i)为所属功能性类别为居住,餐饮,公司企业,体育健身的乘客聚类特性及轨迹示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的问题,提供了基于海量公交数据的人群画像算法,如图1所示,包括如下步骤:
步骤S1、数据描述及预处理:获取公交车刷卡数据及POI(兴趣点,Point ofInterest)数据,并进行预处理;
步骤S2、筛选重点地区人群:通过PageRank(一种google网页排名算法)算法提取出行次数多,且去热点地区次数频繁的乘客轨迹数据;
步骤S3、轨迹文本化:根据POI数据获得乘客所在坐标的所属功能性,根据乘客轨迹数据与乘客所在坐标的所属功能性,获取得到每个乘客的文本轨迹数据;
步骤S4、文本聚类:采用聚类算法对文本轨迹数据聚类,获得人群画像。
所述步骤S1包括如下步骤:
步骤S11、获取公交车刷卡数据:获取特定时间特定区域的公交出行数据,包括每位乘客的ID(身份,Identification)、上下车刷卡时间、上下车地点的经纬度,以及每位乘客的年龄属性,得到不同年龄段每位乘客的出行轨迹数据;
步骤S12、获取POI数据:获取特定区域的POI数据;
步骤S13、公交出行数据预处理:将公交出行数据进行清洗、分类、剔除,获得不同年龄属性的刷卡数据;
本实施例使用连续7日新加坡公交出行数据进行研究,共3000万条公交车和地铁的刷卡数据。因为乘客乘车时,上下车都需要刷一次IC卡来记录和支付,所以该数据完整的记录了每位乘客的ID、上下车刷卡时间、上下车地点的经纬度。此外每位乘客的年龄属性(成年人,老年人和学生)也被记录在该数据中。根据这些数据,可以得到不同年龄段每位乘客的出行轨迹数据。POI是兴趣点的简称,在地理信息系统中,一个POI可以是一栋房子、一个商铺、一个邮筒、一个公交站等,且一条完整POI数据必须包含该地点的名称、功能性、经纬度等数据。本实施例通过调用Google Map的API(应用程序接口,ApplicationProgramming Interface)获取新加坡的POI数据,最后共得到4万条数据。将新加坡公交车刷卡数据和新加坡的兴趣点(POI)数据进行下述预处理操作,从而得到数据规范且完整的数据集。
所述步骤S13具体包括如下步骤:
步骤S131、清洗公交出行数据:对存在某些数据为空或数据字段偏移的数据进行数据规范化处理,依据上下文补充数据和删除无法获取信息的数据;因为部分公交出行数据存在某些数据为空或数据字段偏移的情况,所以需要对数据进行整理,得到了规范的公交出行数据。由于出行数据中原始三类人群(成年人,老年人和学生)出行方式差异较大,为便于更准确地描述人群画像,之后本实施例做了如下步骤处理处理:
步骤S132、截取清洗后的新加坡公交车连续一周内所有的公交车刷卡数据,并且将这些数据按照工作日和休息日进行划分;
步骤S133、将工作日和休息日的数据按照乘客年龄属性划分,得到的6组数据分别为:成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据和学生休息日的刷卡数据;
步骤S134、将这6组数据中每日都有乘车记录且乘车次数至少为2次的乘客数据筛选出来,最终得到约44万名成年人乘客的刷卡数据、约6万名老年人乘客的刷卡数据和约4万名学生乘客的刷卡数据。
步骤S14、POI数据预处理:将POI数据进行功能性划分,获得功能不同的各类POI数据;
因为POI数据为英文数据,这些数据中存在描述地点相同,但是字母大小写不一致的数据,所以本文首先将POI数据字体变为小写字母,然后再删除数据中重复、指向不明和无效的数据。此外由于POI数据的功能性指向过多,不利于后续的工作的进行,因此本文将这些POI数据功能性进行重新划分,把功能性相近的POI设置新的功能性,最后得到了15种功能性类别。这15类功能性分别为餐饮、商业零售、服务行业、公共服务、休闲娱乐、居住、教育、宗教场所、医疗、景点、金融、政府机构、交通站点、体育健身、公司企业。
由于新加坡公交出行数据规模极大,此数据中每天有上百万条刷卡记录。如果直接将聚类算法使用在该数据中,会使聚类算法的时间消耗过长。为解决该问题,本发明提出基于PageRank算法的重点地区人群筛选方法,通过该方法提取出行次数多且去热点地区次数频繁的乘客轨迹数据,极大的减少了非重点地区的人群轨迹数据,从而减少数据量和提高数据处理效率。
PageRank算法,又称网页排名算法,是一种由搜索引擎根据网页之间相互的超链接计算的技术,用来体现网页的相关性和重要性。该算法的主要计算过程如图2所示。本发明利用该算法,将出行数据中公交站点视为网页,用户轨迹点的连接则等同于网页间的超链接关系。不同于传统PageRank目的在于计算网页的重要性,本实施例方法目的在于计算用户轨迹的重要性。
所述步骤S2具体包括如下步骤:
步骤S21、根据各公交站点用户上下车频率,计算该站点的重要性数值;
步骤S22、根据用户经过的公交站点的重要性数值,计算用户轨迹的贡献率。
所述步骤S21中,站点重要性数值的计算公式为:
其中,PR(A)是地点A的重要性数值;Ti是指n个指向地点A中的第i个指向地点A的地点;n表示指向地点A的地点个数;PR(Ti)是地点Ti的重要性数值;C(Ti)是地点Ti的出度,也就是Ti指向其他地点的边的个数;d为阻尼系数,即在任意时刻乘客到达某地点后并继续出行的概率。在对所有的公交站点进行重要性数值计算后,每个公交站点都生成一个重要性数值,且用户上下车越多的站点,其重要性数值越大。
考虑到,如果用户经常去重要性数值较大的公交站点,那么与该用户轨迹相似的用户轨迹更多,从而可以认为该用户的轨迹对于计算用户画像的贡献度也越高。通过对每组数据设置一个阈值,对于用户的轨迹数据贡献率超过该阈值的,则是有效的轨迹数据。
所述步骤S22具体包括如下步骤:
步骤S221、将新加坡成年人工作日的刷卡数据中的所有公交站点(Mall)和出行的轨迹带入站点重要性数值的计算公式中,得到该组刷卡数据的所有出行公交站点对应的重要性数值PR(Mall);
步骤S223、对该组刷卡数据经过调试设置一个阈值(T),只有每位乘客轨迹的重要性数值之和大于该阈值,即S(u)>T,才将该乘客的轨迹数据保存下来;保存下来的轨迹数据即为该组刷卡数据中轨迹贡献率高的乘客数据;
步骤S224、将剩下5组数据,即成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据,学生休息日的刷卡数据,重复步骤S221-S223,最后共得到6组轨迹贡献度高的乘客数据。
文本分析具有良好的可解释性,而且存在有效的分析方法。利用文本化的轨迹进行分析和检索,能分析出特定区域的轨迹运动模式。在自然语言处理的领域,常用的文本处理方法通常是将文本进行分词与清洗,从而获取关键词语,再将文档嵌入词袋模型,如TF-IDF(TF意思是词频,Term Frequency,IDF意思是逆文本频率指数,Inverse DocumentFrequency),LDA(linear discriminant analysis,线性判别分析)等,或者词向量模型,如One Hot(词嵌入,word embedding), Word2Vec(一群用来产生词向量的相关模型)等,从而获得合适且表达能力强的特征。这些特征可以直接被机器学习模型或者深度学习模型使用进行聚类或者分类等。聚类算法是一种无监督的机器学习方法,由于不需要预先对数据进行手工文档的标注,因此该方法具有较高的自动化处理能力,常用的聚类算法有K-means、DBSCAN、Mean-shift和Birch等。
经过人群筛选之后,本实施例将6组轨迹贡献度高的乘客轨迹数据集与POI数据相融合,得到文本化的轨迹数据。通过将每位乘客的文本轨迹数据导入TF-IDF算法中进行计算,以乘客轨迹作为文档,而POI作为关键词得到每位乘客的文本轨迹数据关键词的TF-IDF值。在此基础上,采用K-Means(一种迭代求解的聚类分析算法)算法进行聚类,并且比较了使用两种不同距离度量下的聚类结果。最后,将两种聚类算法的结果使用T-SNE(t-distributed stochastic neighbor embedding,用于降维的一种机器学习算法)进行数据降维,利用散点图来展示两种算法的聚类效果,从而直观地比较这两种聚类算法效果优劣性。
当确定一个乘客轨迹的坐标点时,本文以该坐标点为中心,计算该点周围500米区域的经纬度,然后将所有的POI数据中属于该区域的经纬度范围的所有POI属性数据提取出来并确定该坐标所属功能性。在确定该坐标所属的功能性时,如果仅根据该坐标点内数量最多的属性设置为该点的功能性,可能会导致结果存在较大的误差。
因此本文对POI数据进行加权计算获得乘客所在坐标的所属功能性。
所述步骤S3中,获得乘客所在坐标的所属功能性具体包括如下步骤:
步骤S31、将这功能不同的15类POI数据的数量Ni进行统计,在将所有的POI数量Nall除以Ni,分别得到该类的权重Wi,即:
步骤S32、对于乘客所在坐标范围内的所有POI数据,分别按照这15类的数量ni进行统计,再将ni乘以该类的权重Wi后,除以该范围内所有的POI数量nall,得到该范围内的每类功能性的概率Pi,即:
步骤S33、因为某些地区存在很多不同功能性的POI,随着时间的流逝该地区的主要功能性可能会发生变化,所以对这15种POI类型分别设置时间变化数Oi,最后得到的公式为:
步骤S34、将每个坐标点的上下车时间与上下车地点带入步骤S33的公式进行计算,从而分别得到该地区的各个功能性的概率值;选择该地概率值最高的两个功能性(不重复且Pi都大于0)作为该时刻和该地点的功能性。
最后,将每个乘客的所有轨迹点串连起来,即得到每个乘客的文本轨迹。
所述步骤S4具体包括如下步骤:
步骤S41、通过将每位乘客的文本轨迹数据导入TF-IDF算法中进行计算,以乘客轨迹作为文档,POI所属功能性作为关键词,得到每位乘客的文本轨迹数据的所属功能性关键词的TF-IDF值;
步骤S42、采用K-Means算法,将成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据、学生休息日的刷卡数据这6组轨迹贡献度高的乘客轨迹数据分别进行聚类。
所述K-Means算法具体为基于余弦距离的K-Means聚类算法。
步骤S43、将聚类结果使用T-SNE算法对聚类算法的结果进行数据降维;
步骤S44、使用散点图展示聚类效果。
TF-IDF是一种用于信息检索与文本挖掘的常用加权技术和统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
所述步骤S41中,TF表示的是关键词在文本出现的频率,即:
IDF表示的是逆向文本频率,即:
TF-IDF的主要思想是:如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
因此如果TF-IDF的值越大,则表示该特征词对这个文本的重要性越大。
由于每个乘客的本文轨迹即是一个文本,而且所有的文本是由功能性关键词构成,因此本文无需划分关键词,只需要将每个功能性词语进行词频统计,再带入步骤S41的公式,即可得到该乘客文本轨迹中各个功能性关键词的TF-IDF值并将其储存下来。然后本文将成年人工作日、成年人休息日、老年人工作日、老年人休息日、学生工作日、学生休息日这6组轨迹贡献度高的乘客轨迹数据分别使用基于余弦距离的K-means聚类算法和基于欧式距离的K-means聚类算法进行聚类运算,将聚类结果使用T-SNE算法对两种聚类算法的结果进行数据降维,然后使用散点图来展示两种算法的聚类效果。
本实施例中,经过轨迹文本化的方法处理后,本实施例一共得到了约44万名成年人乘客轨迹数据、约5万名老年人乘客轨迹数据和约3.1万名学生乘客轨迹数据。把这些数据使用PageRank算法后,得到了4529个公交站点以及这些站点的重要性数值。随后实施例处理成年人工作日、成年人休息日、老年人工作日、老年人休息日、学生工作日、学生休息日这6组数据,并且得到了这6组数据每位乘客的轨迹重要性数值之和。然后本文对阈值T进行尝试性设置,最后得到在不同的阈值T下每组数据的乘客数量以及经过的公交站点数量,如表1所示。本文设定的阈值T必须满足以下两个条件:一是乘客数量尽可能少;二是公交站点数量尽可能多。只有满足以上两个条件的阈值T所对应的数据,能够保证在数据量变小的情况下,对后续结果的质量影响较小。因此对这六组数据的阈值分别确定为0.04(成年人工作日)、0.035(成年人休息日)、0.015(老年人工作日)、0.015(老年人休息日)、0.02(学生工作日)和0.02(学生休息日)。
本实施例先将这6组数据的乘客轨迹文本化,再将处理后的数据分别使用基于余弦距离的K-means聚类算法和基于欧氏距离的K-means聚类算法进行计算,接着将结果使用T-SNE算法分别进行数据降维并使用散点图展示其聚类效果。然后本文从每组轨迹贡献度高的乘客数据中选取1000条轨迹数据,将这些数据经过TF-IDF处理后进行标记。最后标记的数据分别与基于余弦距离的聚类结果和基于欧氏距离的聚类结果进行比对检验,并对准确性进行计算。
将处理后的数据使用基于余弦距离的K-means聚类,再将结果使用T-SNE算法进行数据降维并展示其聚类效果,结果如图3(a)-3(f)所示。其中图3(a)、 图3(b)为成年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图; 图3(c)、图3 (d)为老年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图;图3(e)、图3 (f)为学生工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图。
使用基于欧氏距离的聚类结果如图4(a)-4(f)所示。其中,图4(a)、图4 (b)为成年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图; 图4(c) 、图4(d)为老年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图;图4(e)、图4(f)为学生工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图。
图3(a)-3(f)及图4(a)-4(f)为数据降维后,每一个簇(就是不同的颜色块)覆盖的情况,图中坐标轴的意义是数据降维后展现的长度和宽度,竖轴(Y轴)代表宽度,横轴(X轴)代表长度,坐标轴的数值表示长度或宽度的相对值。
通过图3(a)-3(f)与图4(a)-4(f)的对比可以明显看出,基于余弦距离的K-means聚类算法得到的簇的分布要优于基于欧式距离的K-means聚类算法得到的簇的分布。然后对本文基于余弦距离的K-means聚类算法的结果进行归整,将同一类型乘客的轨迹数据提取出来,再使用一次TF-IDF算法,得到排名前4的关键词,即该类人群常去的功能区域。
因为聚类算法是属于无监督的机器学习算法,所以该算法对于计算的准确率还是需要对原始数据进行标注,再与聚类计算后的结果进行检验才能计算出来。因此本实施例对做了以下步骤来验证准确率:
1) 从上述6组轨迹贡献度高的乘客数据中,每组随机抽取1000名乘客的轨迹数据,再使用TF-IDF算法进行计算,对每条轨迹取排名前4的关键词作为该名乘客的标签。
2) 将每位乘客的标签与该乘客所对应类的常去功能区域进行对比。由于每组数据聚类结果的常去功能区域的前三个关键词是基本相同的,每一类的区别则在于第四个关键词。因此,在对每位乘客的标签与该乘客对应的功能区域进行检验时,只有在第四个关键词必须存在的情况下,剩下3个关键词至少存在2个,则确定该乘客分类正确。对于第三个关键词与其他类的第三个关键词也不相同的情况下,只有在第三和第四个关键词都存在的情况下,剩下2个关键词至少存在1个,则确定该乘客分类正确。
3)将划为分类正确的乘客数量统计出来,再除以该组总人数,得到该组乘客的准确率。再将所有的分类正确的乘客数量统计出来,除以所有的抽取的乘客轨迹数据,得到所有数据的准确率。
综上,本文将基于余弦距离的K-means聚类和基于欧氏距离的K-means聚类的结果准确性进行计算,其准确性结果如表2所示。
表2. 基于余弦距离与欧氏距离的K-means聚类算法结果准确率
为了更加直观的展示每类人群轨迹的区别,展现出人群画像的区别,本实施例以成年人工作日的数据进行案例分析,并分别将乘客的轨迹数据经处理导入Flow Map(思维导图,一种用来列举顺序、时间过程或步骤的思维图示)中来展示。对于Flow Map生成的轨迹图,人群在两地流动越频繁,两地间的线段越粗;人群在某点聚集的越多,该点越大。
对于成年人工作日的数据,经过上述处理一共分为9类人群画像。将这9类乘客的轨迹数据导入Flow Map中,可以得到成年人每类人群出行主要流动情况,如图5(a)-5(i)所示,可以清楚的了解不同轨迹出行的乘客常去的地点以及出行的频率。从图中可知,因为新加坡的南部是政治、经济和文化活动的中心地区且基础设施完善,所以新加坡南部的居住地,餐饮业、政府机构、宗教场所、商业零售、金融机构、服务行业、体育健身场所和公司企业在这里聚集较多;教育场所(小学、中学)主要分布新加坡北部和南部地区,东西方向分布较少,因此许多成年人会经常去往新加坡北部地区和南部地区;而对于医疗场所来说,由于新加坡大型的公立医院分布在新加坡的东部地区和西部地区,因此当人们需要去医疗场所时会常前往这两个地区。
本实施例做了以下五个步骤:第一,对新加坡乘客的出行轨迹使用基于PageRank算法的重点地区人群筛选方法,通过该方法提取出行次数多且去热点地区次数频繁的乘客轨迹数据,极大的减少了非热点地区的乘公交频率较少的人群轨迹数据,从而减少数据量和提高数据处理效率;第二,将筛选后的乘客轨迹数据按照年龄段与一周内连续的工作日与休息日进行划分,并将每位乘客的轨迹数据串联起来,形成完整的轨迹数据集,从而提升数据质量,为提升后续聚类算法的结果质量提供基础;第三,将划分后的轨迹数据集与新加坡兴趣点(POI)数据相融合得到每位乘客的文本化轨迹,然后在使用TF-IDF算法对文本轨迹的关键词进行提取。第四,分别使用基于余弦距离的K-means算法与基于欧氏距离的K-means算法对上述关键词进行聚类,并对产生的结果进行对比。经检验,在基于欧氏距离的K-means算法准确率仅为59.18%时,基于余弦距离的K-means算法对乘客轨迹的聚类效果更好,该算法的准确率接近80%且更稳定。第五,通过案例展示,将分类结果使用Flow Map进行可视化展示,并对每类人群的画像进行简单的分析。通过上述工作,可以为城市规划、社会行为分析等多个应用领域提供数据支撑,方便城市资源的合理调度与建设,更好地帮助管理部门和城市建设者对城市建设和发展做出最优决策。
本发明能够取得下列有益效果:
本发明基于海量公交数据获得人群画像,为城市规划、社会行为分析等多个应用领域提供数据支撑,方便城市资源的合理调度与建设,更好地帮助管理部门和城市建设者对城市建设和发展做出最优决策。
本发明提出基于PageRank算法的重点地区人群筛选方法,通过该方法提取出行次数多且去热点地区次数频繁的乘客轨迹数据,极大的减少了非重点地区的人群轨迹数据,从而减少数据量和提高数据处理效率;
本发明将筛选后的乘客轨迹数据按照年龄段与一周内连续的工作日与休息日进行划分,并将每位乘客的轨迹数据串联起来,形成完整的轨迹数据集,从而提升数据质量,对后续聚类算法的结果质量有一定的提升;
本发明将划分后的轨迹数据集与新加坡兴趣点(POI)数据相融合,从而将每位乘客的轨迹以文本化的形式表现出来。然后使用文本聚类算法对人群文本轨迹进行分类,从而得到利于解释的轨迹类别特征,即人群画像。
因此,本文的主要贡献在于:
1) 提出基于PageRank算法的重点地区人群筛选方法;
2) 提出轨迹文本化的分析方法,得到利于解释的轨迹类别特征;
3) 通过对比实验找到效果较好的聚类算法,将数据与真实数据进行检验,聚类算法准确率接近80%。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.基于海量公交数据的人群画像算法,其特征在于,包括如下步骤:
步骤S1、数据描述及预处理:获取公交车刷卡数据及POI数据,并进行预处理;
步骤S2、筛选重点地区人群:通过PageRank算法提取出行次数多,且去热点地区次数频繁的乘客轨迹数据;
步骤S3、轨迹文本化:根据POI数据获得乘客所在坐标的所属功能性,根据乘客轨迹数据与乘客所在坐标的所属功能性,获取得到每个乘客的文本轨迹数据;
步骤S4、文本聚类:采用聚类算法对文本轨迹数据聚类,获得人群画像;
所述步骤S2具体包括如下步骤:
步骤S21、根据各公交站点用户上下车频率,计算该站点的重要性数值;
步骤S22、根据用户经过的公交站点的重要性数值,计算用户轨迹的贡献率;
所述步骤S22具体包括如下步骤:
步骤S221、将成年人工作日的刷卡数据中的所有公交站点Mall和出行的轨迹带入站点重要性数值的计算公式中,得到该组刷卡数据的所有出行公交站点对应的重要性数值PR(Mall);
步骤S223、对该组刷卡数据经过调试设置一个阈值T,只有每位乘客轨迹的重要性数值之和大于该阈值,即S(u)>T,才将该乘客的轨迹数据保存下来;保存下来的轨迹数据即为该组刷卡数据中轨迹贡献率高的乘客数据;
步骤S224、将剩下5组数据,即成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据,学生休息日的刷卡数据,重复步骤S221-S223,最后共得到6组轨迹贡献度高的乘客数据。
2.根据权利要求1所述的基于海量公交数据的人群画像算法,其特征在于,所述步骤S1包括如下步骤:
步骤S11、获取公交车刷卡数据:获取特定时间特定区域的公交出行数据,包括每位乘客的ID、上下车刷卡时间、上下车地点的经纬度,以及每位乘客的年龄属性,得到不同年龄段每位乘客的出行轨迹数据;
步骤S12、获取POI数据:获取该特定区域的POI数据;
步骤S13、公交出行数据预处理:将公交出行数据进行清洗、分类、剔除,获得不同年龄属性的刷卡数据;
步骤S14、POI数据预处理:将POI数据进行功能性划分,获得功能不同的各类POI数据。
3.根据权利要求2所述的基于海量公交数据的人群画像算法,其特征在于,所述步骤S13具体包括如下步骤:
步骤S131、清洗公交出行数据:对存在某些数据为空或数据字段偏移的数据进行数据规范化处理,依据上下文补充数据和删除无法获取信息的数据;
步骤S132、截取清洗后的公交车连续一周内所有的公交车刷卡数据,并且将这些数据按照工作日和休息日进行划分;
步骤S133、将工作日和休息日的数据按照乘客年龄属性划分,得到的6组数据分别为:成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据和学生休息日的刷卡数据;
步骤S134、将这6组数据中每日都有乘车记录且乘车次数至少为2次的乘客数据筛选出来,最终得到成年人乘客的刷卡数据、老年人乘客的刷卡数据和学生乘客的刷卡数据。
5.根据权利要求2所述的基于海量公交数据的人群画像算法,其特征在于,所述步骤S3中,获得乘客所在坐标的所属功能性具体包括如下步骤:
步骤S31、将功能不同的每一类POI数据的数量Ni进行统计,在将所有的POI数量Nall除以Ni,分别得到该类的权重Wi,即:
步骤S32、对于乘客所在坐标范围内的所有POI数据,分别按照这些类别的数量ni进行统计,再将ni乘以该类的权重Wi后,除以该范围内所有的POI数量nall,得到该范围内的每类功能性的概率Pi,即:
步骤S33、因为某些地区存在很多不同功能性的POI,随着时间的流逝该地区的主要功能性可能会发生变化,所以对这些POI类型分别设置时间变化数Oi,最后得到的公式为:
步骤S34、将每个坐标点的上下车时间与上下车地点带入步骤S33的公式进行计算,从而分别得到该地区的各个功能性的概率值;选择该地区概率值最高的两个功能性作为该时刻和该地点的功能性。
6.根据权利要求3所述的基于海量公交数据的人群画像算法,其特征在于,所述步骤S4具体包括如下步骤:
步骤S41、通过将每位乘客的文本轨迹数据导入TF-IDF算法中进行计算,以乘客轨迹作为文档,POI所属功能性作为关键词,得到每位乘客的文本轨迹数据的所属功能性关键词的TF-IDF值;
步骤S42、采用基于余弦距离的K-Means算法,将成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据、学生休息日的刷卡数据这6组轨迹贡献度高的乘客轨迹数据分别进行聚类。
8.根据权利要求6所述的基于海量公交数据的人群画像算法,其特征在于,所述步骤S4还包括如下步骤:
步骤S43、将聚类结果使用T-SNE算法对聚类算法的结果进行数据降维;
步骤S44、使用散点图展示聚类效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365315.6A CN112800210B (zh) | 2021-04-06 | 2021-04-06 | 基于海量公交数据的人群画像算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365315.6A CN112800210B (zh) | 2021-04-06 | 2021-04-06 | 基于海量公交数据的人群画像算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800210A CN112800210A (zh) | 2021-05-14 |
CN112800210B true CN112800210B (zh) | 2021-06-18 |
Family
ID=75816252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110365315.6A Active CN112800210B (zh) | 2021-04-06 | 2021-04-06 | 基于海量公交数据的人群画像算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800210B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378891B (zh) * | 2021-05-18 | 2022-03-29 | 东北师范大学 | 基于轨迹分布表示的城市区域关系可视分析方法 |
CN114462981A (zh) * | 2022-04-11 | 2022-05-10 | 北京融信数联科技有限公司 | 基于物联网的高校生识别方法、系统和可读存储介质 |
CN115470872B (zh) * | 2022-11-14 | 2023-04-18 | 武汉大学 | 一种基于车辆轨迹数据的司机画像构建方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750361B (zh) * | 2012-06-13 | 2015-02-18 | 中国矿业大学 | 基于局部多层网格的轨迹数据热点区域发现方法 |
CN107908721A (zh) * | 2017-11-14 | 2018-04-13 | 成都路行通信息技术有限公司 | 车辆区域轨迹查询方法、装置和终端系统 |
US11442467B2 (en) * | 2019-03-29 | 2022-09-13 | Wipro Limited | Method and system for generating a trajectory for navigating an autonomous vehicle |
US10921130B1 (en) * | 2019-09-18 | 2021-02-16 | Here Global B.V. | Method and apparatus for providing an indoor pedestrian origin-destination matrix and flow analytics |
CN111046937A (zh) * | 2019-12-05 | 2020-04-21 | 南京智慧交通信息有限公司 | 一种融合公交数据和poi数据的两段式乘客人群出行目的分析方法 |
CN112508425B (zh) * | 2020-12-14 | 2024-03-15 | 东南大学 | 一种用于弹性公交系统的城市出行用户画像体系构建方法 |
CN112288048B (zh) * | 2020-12-28 | 2021-03-26 | 湖南师范大学 | 一种基于多源数据驱动的城市人群出行识别方法 |
-
2021
- 2021-04-06 CN CN202110365315.6A patent/CN112800210B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112800210A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112800210B (zh) | 基于海量公交数据的人群画像算法 | |
Liu et al. | Understanding public transit patterns with open geodemographics to facilitate public transport planning | |
Gao et al. | Location-centered house price prediction: A multi-task learning approach | |
Rossello Nadal et al. | Gravity models for tourism demand modeling: Empirical review and outlook | |
CN110442662B (zh) | 一种确定用户属性信息的方法以及信息推送方法 | |
Viallard et al. | Assessing the evolution of transit user behavior from smart card data | |
Wang et al. | Ensemble-spotting: Ranking urban vibrancy via poi embedding with multi-view spatial graphs | |
Bi et al. | How built environment impacts online car-hailing ridership | |
Majumdar et al. | Prioritizing metro service quality attributes to enhance commuter experience: TOPSIS ranking and importance satisfaction analysis methods | |
Ferri-García et al. | Data mining techniques to analyze the factors influencing active commuting to school | |
CN109191181B (zh) | 一种基于神经网络和Huff模型的数字标牌广告受众人群分类方法 | |
CN114595850A (zh) | 基于机器学习的政务预约服务推荐方法 | |
Khan et al. | Multi-class twitter data categorization and geocoding with a novel computing framework | |
CN114693906A (zh) | 基于时空规则的差旅报销异常行为检测方法和系统 | |
Li et al. | Determinants of passengers' ticketing channel choice in rail transit systems: New evidence of e-payment behaviors from Xi'an, China | |
Yu et al. | Using information entropy and a multi-layer neural network with trajectory data to identify transportation modes | |
Karimiziarani | A Tutorial on Event Detection using Social Media Data Analysis: Applications, Challenges, and Open Problems | |
Vickers | Multi-level integrated classifications based on the 2001 census | |
Chan et al. | Transit usage in social shocks: a case study of station-level metro ridership in anti-extradition protests in Hong Kong | |
CN109992592A (zh) | 基于校园消费卡流水数据的高校贫困生识别方法 | |
Wu et al. | An unsupervised framework for extracting multilane roads from OpenStreetMap | |
KR20230116675A (ko) | 지점들의 유사성과 트래블 시간을 이용하여 지점들을 제시하는 방법 | |
Yu et al. | Exploring traffic condition based on massive taxi trajectories | |
Rista et al. | Identifying Diversity, Equity, Inclusion, and Accessibility (DEIA) Indicators for Transportation Systems using Social Media Data: The Case of New York City during Covid-19 Pandemic | |
Amira et al. | Opinion Analysis of Traveler Based on Tourism Site Review Using Sentiment Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |