基于海量公交数据的人群画像算法转让专利

申请号 : CN202110365315.6

文献号 : CN112800210B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张锦张建忠魏叶华罗迅娄小平

申请人 : 湖南师范大学

摘要 :

本发明提供了基于海量公交数据的人群画像算法,包括如下步骤:步骤S1、数据描述及预处理:获取公交车刷卡数据及POI数据,并进行预处理;步骤S2、筛选重点地区人群:通过PageRank算法提取出行次数多,且去热点地区次数频繁的乘客轨迹数据;步骤S3、轨迹文本化:根据POI数据获得乘客所在坐标的所属功能性,根据乘客轨迹数据与乘客所在坐标的所属功能性,获取得到每个乘客的文本轨迹数据;步骤S4、文本聚类:采用聚类算法对文本轨迹数据聚类,获得人群画像。本发明为城市规划、社会行为分析等多个应用领域提供数据支撑,方便城市资源的合理调度与建设,更好地帮助管理部门和城市建设者对城市建设和发展做出最优决策。

权利要求 :

1.基于海量公交数据的人群画像算法,其特征在于,包括如下步骤:步骤S1、数据描述及预处理:获取公交车刷卡数据及POI数据,并进行预处理;

步骤S2、筛选重点地区人群:通过PageRank算法提取出行次数多,且去热点地区次数频繁的乘客轨迹数据;

步骤S3、轨迹文本化:根据POI数据获得乘客所在坐标的所属功能性,根据乘客轨迹数据与乘客所在坐标的所属功能性,获取得到每个乘客的文本轨迹数据;

步骤S4、文本聚类:采用聚类算法对文本轨迹数据聚类,获得人群画像;

所述步骤S2具体包括如下步骤:

步骤S21、根据各公交站点用户上下车频率,计算该站点的重要性数值;

步骤S22、根据用户经过的公交站点的重要性数值,计算用户轨迹的贡献率;

所述步骤S22具体包括如下步骤:步骤S221、将成年人工作日的刷卡数据中的所有公交站点Mall和出行的轨迹带入站点重要性数值的计算公式中,得到该组刷卡数据的所有出行公交站点对应的重要性数值PR(Mall);

步骤S222、根据该组人群中每位乘客u出行经过的公交站点n,计算该名乘客轨迹的重要性数值之和,即 ,其中,PR(Ti)是地点Ti的重要性数值;

步骤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次的乘客数据筛选出来,最终得到成年人乘客的刷卡数据、老年人乘客的刷卡数据和学生乘客的刷卡数据。

4.根据权利要求1所述的基于海量公交数据的人群画像算法,其特征在于,所述步骤S21中,站点重要性数值的计算公式为:其中,PR(A)是地点A的重要性数值;Ti是指n个指向地点A中的第i个指向地点A的地点;n表示指向地点A的地点个数;PR(Ti)是地点Ti的重要性数值;C(Ti)是地点Ti的出度,也就是Ti指向其他地点的边的个数;d为阻尼系数,即在任意时刻乘客到达某地点后并继续出行的概率。

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组轨迹贡献度高的乘客轨迹数据分别进行聚类。

7.根据权利要求6所述的基于海量公交数据的人群画像算法,其特征在于,所述步骤S41中, 表示的是关键词在文本出现的频率,即:其中tfu,v表示第u个词条在第v 个文本中出现的频率;nu,v表示词条u在第v个文本中出现的次数, 表示第v个文本中所有词语出现的次数总和, 表示词条k在第v个文本中出现的次数;

表示的是逆向文本频率,即:

其中, 表示第u个词条的逆向文本频率;|D|表示所有文本的数量,表示包含词语tu的文本dv的数目;

8.根据权利要求6所述的基于海量公交数据的人群画像算法,其特征在于,所述步骤S4还包括如下步骤:

步骤S43、将聚类结果使用T‑SNE算法对聚类算法的结果进行数据降维;

步骤S44、使用散点图展示聚类效果。

说明书 :

基于海量公交数据的人群画像算法

技术领域

[0001] 本发明涉及人群画像技术领域,特别涉及基于海量公交数据的人群画像算法。

背景技术

[0002] 现代公共交通技术利用先进的公交刷卡收费系统和公交刷卡信息数据库,同时每天记录着上百万条的公交出行数据。研究发现,充分挖掘和利用公交乘客的刷卡数据,可以
准确地分析出城市中个人或群体的日常活动规律。这些规律既可以有效帮助解决城市中公
交路线规划、公交公司车辆调度问题,又可以对城市规划、社会行为分析等多个应用领域提
供数据支撑,方便城市资源的合理调度与建设,更好地帮助管理部门和城市建设者对城市
建设和发展做出最优决策。
[0003] 虽然针对公交车刷卡数据的分析已有多年研究,但大多数研究主要集中在识别或预测活动地点、出行方式挖掘。这些研究本质上是确定人们在一天中的特定时间出发和停
留的地方——揭示其居住地、工作点和“第三个地方”。交通数据隐藏着用户的日常行为,当
用户群体具有相似的运动轨迹,可以认为该群体具有相似的特征,该特征即为该群体的人
群画像,但是目前研究城市人群画像的技术还相对较少。

发明内容

[0004] 本发明提供了基于海量公交数据的人群画像算法,其目的是为了解决背景技术中城市人群画像的技术相对较少的技术问题。
[0005] 为了达到上述目的,本发明提供的基于海量公交数据的人群画像算法包括如下步骤:
[0006] 步骤S1、数据描述及预处理:获取公交车刷卡数据及POI数据,并进行预处理;
[0007] 步骤S2、筛选重点地区人群:通过PageRank算法提取出行次数多,且去热点地区次数频繁的乘客轨迹数据;
[0008] 步骤S3、轨迹文本化:根据POI数据获得乘客所在坐标的所属功能性,根据乘客轨迹数据与乘客所在坐标的所属功能性,获取得到每个乘客的文本轨迹数据;
[0009] 步骤S4、文本聚类:采用聚类算法对文本轨迹数据聚类,获得人群画像。
[0010] 优选地,所述步骤S1包括如下步骤:
[0011] 步骤S11、获取公交车刷卡数据:获取特定时间特定区域的公交出行数据,包括每位乘客的ID、上下车刷卡时间、上下车地点的经纬度,以及每位乘客的年龄属性,得到不同
年龄段每位乘客的出行轨迹数据;
[0012] 步骤S12、获取POI数据:获取特定区域的POI数据;
[0013] 步骤S13、公交出行数据预处理:将公交出行数据进行清洗、分类、剔除,获得不同年龄属性的刷卡数据;
[0014] 步骤S14、POI数据预处理:将POI数据进行功能性划分,获得功能不同的各类POI数据;
[0015] 优选地,所述步骤S13具体包括如下步骤:
[0016] 步骤S131、清洗公交出行数据:对存在某些数据为空或数据字段偏移的数据进行数据规范化处理,依据上下文补充数据和删除无法获取信息的数据;
[0017] 步骤S132、截取清洗后的公交车连续一周内所有的公交车刷卡数据,并且将这些数据按照工作日和休息日进行划分;
[0018] 步骤S133、将工作日和休息日的数据按照乘客年龄属性划分,得到的6组数据分别为:成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年
人休息日的刷卡数据、学生工作日的刷卡数据和学生休息日的刷卡数据;
[0019] 步骤S134、将这6组数据中每日都有乘车记录且乘车次数至少为2次的乘客数据筛选出来,最终得到成年人乘客的刷卡数据、老年人乘客的刷卡数据和学生乘客的刷卡数据。
[0020] 优选地,所述步骤S2具体包括如下步骤:
[0021] 步骤S21、根据各公交站点用户上下车频率,计算该站点的重要性数值;
[0022] 步骤S22、根据用户经过的公交站点的重要性数值,计算用户轨迹的贡献率。
[0023] 优选地,所述步骤S21中,站点重要性数值的计算公式为:
[0024]
[0025] 其中,PR(A)是地点A的重要性数值;Ti是指n个指向地点A中的第i个指向地点A的地点;n表示指向地点A的地点个数;PR(Ti)是地点Ti的重要性数值;C(Ti)是地点Ti的出度,
也就是Ti指向其他地点的边的个数;d为阻尼系数,即在任意时刻乘客到达某地点后并继续
出行的概率。
[0026] 优选地,所述步骤S22具体包括如下步骤:
[0027] 步骤S221、将成年人工作日的刷卡数据中的所有公交站点(Mall)和出行的轨迹带入站点重要性数值的计算公式中,得到该组刷卡数据的所有出行公交站点对应的重要性数
值PR(Mall);
[0028] 步骤S222、根据该组人群中每位乘客(u)出行经过的公交站点(n),计算该名乘客轨迹的重要性数值之和,即 ;
[0029] 步骤S223、对该组刷卡数据经过调试设置一个阈值(T),只有每位乘客轨迹的重要性数值之和大于该阈值,即S(u)>T,才将该乘客的轨迹数据保存下来;保存下来的轨迹数据
即为该组刷卡数据中轨迹贡献率高的乘客数据;
[0030] 步骤S224、将剩下5组数据,即成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据,学生休息日的刷卡数据,重复步骤
S221‑S223,最后共得到6组轨迹贡献度高的乘客数据。
[0031] 优选地,所述步骤S3中,获得乘客所在坐标的所属功能性具体包括如下步骤:
[0032] 步骤S31、将功能不同的每一类POI数据的数量Ni进行统计,在将所有的POI数量Nall除以Ni,分别得到该类的权重Wi,即:
[0033]
[0034] 步骤S32、对于乘客所在坐标范围内的所有POI数据,分别按照这些类别的数量ni进行统计,再将ni乘以该类的权重Wi后,除以该范围内所有的POI数量nall,得到该范围内
的每类功能性的概率Pi,即:
[0035]
[0036] 步骤S33、因为某些地区存在很多不同功能性的POI,随着时间的流逝该地区的主要功能性可能会发生变化,所以对这些POI类型分别设置时间变化数Oi,最后得到的公式
为:
[0037]
[0038] 步骤S34、将每个坐标点的上下车时间与上下车地点带入步骤S33的公式进行计算,从而分别得到该地区的各个功能性的概率值;选择该地概率值最高的两个功能性作为
该时刻和该地点的功能性。
[0039] 优选地,所述步骤S4具体包括如下步骤:
[0040] 步骤S41、通过将每位乘客的文本轨迹数据导入TF‑IDF算法中进行计算,以乘客轨迹作为文档,POI所属功能性作为关键词,得到每位乘客的文本轨迹数据的所属功能性关键
词的TF‑IDF值;
[0041] 步骤S42、采用基于余弦距离的K‑Means算法,将成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷
卡数据、学生休息日的刷卡数据这6组轨迹贡献度高的乘客轨迹数据分别进行聚类。
[0042] 优选地,所述步骤S41中,TF表示的是关键词在文本出现的频率,即:
[0043]
[0044] 其中tfu,v表示第u个词条在第v 个文本中出现的频率;nu,v表示词条u在第v个文本中出现的次数, 表示第v个文本中所有词语出现的次数总和,  表示词条k在第
v个文本中出现的次数;
[0045] IDF表示的是逆向文本频率,即:
[0046]
[0047] 其中,IDFu表示第u个词条的逆向文本频率;|D|表示所有文本的数量,表示包含词语tu的文本dv的数目;
[0048] 。
[0049] 优选地,所述步骤S4还包括如下步骤:
[0050] 步骤S43、将聚类结果使用T‑SNE算法对聚类算法的结果进行数据降维;
[0051] 步骤S44、使用散点图展示聚类效果。
[0052] 本发明能够取得下列有益效果:
[0053] 本发明基于海量公交数据获得人群画像,为城市规划、社会行为分析等多个应用领域提供数据支撑,方便城市资源的合理调度与建设,更好地帮助管理部门和城市建设者
对城市建设和发展做出最优决策。
[0054] 本发明提出基于PageRank算法的重点地区人群筛选方法,通过该方法提取出行次数多且去热点地区次数频繁的乘客轨迹数据,极大的减少了非重点地区的人群轨迹数据,
从而减少数据量和提高数据处理效率;
[0055] 本发明将筛选后的乘客轨迹数据按照年龄段与一周内连续的工作日与休息日进行划分,并将每位乘客的轨迹数据串联起来,形成完整的轨迹数据集,从而提升数据质量,
对后续聚类算法的结果质量有一定的提升;
[0056] 本发明将划分后的轨迹数据集与新加坡兴趣点(POI)数据相融合,从而将每位乘客的轨迹以文本化的形式表现出来。然后使用文本聚类算法对人群文本轨迹进行分类,从
而得到利于解释的轨迹类别特征,即人群画像。
[0057] 因此,本文的主要贡献在于:
[0058] 1) 提出基于PageRank算法的重点地区人群筛选方法;
[0059] 2) 提出轨迹文本化的分析方法,得到利于解释的轨迹类别特征;
[0060] 3) 通过对比实验找到效果较好的聚类算法,将数据与真实数据进行检验,聚类算法准确率接近80%。

附图说明

[0061] 图1为本发明的基于海量公交数据的人群画像算法的制作方式的一较佳实施例的流程图;
[0062] 图2为本发明的基于海量公交数据的人群画像算法的一较佳实施例的乘客轨迹数据过程中的PageRank算法的示意图;
[0063] 图3(a)‑3(f)为本发明的基于海量公交数据的人群画像算法的一较佳实施例的基于余弦距离的K‑means聚类算法的结果展示示意图;
[0064] 其中,图3(a)、 图3(b)为成年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图; 图3(c)、图3(d)为老年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示
意图;图3(e)、图3(f)为学生工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图;
[0065] 图4(a)‑4(f)为本发明的基于海量公交数据的人群画像算法的对比实施例的基于欧式距离的K‑means聚类算法的结果展示示意图;
[0066] 其中图4(a)、图4 (b)为成年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图; 图4(c) 、图4(d)为老年人工作日和休息日轨迹贡献度高的乘客聚类结果展示
示意图;图4(e)、图4(f)为学生工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图;
[0067] 图5(a)‑5(i)为本发明的完整的待使用的基于海量公交数据的人群画像算法的一较佳实施例的成年人工作日贡献度高的乘客聚类特性及轨迹示意图;
[0068] 其中,图5(a)为所属功能性类别为居住,餐饮,公司企业,政府机构的乘客聚类特性及轨迹示意图;图5(b)为所属功能性类别为居住,餐饮,公司企业,教育的乘客聚类特性
及轨迹示意图;图5(c)为所属功能性类别为居住,餐饮,公司企业,宗教场所的乘客聚类特
性及轨迹示意图;图5(d)为所属功能性类别为居住,餐饮,公司企业,医疗的乘客聚类特性
及轨迹示意图;图5(e)为所属功能性类别为居住,餐饮,公司企业,商业零售的乘客聚类特
性及轨迹示意图;图5(f)为所属功能性类别为居住,餐饮,公司企业,金融的乘客聚类特性
及轨迹示意图;图5(g)为所属功能性类别为居住,餐饮,公司企业,交通站点的乘客聚类特
性及轨迹示意图;图5(h)为所属功能性类别为居居住,餐饮,公司企业,服务行业的乘客聚
类特性及轨迹示意图;图5(i)为所属功能性类别为居住,餐饮,公司企业,体育健身的乘客
聚类特性及轨迹示意图。

具体实施方式

[0069] 为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0070] 本发明针对现有的问题,提供了基于海量公交数据的人群画像算法,如图1所示,包括如下步骤:
[0071] 步骤S1、数据描述及预处理:获取公交车刷卡数据及POI(兴趣点,Point of Interest)数据,并进行预处理;
[0072] 步骤S2、筛选重点地区人群:通过PageRank(一种google网页排名算法)算法提取出行次数多,且去热点地区次数频繁的乘客轨迹数据;
[0073] 步骤S3、轨迹文本化:根据POI数据获得乘客所在坐标的所属功能性,根据乘客轨迹数据与乘客所在坐标的所属功能性,获取得到每个乘客的文本轨迹数据;
[0074] 步骤S4、文本聚类:采用聚类算法对文本轨迹数据聚类,获得人群画像。
[0075] 所述步骤S1包括如下步骤:
[0076] 步骤S11、获取公交车刷卡数据:获取特定时间特定区域的公交出行数据,包括每位乘客的ID(身份,Identification)、上下车刷卡时间、上下车地点的经纬度,以及每位乘
客的年龄属性,得到不同年龄段每位乘客的出行轨迹数据;
[0077] 步骤S12、获取POI数据:获取特定区域的POI数据;
[0078] 步骤S13、公交出行数据预处理:将公交出行数据进行清洗、分类、剔除,获得不同年龄属性的刷卡数据;
[0079] 本实施例使用连续7日新加坡公交出行数据进行研究,共3000万条公交车和地铁的刷卡数据。因为乘客乘车时,上下车都需要刷一次IC卡来记录和支付,所以该数据完整的
记录了每位乘客的ID、上下车刷卡时间、上下车地点的经纬度。此外每位乘客的年龄属性
(成年人,老年人和学生)也被记录在该数据中。根据这些数据,可以得到不同年龄段每位乘
客的出行轨迹数据。POI是兴趣点的简称,在地理信息系统中,一个POI可以是一栋房子、一
个商铺、一个邮筒、一个公交站等,且一条完整POI数据必须包含该地点的名称、功能性、经
纬度等数据。本实施例通过调用Google Map的API(应用程序接口,Application 
Programming Interface)获取新加坡的POI数据,最后共得到4万条数据。将新加坡公交车
刷卡数据和新加坡的兴趣点(POI)数据进行下述预处理操作,从而得到数据规范且完整的
数据集。
[0080] 所述步骤S13具体包括如下步骤:
[0081] 步骤S131、清洗公交出行数据:对存在某些数据为空或数据字段偏移的数据进行数据规范化处理,依据上下文补充数据和删除无法获取信息的数据;因为部分公交出行数
据存在某些数据为空或数据字段偏移的情况,所以需要对数据进行整理,得到了规范的公
交出行数据。由于出行数据中原始三类人群(成年人,老年人和学生)出行方式差异较大,为
便于更准确地描述人群画像,之后本实施例做了如下步骤处理处理:
[0082] 步骤S132、截取清洗后的新加坡公交车连续一周内所有的公交车刷卡数据,并且将这些数据按照工作日和休息日进行划分;
[0083] 步骤S133、将工作日和休息日的数据按照乘客年龄属性划分,得到的6组数据分别为:成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年
人休息日的刷卡数据、学生工作日的刷卡数据和学生休息日的刷卡数据;
[0084] 步骤S134、将这6组数据中每日都有乘车记录且乘车次数至少为2次的乘客数据筛选出来,最终得到约44万名成年人乘客的刷卡数据、约6万名老年人乘客的刷卡数据和约4
万名学生乘客的刷卡数据。
[0085] 步骤S14、POI数据预处理:将POI数据进行功能性划分,获得功能不同的各类POI数据;
[0086] 因为POI数据为英文数据,这些数据中存在描述地点相同,但是字母大小写不一致的数据,所以本文首先将POI数据字体变为小写字母,然后再删除数据中重复、指向不明和
无效的数据。此外由于POI数据的功能性指向过多,不利于后续的工作的进行,因此本文将
这些POI数据功能性进行重新划分,把功能性相近的POI设置新的功能性,最后得到了15种
功能性类别。这15类功能性分别为餐饮、商业零售、服务行业、公共服务、休闲娱乐、居住、教
育、宗教场所、医疗、景点、金融、政府机构、交通站点、体育健身、公司企业。
[0087] 由于新加坡公交出行数据规模极大,此数据中每天有上百万条刷卡记录。如果直接将聚类算法使用在该数据中,会使聚类算法的时间消耗过长。为解决该问题,本发明提出
基于PageRank算法的重点地区人群筛选方法,通过该方法提取出行次数多且去热点地区次
数频繁的乘客轨迹数据,极大的减少了非重点地区的人群轨迹数据,从而减少数据量和提
高数据处理效率。
[0088] PageRank算法,又称网页排名算法,是一种由搜索引擎根据网页之间相互的超链接计算的技术,用来体现网页的相关性和重要性。该算法的主要计算过程如图2所示。本发
明利用该算法,将出行数据中公交站点视为网页,用户轨迹点的连接则等同于网页间的超
链接关系。不同于传统PageRank目的在于计算网页的重要性,本实施例方法目的在于计算
用户轨迹的重要性。
[0089] 所述步骤S2具体包括如下步骤:
[0090] 步骤S21、根据各公交站点用户上下车频率,计算该站点的重要性数值;
[0091] 步骤S22、根据用户经过的公交站点的重要性数值,计算用户轨迹的贡献率。
[0092] 所述步骤S21中,站点重要性数值的计算公式为:
[0093]
[0094] 其中,PR(A)是地点A的重要性数值;Ti是指n个指向地点A中的第i个指向地点A的地点;n表示指向地点A的地点个数;PR(Ti)是地点Ti的重要性数值;C(Ti)是地点Ti的出度,
也就是Ti指向其他地点的边的个数;d为阻尼系数,即在任意时刻乘客到达某地点后并继续
出行的概率。在对所有的公交站点进行重要性数值计算后,每个公交站点都生成一个重要
性数值,且用户上下车越多的站点,其重要性数值越大。
[0095] 考虑到,如果用户经常去重要性数值较大的公交站点,那么与该用户轨迹相似的用户轨迹更多,从而可以认为该用户的轨迹对于计算用户画像的贡献度也越高。通过对每
组数据设置一个阈值,对于用户的轨迹数据贡献率超过该阈值的,则是有效的轨迹数据。
[0096] 所述步骤S22具体包括如下步骤:
[0097] 步骤S221、将新加坡成年人工作日的刷卡数据中的所有公交站点(Mall)和出行的轨迹带入站点重要性数值的计算公式中,得到该组刷卡数据的所有出行公交站点对应的重
要性数值PR(Mall);
[0098] 步骤S222、根据该组人群中每位乘客(u)出行经过的公交站点(n),计算该名乘客轨迹的重要性数值之和,即 ;
[0099] 步骤S223、对该组刷卡数据经过调试设置一个阈值(T),只有每位乘客轨迹的重要性数值之和大于该阈值,即S(u)>T,才将该乘客的轨迹数据保存下来;保存下来的轨迹数据
即为该组刷卡数据中轨迹贡献率高的乘客数据;
[0100] 步骤S224、将剩下5组数据,即成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据,学生休息日的刷卡数据,重复步骤
S221‑S223,最后共得到6组轨迹贡献度高的乘客数据。
[0101] 文本分析具有良好的可解释性,而且存在有效的分析方法。利用文本化的轨迹进行分析和检索,能分析出特定区域的轨迹运动模式。在自然语言处理的领域,常用的文本处
理方法通常是将文本进行分词与清洗,从而获取关键词语,再将文档嵌入词袋模型,如TF‑
IDF(TF意思是词频,Term Frequency,IDF意思是逆文本频率指数,Inverse Document 
Frequency),LDA(linear discriminant analysis,线性判别分析)等,或者词向量模型,如
One Hot(词嵌入,word embedding), Word2Vec(一群用来产生词向量的相关模型)等,从而
获得合适且表达能力强的特征。这些特征可以直接被机器学习模型或者深度学习模型使用
进行聚类或者分类等。聚类算法是一种无监督的机器学习方法,由于不需要预先对数据进
行手工文档的标注,因此该方法具有较高的自动化处理能力,常用的聚类算法有K‑means、
DBSCAN、Mean‑shift和Birch等。
[0102] 经过人群筛选之后,本实施例将6组轨迹贡献度高的乘客轨迹数据集与POI数据相融合,得到文本化的轨迹数据。通过将每位乘客的文本轨迹数据导入TF‑IDF算法中进行计
算,以乘客轨迹作为文档,而POI作为关键词得到每位乘客的文本轨迹数据关键词的TF‑IDF
值。在此基础上,采用K‑Means(一种迭代求解的聚类分析算法)算法进行聚类,并且比较了
使用两种不同距离度量下的聚类结果。最后,将两种聚类算法的结果使用T‑SNE(t‑
distributed stochastic neighbor embedding,用于降维的一种机器学习算法)进行数据
降维,利用散点图来展示两种算法的聚类效果,从而直观地比较这两种聚类算法效果优劣
性。
[0103] 当确定一个乘客轨迹的坐标点时,本文以该坐标点为中心,计算该点周围500米区域的经纬度,然后将所有的POI数据中属于该区域的经纬度范围的所有POI属性数据提取出
来并确定该坐标所属功能性。在确定该坐标所属的功能性时,如果仅根据该坐标点内数量
最多的属性设置为该点的功能性,可能会导致结果存在较大的误差。
[0104] 因此本文对POI数据进行加权计算获得乘客所在坐标的所属功能性。
[0105] 所述步骤S3中,获得乘客所在坐标的所属功能性具体包括如下步骤:
[0106] 步骤S31、将这功能不同的15类POI数据的数量Ni进行统计,在将所有的POI数量Nall除以Ni,分别得到该类的权重Wi,即:
[0107]
[0108] 步骤S32、对于乘客所在坐标范围内的所有POI数据,分别按照这15类的数量ni进行统计,再将ni乘以该类的权重Wi后,除以该范围内所有的POI数量nall,得到该范围内的每
类功能性的概率Pi,即:
[0109]
[0110] 步骤S33、因为某些地区存在很多不同功能性的POI,随着时间的流逝该地区的主要功能性可能会发生变化,所以对这15种POI类型分别设置时间变化数Oi,最后得到的公式
为:
[0111]
[0112] 步骤S34、将每个坐标点的上下车时间与上下车地点带入步骤S33的公式进行计算,从而分别得到该地区的各个功能性的概率值;选择该地概率值最高的两个功能性(不重
复且Pi都大于0)作为该时刻和该地点的功能性。
[0113] 最后,将每个乘客的所有轨迹点串连起来,即得到每个乘客的文本轨迹。
[0114] 所述步骤S4具体包括如下步骤:
[0115] 步骤S41、通过将每位乘客的文本轨迹数据导入TF‑IDF算法中进行计算,以乘客轨迹作为文档,POI所属功能性作为关键词,得到每位乘客的文本轨迹数据的所属功能性关键
词的TF‑IDF值;
[0116] 步骤S42、采用K‑Means算法,将成年人工作日的刷卡数据、成年人休息日的刷卡数据、老年人工作日的刷卡数据、老年人休息日的刷卡数据、学生工作日的刷卡数据、学生休
息日的刷卡数据这6组轨迹贡献度高的乘客轨迹数据分别进行聚类。
[0117] 所述K‑Means算法具体为基于余弦距离的K‑Means聚类算法。
[0118] 步骤S43、将聚类结果使用T‑SNE算法对聚类算法的结果进行数据降维;
[0119] 步骤S44、使用散点图展示聚类效果。
[0120] TF‑IDF是一种用于信息检索与文本挖掘的常用加权技术和统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它
在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
[0121] 所述步骤S41中,TF表示的是关键词在文本出现的频率,即:
[0122]
[0123] 其中tfu,v表示第u个词条在第v 个文本中出现的频率;nu,v表示词条u在第v个文本中出现的次数, 表示第v个文本中所有词语出现的次数总和,  表示词条
k在第v个文本中出现的次数;
[0124] IDF表示的是逆向文本频率,即:
[0125]
[0126] 其中,IDFu表示第u个词条的逆向文本频率;|D|表示所有文本的数量,表示包含词语tu的文本dv的数目;
[0127] ;
[0128] TF‑IDF的主要思想是:如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
[0129] 因此如果TF‑IDF的值越大,则表示该特征词对这个文本的重要性越大。
[0130] 由于每个乘客的本文轨迹即是一个文本,而且所有的文本是由功能性关键词构成,因此本文无需划分关键词,只需要将每个功能性词语进行词频统计,再带入步骤S41的
公式,即可得到该乘客文本轨迹中各个功能性关键词的TF‑IDF值并将其储存下来。然后本
文将成年人工作日、成年人休息日、老年人工作日、老年人休息日、学生工作日、学生休息日
这6组轨迹贡献度高的乘客轨迹数据分别使用基于余弦距离的K‑means聚类算法和基于欧
式距离的K‑means聚类算法进行聚类运算,将聚类结果使用T‑SNE算法对两种聚类算法的结
果进行数据降维,然后使用散点图来展示两种算法的聚类效果。
[0131] 本实施例中,经过轨迹文本化的方法处理后,本实施例一共得到了约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(学生休息日)。
[0132] 表  在不同的阈值T下,每组数据的乘客人数与公交站点数量
[0133]
[0134] 本实施例先将这6组数据的乘客轨迹文本化,再将处理后的数据分别使用基于余弦距离的K‑means聚类算法和基于欧氏距离的K‑means聚类算法进行计算,接着将结果使用
T‑SNE算法分别进行数据降维并使用散点图展示其聚类效果。然后本文从每组轨迹贡献度
高的乘客数据中选取1000条轨迹数据,将这些数据经过TF‑IDF处理后进行标记。最后标记
的数据分别与基于余弦距离的聚类结果和基于欧氏距离的聚类结果进行比对检验,并对准
确性进行计算。
[0135] 将处理后的数据使用基于余弦距离的K‑means聚类,再将结果使用T‑SNE算法进行数据降维并展示其聚类效果,结果如图3(a)‑3(f)所示。其中图3(a)、 图3(b)为成年人工作
日和休息日轨迹贡献度高的乘客聚类结果展示示意图; 图3(c)、图3 (d)为老年人工作日
和休息日轨迹贡献度高的乘客聚类结果展示示意图;图3(e)、图3 (f)为学生工作日和休息
日轨迹贡献度高的乘客聚类结果展示示意图。
[0136] 使用基于欧氏距离的聚类结果如图4(a)‑4(f)所示。其中,图4(a)、图4 (b)为成年人工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图; 图4(c) 、图4(d)为老年人
工作日和休息日轨迹贡献度高的乘客聚类结果展示示意图;图4(e)、图4(f)为学生工作日
和休息日轨迹贡献度高的乘客聚类结果展示示意图。
[0137] 图3(a)‑3(f)及图4(a)‑4(f)为数据降维后,每一个簇(就是不同的颜色块)覆盖的情况,图中坐标轴的意义是数据降维后展现的长度和宽度,竖轴(Y轴)代表宽度,横轴(X轴)
代表长度,坐标轴的数值表示长度或宽度的相对值。
[0138] 通过图3(a)‑3(f)与图4(a)‑4(f)的对比可以明显看出,基于余弦距离的K‑means聚类算法得到的簇的分布要优于基于欧式距离的K‑means聚类算法得到的簇的分布。然后
对本文基于余弦距离的K‑means聚类算法的结果进行归整,将同一类型乘客的轨迹数据提
取出来,再使用一次TF‑IDF算法,得到排名前4的关键词,即该类人群常去的功能区域。
[0139] 因为聚类算法是属于无监督的机器学习算法,所以该算法对于计算的准确率还是需要对原始数据进行标注,再与聚类计算后的结果进行检验才能计算出来。因此本实施例
对做了以下步骤来验证准确率:
[0140] 1) 从上述6组轨迹贡献度高的乘客数据中,每组随机抽取1000名乘客的轨迹数据,再使用TF‑IDF算法进行计算,对每条轨迹取排名前4的关键词作为该名乘客的标签。
[0141] 2) 将每位乘客的标签与该乘客所对应类的常去功能区域进行对比。由于每组数据聚类结果的常去功能区域的前三个关键词是基本相同的,每一类的区别则在于第四个关
键词。因此,在对每位乘客的标签与该乘客对应的功能区域进行检验时,只有在第四个关键
词必须存在的情况下,剩下3个关键词至少存在2个,则确定该乘客分类正确。对于第三个关
键词与其他类的第三个关键词也不相同的情况下,只有在第三和第四个关键词都存在的情
况下,剩下2个关键词至少存在1个,则确定该乘客分类正确。
[0142] 3)将划为分类正确的乘客数量统计出来,再除以该组总人数,得到该组乘客的准确率。再将所有的分类正确的乘客数量统计出来,除以所有的抽取的乘客轨迹数据,得到所
有数据的准确率。
[0143] 综上,本文将基于余弦距离的K‑means聚类和基于欧氏距离的K‑means聚类的结果准确性进行计算,其准确性结果如表2所示。
[0144] 表2. 基于余弦距离与欧氏距离的K‑means聚类算法结果准确率
[0145]
[0146] 为了更加直观的展示每类人群轨迹的区别,展现出人群画像的区别,本实施例以成年人工作日的数据进行案例分析,并分别将乘客的轨迹数据经处理导入Flow Map(思维
导图,一种用来列举顺序、时间过程或步骤的思维图示)中来展示。对于Flow Map生成的轨
迹图,人群在两地流动越频繁,两地间的线段越粗;人群在某点聚集的越多,该点越大。
[0147] 对于成年人工作日的数据,经过上述处理一共分为9类人群画像。将这9类乘客的轨迹数据导入Flow Map中,可以得到成年人每类人群出行主要流动情况,如图5(a)‑5(i)所
示,可以清楚的了解不同轨迹出行的乘客常去的地点以及出行的频率。从图中可知,因为新
加坡的南部是政治、经济和文化活动的中心地区且基础设施完善,所以新加坡南部的居住
地,餐饮业、政府机构、宗教场所、商业零售、金融机构、服务行业、体育健身场所和公司企业
在这里聚集较多;教育场所(小学、中学)主要分布新加坡北部和南部地区,东西方向分布较
少,因此许多成年人会经常去往新加坡北部地区和南部地区;而对于医疗场所来说,由于新
加坡大型的公立医院分布在新加坡的东部地区和西部地区,因此当人们需要去医疗场所时
会常前往这两个地区。
[0148] 本实施例做了以下五个步骤:第一,对新加坡乘客的出行轨迹使用基于PageRank算法的重点地区人群筛选方法,通过该方法提取出行次数多且去热点地区次数频繁的乘客
轨迹数据,极大的减少了非热点地区的乘公交频率较少的人群轨迹数据,从而减少数据量
和提高数据处理效率;第二,将筛选后的乘客轨迹数据按照年龄段与一周内连续的工作日
与休息日进行划分,并将每位乘客的轨迹数据串联起来,形成完整的轨迹数据集,从而提升
数据质量,为提升后续聚类算法的结果质量提供基础;第三,将划分后的轨迹数据集与新加
坡兴趣点(POI)数据相融合得到每位乘客的文本化轨迹,然后在使用TF‑IDF算法对文本轨
迹的关键词进行提取。第四,分别使用基于余弦距离的K‑means算法与基于欧氏距离的K‑
means算法对上述关键词进行聚类,并对产生的结果进行对比。经检验,在基于欧氏距离的
K‑means算法准确率仅为59.18%时,基于余弦距离的K‑means算法对乘客轨迹的聚类效果更
好,该算法的准确率接近80%且更稳定。第五,通过案例展示,将分类结果使用Flow Map进行
可视化展示,并对每类人群的画像进行简单的分析。通过上述工作,可以为城市规划、社会
行为分析等多个应用领域提供数据支撑,方便城市资源的合理调度与建设,更好地帮助管
理部门和城市建设者对城市建设和发展做出最优决策。
[0149] 本发明能够取得下列有益效果:
[0150] 本发明基于海量公交数据获得人群画像,为城市规划、社会行为分析等多个应用领域提供数据支撑,方便城市资源的合理调度与建设,更好地帮助管理部门和城市建设者
对城市建设和发展做出最优决策。
[0151] 本发明提出基于PageRank算法的重点地区人群筛选方法,通过该方法提取出行次数多且去热点地区次数频繁的乘客轨迹数据,极大的减少了非重点地区的人群轨迹数据,
从而减少数据量和提高数据处理效率;
[0152] 本发明将筛选后的乘客轨迹数据按照年龄段与一周内连续的工作日与休息日进行划分,并将每位乘客的轨迹数据串联起来,形成完整的轨迹数据集,从而提升数据质量,
对后续聚类算法的结果质量有一定的提升;
[0153] 本发明将划分后的轨迹数据集与新加坡兴趣点(POI)数据相融合,从而将每位乘客的轨迹以文本化的形式表现出来。然后使用文本聚类算法对人群文本轨迹进行分类,从
而得到利于解释的轨迹类别特征,即人群画像。
[0154] 因此,本文的主要贡献在于:
[0155] 1) 提出基于PageRank算法的重点地区人群筛选方法;
[0156] 2) 提出轨迹文本化的分析方法,得到利于解释的轨迹类别特征;
[0157] 3) 通过对比实验找到效果较好的聚类算法,将数据与真实数据进行检验,聚类算法准确率接近80%。
[0158] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也
应视为本发明的保护范围。