基于地理位置数据挖掘的用户行为分析*

2019-06-25 06:03李蕴怡
通信技术 2019年6期
关键词:刻画聚类标签

李蕴怡

(公安部第三研究所,上海 200031)

0 引 言

随着移动通信技术的发展,手机成为人们生活必不可少的工具。位置是人日常生活最为重要的信息之一。手机定位信息客观反映了用户的现实行为,因此位置信息可支持多种应用场景。随着互联网的发展,基于地理位置的社交网络(Location-Based Social Network,LBSN)的覆盖范围越来越广,如微信定位、发现附近好友服务等。LBSN创造了一种基于用户地理位置的线上交互方式。它通过地理位置信息将虚拟世界和现实世界连接起来。通过挖掘手机用户的运动轨迹数据,可研究用户的行为规律,从而刻画人物特性。尤其是在电子商务的服务模式中,研究用户的行为规律具有重要的现实意义。

国内外学者对地理位置的相关研究,包括通过数学模型检测用户行为轨迹中的重要地理位置,从而总结用户的行为规律[1-2];从地理位置角度分析用户之间的相似度,建立多层次的相似度模型[3];通过地理位置数据的分析,研究用户的行为和偏好,并对未来的行为进行预测[4];基于LBSN的数据,建立用户相似度计算模型,发现用户可能的好友和可能偏好的地理位置,从而进行好友推荐和位置推荐[5];使用Louvain算法进行社区划分,提高好友预测和链接预测的准确率[6];基于用户通过手机软件进行签到的数据,建立主题挖掘模型,对签到的主题信息进行充分挖掘[7-8];从垂直距离、平行距离、角度距离三个方面计算用户运动轨迹的相似度[9]。综上,现有研究深入挖掘了地理位置数据,但用户使用定位服务的时间和频率较少,而时间和频率这两个方面的规律对人物行为特点的分析也很重要。

本文首先通过数据挖掘,从地理位置数据中提取有相关的数据,然后建立数据分析模型,分析用户的地理位置变化规律,发现用户的地理位置偏好、时间偏好、定位频率偏好,并结合这三方面综合刻画用户的行为特点。最后,通过对比不同用户的行为特点,可计算用户之间的相似度,从而根据行为特点将用户进行分类。

1 地理位置数据挖掘

进行地理位置数据挖掘的流程,如图1所示。

图1 地理位置数据挖掘流程

1.1 数据预处理

本文的数据包括手机用户的基本身份信息、地理位置信息、通讯好友信息等,存储于Hive数据库中。本文使用SQL语句进行数据预处理。

数据预处理的主要步骤,如图2所示。首先筛除数据中的空数据和乱码数据,再建立3张新的数据表——“用户基本信息表”“地理位置信息表”“通讯录好友信息表”,抽取字段为“MOBIL E”“Name”“Age”“Sex”“Address”“Work”的数据存入基本信息表,抽取字段为“MOBILE”“Longitude”“Latitude”“Time”“Tag”的数据存入地理位置信息表,抽取字段为“MOBILE”“F_Mobile”“Last_Call”“Which_Group”的数据存入好友信息表。这3张表的主键均是“MOBILE”字段,可以通过主键相互联接,如图3所示。

图2 数据预处理流程

图3 数据表的联接关系

1.2 停驻点识别

基于地理位置的数据非常复杂,存在很多无效数据,如同一个地点的多次定位信息。因此,需要对数据进行清洗,只保留有实际意义的数据。本文给出以下3个概念,从而定量描述用户的运动轨迹。

地理兴趣点:兴趣点指的是用户使用手机在特定地点进行“签到行为”,如某用户在某商场发布了一条带有位置信息的朋友圈信息,则认为这家商场是此用户的一个地理兴趣点。

用户轨迹:用一个向量描述一条运动轨迹(Pi1,Pi2,…,Pin),其中 Pi1.Time<Pi2.Time,Pin代表第 i个用户第n次进行签到。签到地点按时间排序组成,如图4所示,图中Pn代表第n个地点。

图4 运动轨迹

停驻点:指用户停留的时间超过一个阈值的地点,且是有一定实际意义的地点,如居住点、上班点、商店、旅游景点等。图4中诠释了2种停驻点的情况,P3是第一种停驻点,用户在此地点进行了长期停留;当用户在一个区域内徘徊时,会产生第二种停驻点,P5、P6、P7、P8四个点形成停驻点 2。

本文开发了停驻点识别算法,去除无意义的数据,识别停驻点,提高数据的质量。以图4的停驻点为例,算法逻辑如图5所示。首先对地点数量进行统计,计算各地点两两之间的距离,筛选出距离符合阈值条件的数据;再计算两地点之间签到时间的间隔,筛选出时间间隔符合阈值条件的数据;最后得到符合停驻点要求的地点数据。

图5 停驻点识别算法逻辑

1.3 停驻点聚类

地理位置数据量庞大,如社交软件Foursquare的用户签到数据已超过20亿条。但是,不同的经纬度数据可能对应同一个地理位置,因此需要将这类数据进行聚类。例如,某学生在食堂和教室的地理位置信息可聚类为同一地点,即学校。这样能减少数据量,降低计算复杂度,提高计算的整体效率。

本文使用停驻点聚类算法,将一定距离范围内的停驻点聚为一个中点停驻点,聚类的效果如图6所示。将距离近的停驻点聚为一簇后,取簇的中心作为新的停驻点,此时的运动轨迹变为(G2,G3,…,G6)。

图6 停驻点聚类示意

算法的计算逻辑如图7所示。先计算样本点数,定义一个距离半径,新建一个有序队列和一个结果队列,循环判断样本点是否在结果队列中。当其不在结果队列中时,寻找以此点为中心的半径距离内的附近位置点。对比中心点和附近点的位置标签,当模糊匹配成功时,判定为同类位置,将这些附近点存入有序队列中;如此,循环计算。

2 基于地理位置的用户行为刻画模型

在将用户行为进行分类前,需要分析每个用户的行为规律,用数据量化每个用户的行为特点,然后将每个用户的行为特点进行对比计算,得到各用户的行为相似度,最后基于相似度进行聚类,将不同用户的行为进行分类。

本文从3个方面刻画用户的行为特征,即用户使用定位服务的地理位置偏好、时间偏好、频率偏好。

图7 停驻点聚类算法逻辑

2.1 位置偏好计算

位置偏好指用户出现在每类地点的次数占所有定位次数的比例。计算公式如下:

例如,某用户在标签为“食品”的地理位置访问次数为10,总签到次数为100;所有用户去过标签为“食品”的地理位置次数为10 000,总用户数为1 000,则这个用户对“食品”标签的位置偏好度为。对每个用户计算其对各类地理位置的偏好度,选取最大值作为其定性评价的依据,如某用户在标签为“办公楼”“住宅”“食品”“商场”“书店”等标签地点使用过定位服务,但在“商场”的位置偏好度最大,则选取这个标签作为此用户的行为刻画依据。

2.2 时间偏好计算

时间偏好指用户使用定位服务的时间偏好。根据用户在每个时间段签到的概率,可粗略判断用户的生活作息习惯。例如,某用户在凌晨1点签到的概率最大,则认为此用户为凌晨活跃者。计算时间偏好的公式为:

其中,K代表每天不同的签到时段,Tik为第i位用户在k时段签到的概率,Ttik为第i位用户在k时段签到的总天数,TDi为第i位用户从第一次使用签到服务以来的总天数。这里,选取概率最大的时间段作为评价其时间偏好的依据。

计算时间偏好度的逻辑流程,如图9所示。计算中,用到时间划分和用户定性规则,如表1所示。

图9 时间偏好度计算逻辑

表1 时间划分

2.3 频率偏好计算

频率偏好指用户使用定位服务的频率偏好。每个用户使用定位服务的频率不同,计算每位用户的签到频率,能体现用户对定位服务的偏好程度。计算签到频率的公式如下:

其中K代表每天不同的签到次数,分为三个档次,分别为0、1到3之间、3以上;Fik为第i位用户每天的签到次数为k发生的概率;TRik为第i位用户签到次数为k的总天数;TDi为第i位用户从第一次使用签到服务以来的总天数。这里,选取概率最大的档次作为评价其签到活跃程度的依据。算法的计算逻辑如图10所示。

根据签到频率对用户进行定性评价的标准,如表2所示。

表2 频率档次划分

3 基于地理位置的用户行为分类模型

上文的用户行为刻画已经得到每个用户在地理位置、时间、频率三个维度的偏好度,然后计算不同用户在这3个方面的接近程度,即可得到行为相似度。这三个维度对应的相似度分别为位置相似度、时间相似度、频率相似度。计算逻辑流程如图11所示。

图11 用户行为相似度算法逻辑

相似度计算公式如下:

对于位置相似度,k代表每一种标签的地理位置,Mik为i用户对标签为k的地理位置的偏好度,计算得到位置相似度Simij(locat);对于时间相似度,k代表每个时段,Mik为i用户对k时间段的偏好度,计算得到时间相似度Simij(time);对于频率相似度,k代表每个频率,Mik为i用户对签到频率k的偏好度,计算得到频率相似度 Simij(freq)。

最后,为每个维度设定权重,即可得到2个用户的综合行为相似度Simij。设地理位置、时间、频率的权重分别为 α、β、1-(α+β),其中 0<α,β<1,则Simij计算公式如下:

基于用户行为相似度,用户与用户之间可形成一个复杂的网络。在复杂网络中发现联系紧密的社区,即可将相似网站进行聚类。因此,本文选择Fast Unfolding这种社区发现算法进行聚类。Fast Unfolding算法是一种基于模块最大化(Modularity Optimization)的启发式方法。聚类后,对每一类用户行为进行定性分析,根据地理位置偏好、时间偏好、频率偏好3个方面对每一类进行打标签,如某类用户的行为标签是“办公楼+早餐+不活跃”,其含义是这类用户习惯于早晨在办公楼使用定位服务,并且签到活动属于不活跃类型。

4 实验及结果分析

本实验使用的数据均为模拟数据,数据示例如表3所示。

表3 地理位置数据示例

源数据为1万行用户地理位置数据,经过地理位置数据挖掘,数据量精简至6 700行数据。对其进行用户的位置偏好计算、时间偏好计算、频率偏好计算,即可得到用户的行为刻画。通过手机号,将位置数据与用户基本信息数据进行关联,可对用户进行较全面的刻画。以手机号为13306xxx753的用户为例,其行为刻画如图12所示。

图12 用户行为刻画示例

基于上述用户的位置偏好、时间偏好、频率偏好的计算结果,结合本文的用户行为相似度计算公式,可计算得到各用户之间的相似度。本实验设定α、β的取值均为0.4,即位置偏好、时间偏好、频率偏好的权重分别为0.4、0.4、0.2。相似度计算的结果示例,如表4所示。

表4 用户行为相似度结果示例

基于相似度计算结果,使用Fast Unfolding算法进行聚类,最终得到用户行为分类结果,即将用户行为分成了9大类,如图13所示。

图13 用户行为分类示例

综上可见,本文的模型能在实践中多角度地刻画用户行为特点,并能从行为特点的角度计算用户的相似度,将用户进行分类,可为相关企业进行人

综上可见,本文的模型能在实践中多角度地刻画用户行为特点,并能从行为特点的角度计算用户的相似度,将用户进行分类,可为相关企业进行人员的行为分析提供可靠的技术支持。

5 结 语

本文从地理位置数据出发,研究了用户使用手机定位服务时的行为特点。首先通过地理位置数据挖掘过程,筛选出实际意义的数据;其次,通过建立基于地理位置的用户行为刻画模型,从位置偏好、时间偏好、频率偏好3个方面刻画用户的行为特点,建立用户行为分类模型;最后,实验结果证明,本文的行为分析模型能有效刻画用户的行为特点,并发现行为相似的用户,能在用户的行为分析等应用场景中提供技术支持。

猜你喜欢
刻画聚类标签
基于K-means聚类的车-地无线通信场强研究
刻画人物如何『传神』
无惧标签 Alfa Romeo Giulia 200HP
刻画细节,展现关爱
不害怕撕掉标签的人,都活出了真正的漂亮
刻画细节,凸显人物
基于高斯混合聚类的阵列干涉SAR三维成像
基于Spark平台的K-means聚类算法改进及并行化实现
基于加权模糊聚类的不平衡数据分类方法
让衣柜摆脱“杂乱无章”的标签