CN110457315A - 一种基于用户轨迹数据的群体聚集模式分析方法和系统 - Google Patents
一种基于用户轨迹数据的群体聚集模式分析方法和系统 Download PDFInfo
- Publication number
- CN110457315A CN110457315A CN201910654984.8A CN201910654984A CN110457315A CN 110457315 A CN110457315 A CN 110457315A CN 201910654984 A CN201910654984 A CN 201910654984A CN 110457315 A CN110457315 A CN 110457315A
- Authority
- CN
- China
- Prior art keywords
- cluster
- user
- crowd
- data
- candidate
- 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.)
- Pending
Links
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于用户轨迹数据的群体聚集模式分析方法和系统。该方法包括:1)通过用户群体轨迹数据提取用户的位置数据;2)将各个时间点同一用户的位置数据按照时间顺序整合,形成在时空上具有连续性的轨迹数据;3)根据用户的在时空上具有连续性的轨迹数据构建K‑D Tree;4)基于K‑D Tree对用户轨迹点进行聚类,得到多个人群的快照簇;5)根据人群的快照簇发现候选人群集合,进而根据候选人群集合发现封闭人群集合。本发明可以快速处理海量用户轨迹日志数据并进行针对对象位置的聚集模式分析,能够保证人群聚集判断的有效性和准确性。
Description
技术领域
本发明涉及用户轨迹数据分析领域,通过用户群体轨迹数据中携带的地理位置信息的分析,发现人群聚集行为,通过开始时间、结束时间、参与人数、参与目标、聚集状态等多方面特征描述人群的聚集行为,采用线性插值建模整合、估算用户轨迹,构建完整规范的用户移动轨迹数据。设计了基于K-D Tree和DBSCAN聚类算法的人群聚集模式分析方法,能够基于用户群体轨迹数据,及时发现人群聚集行为,可应用于监测社会各种群体的轨迹聚集,发现城市热门商圈,分析景点旺季淡季旅客流量等具体方向。
背景技术
随着信息科技的发展和移动通讯中定位技术的成熟,用户群体轨迹数据中时空位置数据呈现爆炸式的增长,针对群体运动特征和个体移动轨迹相关技术的研究也日渐丰富。本发明着手研究信令日志中用户的时空轨迹数据,提取位置信息并按照时间划分构建用户时空数据,在大量单个用户时空数据的基础上,挖掘多个用户在时空中移动轨迹的特征,分析出符合聚集模式的用户时空数据特征,发现多个用户在一段时间内发生的群体聚集事件。
移动群体的聚集模式可以看成一组移动对象的聚合行为。基于分析用户移动轨迹数据挖掘对象聚集模式,目前主要有以下几种方法:
(1)Flock聚集特征
Flock聚集群组发现:限定在持续k个时间片中活动在包含固定大小的圆形区域的群体,判断符合以上条件的移动对象群组的最大共同行进时长是否大于阈值。该方法要求较为苛刻,对轨迹的连续性要求高,相关特征提取难度大。
(2)Swarm聚集特征
Swarm聚集特征较之Flock更加灵活,特征如下:它不要求群组的形状;任意两个对象的距离都小于阈值;群组中移动对象的共同行进时间不要求一直连续。使用聚类算法挖掘轨迹中的移动对象群组,使用Swarm定义移动对象群组,能够更广泛地挖掘移动对象群组。但Swarm特征方法要求观察对象轨迹的连续性,在实用性上较差。
(3)移动轨迹相似性
通过对比移动对象的轨迹相似性,判断不同移动对象的移动轨迹、移动模式是否相似,通过使用分段聚类算法对相似轨迹进行归类研究。但目前此方法的实时性及预测准确性有待提高。
(4)预测移动轨迹判别对象聚类
通过时间序列分析移动对象的历史位置,由此预测移动对象的运动轨迹。基于索引结构NDTR-Tree来表示移动对象的时间和空间变化特征,能够动态地索引和维护移动对象的位置信息,但这种方法不能针对性地分析移动群组的变化趋势;同时,由于移动群组中对象间都有很强的时空约束,传统的数据结构并不能完全适应聚集模式挖掘的时空约束条件。
发明内容
本发明针对上述问题,提供一种基于用户轨迹数据的群体聚集模式分析方法和系统,可以快速处理海量用户轨迹日志数据并进行针对对象位置的聚集模式分析。
本发明采用的技术方案如下:
一种基于用户轨迹数据的群体聚集模式分析方法,包括以下步骤:
1)通过用户群体轨迹数据提取用户的位置数据;
2)将各个时间点同一用户的位置数据按照时间顺序整合,形成在时空上具有连续性的轨迹数据;
3)根据用户的在时空上具有连续性的轨迹数据构建K-D Tree;
4)基于K-D Tree对用户轨迹点进行聚类,得到多个人群的快照簇;
5)根据人群的快照簇发现候选人群集合,进而根据候选人群集合发现封闭人群集合。
进一步地,步骤1)包括:
1.1)利用Spark Streaming流处理程序,从线上Kafka队列接收用户群体轨迹数据,并提取用户位置相关信息,实现用户群体轨迹数据的高效读取;
1.2)对获取的用户群体轨迹数据进行数据清洗,识别去除噪声数据及缺失项;
1.3)提取清洗后的用户群体轨迹数据中的地理位置信息,转换为用户ID及经纬度对的形式。
进一步地,步骤2)通过查询历史轨迹数据,将各个时间点同一用户的位置数据按照时间顺序整合并以一定时间为单位进行切片,每天包含若干个时间切片,形成在时空上具有连续性的轨迹数据。
进一步地,步骤3)将当前时间片的每个对象按照经纬度两个维度添加到同一棵K-D Tree;步骤4)对于当前待处理对象,根据邻域半径ε判断当前对象经纬度的上下限,在K-DTree上查找符合经纬度上下限要求的对象。
进一步地,步骤3)所述构建K-D Tree包括:
3.1)遍历在同一时间切片内的二维位置数据,生成标识当前用户位置数据的结点,根据K-D Tree上已有结点所在维度k,比较此维度上下界的范围,搜索符合该结点经纬度的非空子树;
3.2)在该子树上继续重复步骤1,直到找到合适的位置插入此新结点。
进一步地,步骤4)所述聚类为DBSCAN聚类、K MEANS聚类、EM聚类等方式。
进一步地,步骤5)所述发现候选人群集合包括:
a)如果候选人群集合为空,则将当前时间片的每个簇加入到一个新的人群对象,每个人群对象都加入候选人群集合;
b)如果候选人群集合不为空,对每一个人群:如果当前时间片存在Hausdorff距离不大于阈值Dh,且取对象交集后对象个数不小于阈值kp的簇,将该簇加入到该人群形成一个新的人群,作为候选人群加入到新的候选人群集合;如果当前时间片不存在满足之前所述条件的簇,则该人群不再是候选人群中的一个;
c)在前两步得到的候选人群集合进行以下补充处理:获取此时候选人群集合的簇ID列表,遍历当前时间片的每个簇,如果簇ID列表不包含正在被处理的簇的ID,则以该簇作为一个新人群的第一个时间片的簇,并将新人群补充到候选人群里;
进一步地,步骤5)所述发现候选人群集合包括:候选人群集合中每个人群最后一个时间片的簇和当前时间片的每个簇度量Hausdorff距离,对每一个人群:
a)如果当前时间片存在Hausdorff距离不大于阈值Dh,且取对象交集后对象个数不小于阈值kp的簇,将该簇加入到该候选人群形成一个新的人群;
b)如果新人群满足簇的个数大于等于阈值kc,作为候选人群加入到新的候选人群集合;
c)如果当前时间片不存在满足之前所述条件的簇,但该人群满足持续时间片个数大于等于阈值kc,则该人群被加入到封闭人群集合。
基于同一发明构思,本发明还提供一种基于用户轨迹数据的群体聚集模式分析系统,其包括:
位置数据提取模块,用于通过用户群体轨迹数据提取用户的位置数据;
用户轨迹建模模块,用于将各个时间点同一用户的位置数据按照时间顺序整合,形成在时空上具有连续性的轨迹数据;
K-D Tree构建模块,用于根据用户的在时空上具有连续性的轨迹数据构建K-DTree;
聚类模块,用于基于K-D Tree对用户轨迹点进行聚类,得到多个人群的快照簇;
人群聚集行为发现模块,用于根据人群的快照簇发现候选人群集合,进而根据候选人群集合发现封闭人群集合。
本发明主要研究基于Spark并行计算框架下的聚集分析算法,可以快速处理海量用户轨迹日志数据并进行针对对象位置的聚集模式分析。与已公开的方法相比,具有如下优点:
(1)通过对海量的用户群体轨迹数据中的位置数据进行抽取分析,得到群体用户轨迹聚集信息,基于Spark算子保证处理海量数据的效率。通过对位置数据预处理包括位置数据提取和位置数据清洗,获取质量较高的位置数据。
(2)对位置数据进行切片,经过删减和补全获得形如Sv={v0,…,vi,…,vn}的轨迹数据,获得格式统一、规范(即具有固定个数的位置点)的用户轨迹,较为准确地还原了用户的位置轨迹变化,同时对运动目标的位置缺失有较好的鲁棒性。其中,vi是预处理中得到的位置数据,n是依据时间切片大小得到的一天的时间片数目。
(3)使用空间索引技术,将当前时间片的每个对象按照经纬度两个维度添加到同一棵K-D Tree,通过在构建好的K-D Tree上的搜索代替聚类中的位置相似度计算,保证计算聚类点距离的效率。具体地,基于K-D Tree构建用户移动轨迹索引,对于当前待处理对象,根据邻域半径ε判断当前对象经纬度的上下限,在K-D Tree上查找符合经纬度上下限要求的对象,保证计算聚类点距离的效率。
(4)基于K-D Tree和DBSCAN算法对用户轨迹进行聚类统计,从而实现人群聚集的判断,保证判断的有效性和准确性。
附图说明
图1是本发明的基于用户轨迹数据的群体聚集模式分析方法的步骤流程图。
图2是地理位置信息K-D Tree构建示例图。
图3是聚类算子流程图。
图4是本发明的基于用户轨迹数据的群体聚集模式分析系统的模块组成图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。
本发明主要通过研究海量用户群体轨迹数据中用户的时空数据,提取位置信息并按照时间划分构建用户时空数据,在大量单个用户时空数据的基础上,挖掘多个用户的数据在时空中的特征,分析出符合聚集模式的用户时空数据特征,发现由多个用户在持续的一段时间内参与的群体事件。该方法的步骤流程如图1所示,具体步骤包括:
(1)通过用户群体轨迹数据的获取、预处理和信息提取,提取位置数据,可分为以下三步:
(1.1)用户轨迹日志获取:提供高效数据获取方法实现,利用Spark Streaming流处理程序,从线上Kafka队列接收用户群体轨迹数据,并提取用户位置相关信息,实现用户群体轨迹数据的高效读取;
(1.2)数据清洗:对系统获取到的用户群体轨迹数据进行缺失项检查及筛选,识别去除噪声数据及缺失项,解决数据类型不一致等问题;
(1.3)位置数据提取:提取清洗后用户群体轨迹数据中的地理位置信息,转换为用户ID及经纬度对的形式。
(2)用户轨迹建模:通过查询历史轨迹数据,将各个时间点同一用户的位置数据按照时间顺序整合并以一定时间(如10分钟)为单位进行切片,每天包含若干个(如144个)时间切片,形成在时空上具有连续性的轨迹数据。轨迹建模的主要流程包括:获取历史轨迹数据;获取当前位置数据;以最新时刻的地理位置点补全缺失时间片的位置数据;对于同一用户在连续的时间段内位置偏差巨大的位置点,超过一定的偏差阈值时则删除该条数据;存储当前时间片的用户轨迹点。
(3)在聚类过程中,通过构建K-D Tree的形式,实现搜索经纬度阈值范围内的结点,避免了查找时计算多维地理位置数据之间的距离,提高对象轨迹点的查找效率。
(3.1)K-D Tree构建:
1)遍历在同一时间切片内的二维位置数据,生成标识当前用户位置数据的结点,根据K-D Tree上已有结点所在维度k,比较此维度上下界的范围,搜索符合该结点经纬度的非空子树;
2)在该子树上继续重复步骤1,直到找到合适的位置插入此新结点。
(3.2)K-D Tree查找:
1)以ε为邻域半径,以当前对象p的经纬度为中心,计算经纬度上下限,经纬度下限记作lowk,上限记作uppk,其中下标为0代表纬度,下标为1代表经度。
2)pkdt的树根m_root作为当前待处理结点t,当前所在维度m_k为0。
3)如果当前待处理结点t为空值,停止搜索;如果t的经纬度数值在上下限范围内,则将t加入符合条件的结点容器v;否则进入步骤4)。
4)如果t在维度m_k的位置数据大于等于lowk在下标为m_k的位置数据,以lowk、uppk为经纬度范围下限和上限,t的左子树为待处理结点,将搜索维度置(m_k+1)%K,进入步骤3);如果t在维度m_k的位置数据小于uppk在下标为m_k的位置数据,则以lowk、uppk为经纬度范围下限和上限,t的右子树为待处理结点,将搜索维度置(m_k+1)%K,进入步骤3)。
(4)基于K-D Tree对用户轨迹点进行DBSCAN(Density-Based SpatialClustering of Applications with Noise,具有噪声的基于密度的聚类方法,一种现有的聚类方法)聚类,并利用Spark并行计算框架的图计算实现对各个密度相连的核心对象所代表的图进行连接。
(4.1)对当前时间片所有包含用户信息及位置数据的对象设置不同的对象ID并构建一棵K-D Tree pkdt。
(4.2)遍历对象p,在pkdt上检索所有从p关于ε-邻域和MinPts密度可达的对象:对于核心对象,构建以p为起点、其邻域内对象为终点的边集;对于边缘对象,构建以p自身为起点和终点的边,得到边集Edges。
(4.3)构建当前时间片所有对象的顶点集Vertexs,以边集Edges和顶点集Vertexs构建图G。
(4.4)计算图G的连通分支,每个连通分支ID设置为分支中序号最小的顶点的ID。
(4.5)遍历图G中的边,返回<ID,边>结构的二元组,其中ID是边所在连通分支的ID,得到的同一连通分支内每条边所在二元组都具有相同ID。
(4.6)对步骤(4.5)中的二元组按照ID合并成多个列表,每个列表是ID相同的位置对象,位置对象ID重置为列表中第一个对象的用户ID。
(5)人群聚集行为发现:聚类后可得多个人群的快照簇,其中,快照簇定义如下:给定用户时空数据集合ODB,ODB在第i个时间片的子集ODB(ti),距离阈值ε,对象个数阈值MinPts,快照簇c(ti)是集合的非空子集,且O(ti)满足以下条件:
1)oq(ti)∈O(ti),op(ti)关于ε和MinPts与oq(ti)是密度相连的。其中,op(ti)、oq(ti)为集合O(ti)中密度相连的两个对象。
2)不存在一个更大的集合O’(ti)使得如果oq(ti)∈O(ti),且op(ti)从oq(ti)是关于ε和MinPts密度可达的,则op(ti)∈O(ti)。
在本发明中,可能处于初始状态的人群对象集合,称作候选人群集合,完全满足人群定义的人群集合,称作封闭人群集合。
(5.1)候选聚集群体发现
1)如果候选人群集合为空,则将当前时间片的每个簇加入到一个新的人群对象,每个人群对象都加入候选人群。
2)如果候选人群集合不为空,对每一个人群来说:如果当前时间片存在Hausdorff距离不大于阈值Dh,且取对象交集后对象个数不小于阈值kp的簇,将该簇加入到该人群形成一个新的人群,作为候选人群加入到新的候选人群集合;如果当前时间片不存在满足之前所述条件的簇,则该人群不再是候选人群中的一个。
3)在前两步得到的候选人群集合需要以下补充处理:获取此时候选人群集合的簇ID列表,遍历当前时间片的每个簇,如果簇ID列表不包含正在被处理的簇的ID,则以该簇作为一个新人群的第一个时间片的簇,并将新人群补充到候选人群里。
(5.2)封闭人群集合发现
候选人群集合中每个人群最后一个时间片的簇和当前时间片的每个簇度量Hausdorff距离,对每一个人群来说:
1)如果当前时间片存在Hausdorff距离不大于阈值Dh,且取对象交集后对象个数不小于阈值kp的簇,将该簇加入到该候选人群形成一个新的人群;
2)如果新人群满足簇的个数(人群持续时间片个数)大于等于阈值kc,作为候选人群加入到新的候选人群集合;
3)如果当前时间片不存在满足之前所述条件的簇,但该人群满足持续时间片个数大于等于阈值kc,则该人群被加入到封闭人群集合。
下面,结合具体的实施例对本发明进行详细说明。
(1)通过用户群体轨迹数据的获取、预处理和信息提取,提取位置数据,可分为以下三步:
(1.1)用户轨迹日志获取:提供高效数据获取方法实现,实现用户用户群体轨迹数据高效准确地读取;
(1.2)数据清洗:对系统获取到的用户群体轨迹数据进行缺失项检查及筛选,识别去除噪声数据及缺失项,解决数据类型不一致等问题;
(1.3)位置数据提取:提取清洗后用户群体轨迹数据中的地理位置信息,转换为用户ID及经纬度对的形式。
(2)用户轨迹建模:通过查询历史轨迹数据,将各个时间点同一用户的位置数据按照时间顺序整合,形成在时空上具有连续性的轨迹数据。轨迹建模的主要流程包括:获取历史轨迹数据、获取当前位置数据、补全缺失时间片位置数据、按经纬度过滤、存储当前时间片用户轨迹点。
将建模后的用户时空轨迹点序列,组织为三元组序列,形式如:Sv={v0,…,vi,…,vn},其中vi=<ti,lati,lngi>是时空轨迹点的三元组标识,ti是位置对应的时间戳,lati代表纬度坐标,lngi代表经度坐标。
(3)在聚类过程中,通过构建K-D Tree的形式,实现搜索经纬度阈值范围内的结点,避免了查找时计算多维地理位置数据之间的距离,提高对象轨迹点的查找效率。
(3.1)K-D Tree构建:
1)遍历在同一时间切片内的二维位置数据,生成标识当前用户位置数据的结点,根据K-D Tree上已有结点所在维度k,比较此维度上下届的范围,搜索符合该结点经纬度的非空子树;
2)在该子树上继续重复步骤1,直到找到合适的位置插入此新结点。构建好的KD-Tree形式如图2所示。其中根结点三元组为<0,[39.848345,116.502660],Obj1>,表示在维度0上进行划分,划分的标准值为39.848345,Obj1是在插入K-DTree时用到的包含用户信息和用户位置的对象三元组。同理中间结点代表在编号为1的维度上划分,并存储了各自对应的位置数据和用户位置信息封装对象。
(3.2)K-D Tree查找:
1)以ε为半径,以当前对象p的经纬度为中心,计算经纬度上下限,经纬度下限记作lowk,上限记作uppk,其中下标为0代表纬度,下标为1代表经度。
2)pkdt的树根m_root作为当前待处理结点t,当前所在维度m_k为0。
3)如果当前待处理结点t为空值,停止搜索;如果t的经纬度数值在上下限范围内,则将t加入符合条件的结点容器v;否则进入步骤4。
4)如果t在维度m_k的位置数据大于等于lowk在下标为m_k的位置数据,以lowk、uppk为经纬度范围下限和上限,t的左子树为待处理结点,将搜索维度置(m_k+1)%K,进入步骤3;如果t在维度m_k的位置数据小于uppk在下标为m_k的位置数据,则以lowk、uppk为经纬度范围下限和上限,t的右子树为待处理结点,将搜索维度置(m_k+1)%K,进入步骤3。
(4)基于K-D Tree对用户轨迹点进行DBSCAN聚类,聚类算法流程如图3所示:
(4.1)对当前时间片的用户信息及其位置数据信息对象设置不同ID并构建一棵K-D Tree pkdt;
(4.2)遍历对象p,在pkdt上检索所有从p关于ε-邻域和MinPts密度可达的对象:对于核心对象,构建以p为起点、其邻域内对象为终点的边集;对于边缘对象,构建以p自身为起点和终点的边,得到边集Edges。
(4.3)构建当前时间片所有对象的顶点集Vertexs,以边集Edges和顶点集Vertexs构建图G。
(4.4)计算图G的连通分支cc,每个连通分支ID设置为分支中序号最小的顶点的ID。
(4.5)遍历图cc中的边,返回<ID,边>结构的二元组,其中ID是边所在连通分支的ID,得到的同一连通分支内每条边所在二元组都具有相同ID。
(4.6)对步骤4.5中的二元组按照ID合并成多个列表,每个列表是ID相同的位置对象,位置对象ID重置为列表中第一个对象的用户ID。
(5)人群聚集行为发现:聚类后可得多个人群的快照簇,其中,快照簇为给定用户时空数据集合ODB,ODB在第i个时间片的子集ODB(ti),距离阈值ε,对象个数阈值MinPts,快照簇c(ti)是集合的非空子集,且O(ti)满足以下条件:
1)oq(ti)∈O(ti),op(ti)关于ε和MinPts与oq(ti)是密度相连的。
2)不存在一个更大的集合O’(ti)使得如果oq(ti)∈O(ti),且op(ti)从oq(ti)是关于ε和MinPts密度可达的,则op(ti)∈O(ti)。
通过分析快照簇,判断人群轨迹的相似性从而选出符合条件的聚集人群,定义人群为满足如下条件的目标群体:给定用户的位置集合ODB,支持人数阈值mc,范围阈值δ,生命周期阈值kc,人群Cr是连续时间片上的快照簇序列,Cr满足以下条件:
1)Cr.T为Cr的生命周期,Cr.T=b-a+1≥kc;
2)在任何时间片,快照簇序列中用户个数至少为mc,即
3)任意两个连续的快照簇对之间的距离都不超过δ,即 小于b。
在本发明中,可能处于初始状态的人群对象集合,称作候选人群集合,完全满足人群定义的人群集合,称作封闭人群集合。
(5.1)候选人群集合发现
1)如果候选人群集合为空,则将当前时间片的每个簇加入到一个新的人群对象,每个人群对象都加入候选人群集合。
2)如果候选人群集合不为空,对每一个人群来说:如果当前时间片存在Hausdorff距离不大于阈值Dh,且取对象交集后对象个数不小于阈值kp的簇,将该簇加入到该人群形成一个新的人群,作为候选人群加入到新的候选人群集合;如果当前时间片不存在满足之前所述条件的簇,则该人群不再是候选人群中的一个。
3)在前两步得到的候选人群集合需要以下补充处理:获取此时候选人群集合的簇ID列表,遍历当前时间片的每个簇,如果簇ID列表不包含正在被处理的簇的ID,则以该簇作为一个新人群的第一个时间片的簇,并将新人群补充到候选人群里。
(5.2)封闭人群集合发现
候选人群集合中每个人群最后一个时间片的簇和当前时间片的每个簇度量Hausdorff距离,对每一个人群来说:
1)如果当前时间片存在Hausdorff距离不大于阈值Dh,且取对象交集后对象个数不小于阈值kp的簇,将该簇加入到该候选人群形成一个新的人群;
2)如果新人群满足簇的个数(人群持续时间片个数)大于等于阈值kc,作为候选人群加入到新的候选人群集合;
3)如果当前时间片不存在满足之前所述条件的簇,但该人群满足持续时间片个数大于等于阈值kc,则该人群被加入到封闭人群集合。
基于同一发明构思,本发明另一实施例提供一种基于用户轨迹数据的群体聚集模式分析系统,如图4所示,该系统包括:
位置数据提取模块,用于通过用户群体轨迹数据提取用户的位置数据;
用户轨迹建模模块,用于将各个时间点同一用户的位置数据按照时间顺序整合,形成在时空上具有连续性的轨迹数据;
K-D Tree构建模块,用于根据用户的在时空上具有连续性的轨迹数据构建K-DTree;
聚类模块,用于基于K-D Tree对用户轨迹点进行聚类,得到多个人群的快照簇;
人群聚集行为发现模块,用于根据人群的快照簇发现候选人群集合,进而根据候选人群集合发现封闭人群集合。
基于同一发明构思,本发明另一实施例提供一种计算机/服务器,其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上面所述方法中各步骤的指令。
基于同一发明构思,本发明另一实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现上面所述方法的步骤。
本发明方法的主要核心思想为对用户地理位置信息以Hausdorff距离作为样本点的相似度度量,进行DBSCAN聚类,结合K-D Tree空间搜索策略对簇的聚集进行发现。其中,在聚类过程中还可以以其他相似度度量方式,如欧式距离、地理距离等,聚类算法可使用KMEANS、EM聚类等方式。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。
Claims (10)
1.一种基于用户轨迹数据的群体聚集模式分析方法,其特征在于,包括以下步骤:
1)通过用户群体轨迹数据提取用户的位置数据;
2)将各个时间点同一用户的位置数据按照时间顺序整合,形成在时空上具有连续性的轨迹数据;
3)根据用户的在时空上具有连续性的轨迹数据构建K-D Tree;
4)基于K-D Tree对用户轨迹点进行聚类,得到多个人群的快照簇;
5)根据人群的快照簇发现候选人群集合,进而根据候选人群集合发现封闭人群集合。
2.根据权利要求1所述的方法,其特征在于,步骤1)包括:
1.1)利用Spark Streaming流处理程序,从线上Kafka队列接收用户群体轨迹数据,并提取用户位置相关信息,实现用户群体轨迹数据的高效读取;
1.2)对获取的用户群体轨迹数据进行数据清洗,识别去除噪声数据及缺失项;
1.3)提取清洗后的用户群体轨迹数据中的地理位置信息,转换为用户ID及经纬度对的形式。
3.根据权利要求1所述的方法,其特征在于,步骤2)通过查询历史轨迹数据,将各个时间点同一用户的位置数据按照时间顺序整合并以一定时间为单位进行切片,每天包含若干个时间切片,形成在时空上具有连续性的轨迹数据。
4.根据权利要求1所述的方法,其特征在于,步骤3)将当前时间片的每个对象按照经纬度两个维度添加到同一棵K-D Tree;步骤4)对于当前待处理对象,根据邻域半径ε判断当前对象经纬度的上下限,在K-D Tree上查找符合经纬度上下限要求的对象。
5.根据权利要求4所述的方法,其特征在于,步骤3)所述构建K-D Tree包括:
3.1)遍历在同一时间切片内的二维位置数据,生成标识当前用户位置数据的结点,根据K-D Tree上已有结点所在维度k,比较此维度上下界的范围,搜索符合该结点经纬度的非空子树;
3.2)在该子树上继续重复步骤1,直到找到合适的位置插入此新结点。
6.根据权利要求5所述的方法,其特征在于,步骤4)所述聚类为DBSCAN聚类,包括:
4.1)对当前时间片所有包含用户信息及位置数据的对象设置不同的对象ID并构建一棵K-D Tree pkdt;
4.2)遍历对象p,在pkdt上检索所有从p关于ε-邻域和MinPts密度可达的对象:对于核心对象,构建以p为起点、其邻域内对象为终点的边集;对于边缘对象,构建以p自身为起点和终点的边,得到边集Edges;
4.3)构建当前时间片所有对象的顶点集Vertexs,以边集Edges和顶点集Vertexs构建图G;
4.4)计算图G的连通分支,每个连通分支ID设置为分支中序号最小的顶点的ID;
4.5)遍历图G中的边,返回<ID,边>结构的二元组,其中ID是边所在连通分支的ID,得到的同一连通分支内每条边所在二元组都具有相同ID;
4.6)对步骤(4.5)中的二元组按照ID合并成多个列表,每个列表是ID相同的位置对象,位置对象ID重置为列表中第一个对象的用户ID。
7.根据权利要求1所述的方法,其特征在于,步骤4)所述快照簇的定义为:给定用户时空数据集合ODB,ODB在第i个时间片的子集ODB(ti),距离阈值ε,对象个数阈值MinPts,快照簇c(ti)是集合的非空子集,且O(ti)满足以下条件:
a)oq(ti)∈O(ti),op(ti)关于ε和MinPts与oq(ti)是密度相连的,其中op(ti)、oq(ti)为集合O(ti)中密度相连的两个对象;
b)不存在一个更大的集合O’(ti)使得如果oq(ti)∈O(ti),且op(ti)从oq(ti)是关于ε和MinPts密度可达的,则op(ti)∈O(ti)。
8.根据权利要求1所述的方法,其特征在于,步骤5)所述发现候选人群集合包括:
a)如果候选人群集合为空,则将当前时间片的每个簇加入到一个新的人群对象,每个人群对象都加入候选人群集合;
b)如果候选人群集合不为空,对每一个人群:如果当前时间片存在Hausdorff距离不大于阈值Dh,且取对象交集后对象个数不小于阈值kp的簇,将该簇加入到该人群形成一个新的人群,作为候选人群加入到新的候选人群集合;如果当前时间片不存在满足之前所述条件的簇,则该人群不再是候选人群中的一个;
c)在前两步得到的候选人群集合进行以下补充处理:获取此时候选人群集合的簇ID列表,遍历当前时间片的每个簇,如果簇ID列表不包含正在被处理的簇的ID,则以该簇作为一个新人群的第一个时间片的簇,并将新人群补充到候选人群里。
9.根据权利要求8所述的方法,其特征在于,步骤5)所述发现候选人群集合包括:
候选人群集合中每个人群最后一个时间片的簇和当前时间片的每个簇度量Hausdorff距离,对每一个人群:
a)如果当前时间片存在Hausdorff距离不大于阈值Dh,且取对象交集后对象个数不小于阈值kp的簇,将该簇加入到该候选人群形成一个新的人群;
b)如果新人群满足簇的个数大于等于阈值kc,作为候选人群加入到新的候选人群集合;
c)如果当前时间片不存在满足之前所述条件的簇,但该人群满足持续时间片个数大于等于阈值kc,则该人群被加入到封闭人群集合。
10.一种基于用户轨迹数据的群体聚集模式分析系统,其特征在于,包括:
位置数据提取模块,用于通过用户群体轨迹数据提取用户的位置数据;
用户轨迹建模模块,用于将各个时间点同一用户的位置数据按照时间顺序整合,形成在时空上具有连续性的轨迹数据;
K-D Tree构建模块,用于根据用户的在时空上具有连续性的轨迹数据构建K-D Tree;
聚类模块,用于基于K-D Tree对用户轨迹点进行聚类,得到多个人群的快照簇;
人群聚集行为发现模块,用于根据人群的快照簇发现候选人群集合,进而根据候选人群集合发现封闭人群集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910654984.8A CN110457315A (zh) | 2019-07-19 | 2019-07-19 | 一种基于用户轨迹数据的群体聚集模式分析方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910654984.8A CN110457315A (zh) | 2019-07-19 | 2019-07-19 | 一种基于用户轨迹数据的群体聚集模式分析方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110457315A true CN110457315A (zh) | 2019-11-15 |
Family
ID=68481574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910654984.8A Pending CN110457315A (zh) | 2019-07-19 | 2019-07-19 | 一种基于用户轨迹数据的群体聚集模式分析方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457315A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837582A (zh) * | 2019-11-28 | 2020-02-25 | 重庆紫光华山智安科技有限公司 | 数据关联方法、装置、电子设备和计算机可读存储介质 |
CN111143639A (zh) * | 2019-12-27 | 2020-05-12 | 同盾(广州)科技有限公司 | 用户亲密度计算方法、装置、设备及介质 |
CN111160385A (zh) * | 2019-11-27 | 2020-05-15 | 北京中交兴路信息科技有限公司 | 海量位置点聚合的方法、装置、设备及存储介质 |
CN111863270A (zh) * | 2020-05-20 | 2020-10-30 | 京东城市(北京)数字科技有限公司 | 疾病传染概率确定方法、装置、系统及存储介质 |
CN112100243A (zh) * | 2020-09-15 | 2020-12-18 | 山东理工大学 | 一种基于海量时空数据分析的异常聚集检测方法 |
CN112287890A (zh) * | 2020-11-23 | 2021-01-29 | 杭州海康威视数字技术股份有限公司 | 人员聚集检测方法、可读存储介质和电子设备 |
CN112383875A (zh) * | 2020-06-28 | 2021-02-19 | 中国信息通信研究院 | 一种数据处理方法及电子设备 |
CN112419120A (zh) * | 2020-10-26 | 2021-02-26 | 青岛海信网络科技股份有限公司 | 群体性聚集事件预警方法、装置、系统和电子设备 |
CN112738724A (zh) * | 2020-12-17 | 2021-04-30 | 福建新大陆软件工程有限公司 | 一种区域目标人群的精准识别方法、装置、设备和介质 |
CN113222000A (zh) * | 2021-05-06 | 2021-08-06 | 西安电子科技大学 | 一种根据位置动态创建和解散群组的方法及系统 |
CN113505314A (zh) * | 2021-07-27 | 2021-10-15 | 王程 | 时空复杂网络聚类的位置轨迹分析系统 |
CN113688961A (zh) * | 2021-10-27 | 2021-11-23 | 南通智大信息技术有限公司 | 一种基于聚焦模式的特殊人群追踪方法及系统 |
CN115297441A (zh) * | 2022-09-30 | 2022-11-04 | 上海世脉信息科技有限公司 | 一种大数据环境下个体时空活动鲁棒性的计算方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615881A (zh) * | 2015-01-30 | 2015-05-13 | 南京烽火星空通信发展有限公司 | 一种基于移动位置应用的用户常态轨迹分析方法 |
CN105808754A (zh) * | 2016-03-15 | 2016-07-27 | 苏州大学 | 一种从移动轨迹数据中快速发现聚集模式的方法 |
CN107301254A (zh) * | 2017-08-24 | 2017-10-27 | 电子科技大学 | 一种路网热点区域挖掘方法 |
CN107633067A (zh) * | 2017-09-21 | 2018-01-26 | 北京工业大学 | 一种基于人员行为规律和数据挖掘方法的群体识别方法 |
CN107944628A (zh) * | 2017-11-27 | 2018-04-20 | 中国矿业大学 | 一种路网环境下的聚集模式发现方法及系统 |
CN109241126A (zh) * | 2018-06-29 | 2019-01-18 | 武汉理工大学 | 一种基于r*树索引的时空轨迹聚集模式挖掘算法 |
-
2019
- 2019-07-19 CN CN201910654984.8A patent/CN110457315A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615881A (zh) * | 2015-01-30 | 2015-05-13 | 南京烽火星空通信发展有限公司 | 一种基于移动位置应用的用户常态轨迹分析方法 |
CN105808754A (zh) * | 2016-03-15 | 2016-07-27 | 苏州大学 | 一种从移动轨迹数据中快速发现聚集模式的方法 |
CN107301254A (zh) * | 2017-08-24 | 2017-10-27 | 电子科技大学 | 一种路网热点区域挖掘方法 |
CN107633067A (zh) * | 2017-09-21 | 2018-01-26 | 北京工业大学 | 一种基于人员行为规律和数据挖掘方法的群体识别方法 |
CN107944628A (zh) * | 2017-11-27 | 2018-04-20 | 中国矿业大学 | 一种路网环境下的聚集模式发现方法及系统 |
CN109241126A (zh) * | 2018-06-29 | 2019-01-18 | 武汉理工大学 | 一种基于r*树索引的时空轨迹聚集模式挖掘算法 |
Non-Patent Citations (1)
Title |
---|
刘路: "基于用户轨迹数据的群体聚集模式分析系统的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111160385A (zh) * | 2019-11-27 | 2020-05-15 | 北京中交兴路信息科技有限公司 | 海量位置点聚合的方法、装置、设备及存储介质 |
CN110837582A (zh) * | 2019-11-28 | 2020-02-25 | 重庆紫光华山智安科技有限公司 | 数据关联方法、装置、电子设备和计算机可读存储介质 |
CN110837582B (zh) * | 2019-11-28 | 2022-06-03 | 重庆紫光华山智安科技有限公司 | 数据关联方法、装置、电子设备和计算机可读存储介质 |
CN111143639A (zh) * | 2019-12-27 | 2020-05-12 | 同盾(广州)科技有限公司 | 用户亲密度计算方法、装置、设备及介质 |
CN111143639B (zh) * | 2019-12-27 | 2021-05-07 | 同盾(广州)科技有限公司 | 用户亲密度计算方法、装置、设备及介质 |
CN111863270A (zh) * | 2020-05-20 | 2020-10-30 | 京东城市(北京)数字科技有限公司 | 疾病传染概率确定方法、装置、系统及存储介质 |
CN112383875B (zh) * | 2020-06-28 | 2021-07-30 | 中国信息通信研究院 | 一种数据处理方法及电子设备 |
CN112383875A (zh) * | 2020-06-28 | 2021-02-19 | 中国信息通信研究院 | 一种数据处理方法及电子设备 |
CN112100243A (zh) * | 2020-09-15 | 2020-12-18 | 山东理工大学 | 一种基于海量时空数据分析的异常聚集检测方法 |
CN112100243B (zh) * | 2020-09-15 | 2024-02-20 | 山东理工大学 | 一种基于海量时空数据分析的异常聚集检测方法 |
CN112419120B (zh) * | 2020-10-26 | 2022-08-26 | 青岛海信网络科技股份有限公司 | 群体性聚集事件预警方法、装置、系统和电子设备 |
CN112419120A (zh) * | 2020-10-26 | 2021-02-26 | 青岛海信网络科技股份有限公司 | 群体性聚集事件预警方法、装置、系统和电子设备 |
CN112287890B (zh) * | 2020-11-23 | 2023-08-04 | 杭州海康威视数字技术股份有限公司 | 人员聚集检测方法、可读存储介质和电子设备 |
CN112287890A (zh) * | 2020-11-23 | 2021-01-29 | 杭州海康威视数字技术股份有限公司 | 人员聚集检测方法、可读存储介质和电子设备 |
CN112738724A (zh) * | 2020-12-17 | 2021-04-30 | 福建新大陆软件工程有限公司 | 一种区域目标人群的精准识别方法、装置、设备和介质 |
CN113222000A (zh) * | 2021-05-06 | 2021-08-06 | 西安电子科技大学 | 一种根据位置动态创建和解散群组的方法及系统 |
CN113222000B (zh) * | 2021-05-06 | 2024-02-09 | 西安电子科技大学 | 一种根据位置动态创建和解散群组的方法及系统 |
CN113505314A (zh) * | 2021-07-27 | 2021-10-15 | 王程 | 时空复杂网络聚类的位置轨迹分析系统 |
CN113688961A (zh) * | 2021-10-27 | 2021-11-23 | 南通智大信息技术有限公司 | 一种基于聚焦模式的特殊人群追踪方法及系统 |
CN115297441A (zh) * | 2022-09-30 | 2022-11-04 | 上海世脉信息科技有限公司 | 一种大数据环境下个体时空活动鲁棒性的计算方法 |
CN115297441B (zh) * | 2022-09-30 | 2023-01-17 | 上海世脉信息科技有限公司 | 一种大数据环境下个体时空活动鲁棒性的计算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457315A (zh) | 一种基于用户轨迹数据的群体聚集模式分析方法和系统 | |
CN112182410B (zh) | 基于时空轨迹知识图谱的用户出行模式挖掘方法 | |
Djenouri et al. | A survey on urban traffic anomalies detection algorithms | |
Jeung et al. | Trajectory pattern mining | |
CN109241126B (zh) | 一种基于r*树索引的时空轨迹聚集模式挖掘算法 | |
CN110580251B (zh) | 一种大数据环境下的群体轨迹伴随模式在线分析方法和系统 | |
Lee et al. | Strg-index: Spatio-temporal region graph indexing for large video databases | |
CN105740904B (zh) | 一种基于dbscan聚类算法的出行与活动模式识别方法 | |
CN107330734A (zh) | 基于Co‑location模式和本体的商业地址选择方法 | |
Sawas et al. | Tensor methods for group pattern discovery of pedestrian trajectories | |
Mao et al. | Online clustering of streaming trajectories | |
CN113779105B (zh) | 分布式轨迹流伴随模式挖掘方法 | |
Fuchs et al. | Clustering: Hierarchical, k-Means, DBSCAN | |
Liu et al. | Adaptive density trajectory cluster based on time and space distance | |
CN108182230B (zh) | 基于位向量四叉树的移动对象汇聚模式挖掘方法 | |
CN112765120A (zh) | 一种基于手机信令分析和提取用户移动轨迹的方法 | |
Ghosh et al. | Movcloud: A cloud-enabled framework to analyse movement behaviors | |
CN117409569A (zh) | 一种基于大数据的智慧交通系统及方法 | |
Amini | An adaptive density-based method for clustering evolving data streams | |
CN112015937A (zh) | 一种图片地理定位方法及系统 | |
CN110909037A (zh) | 一种频繁轨迹模式的挖掘方法及装置 | |
He et al. | Origin-destination trajectory diversity analysis: Efficient top-k diversified search | |
CN113886667A (zh) | 一种时空数据聚类方法 | |
Li et al. | The parallel and precision adaptive method of marine lane extraction based on QuadTree | |
Kobyshev et al. | 3D saliency for finding landmark buildings |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191115 |
|
WD01 | Invention patent application deemed withdrawn after publication |