一种顾及位置重复和密度峰值点的签到位置数据聚类方法与流程

文档序号:12601721阅读:592来源:国知局
一种顾及位置重复和密度峰值点的签到位置数据聚类方法与流程
本发明涉及一种顾及位置重复和密度峰值点的签到位置数据聚类方法。
背景技术
:随着带有位置服务功能的移动设备如智能手机、平板电脑的普及,基于位置的社交网络LBSN不断发展壮大,为城市商圈探索,解决城市交通、资源配置等问题提供了良好的数据源。位置签到是LBSN中一个具有代表性的功能,表示了用户利用具有LBS功能的设备记录自己当前位置、表情以及照片等信息并发布到社交网络上的行为。由于获取用户准确的位置是十分困难的,现有的LBSN普遍带有位置候选模块,列出了用户可能处于的已知位置来让用户自己选择。因此,当不同的签到行为(不同用户或不同时间)选择同一候选位置进行签到时,就会出现签到位置重复现象。空间聚类是空间数据挖掘中一个重要方法。基于密度的空间聚类能够自动剔除空间分布较稀疏的对象,将局部空间密度较高的对象聚集为一类。因此采用基于密度的空间聚类可以较好地发现位置签到数据所形成的活动热区从而挖掘出城市居民的活动规律。现有的基于密度的空间聚类法包括:基于密度的空间聚类方法(DBSCAN)、适应局部密度变化的空间聚类方法(ADBSC)、以及格网密度法等。但是这些方法大多直接以点对象的空间距离作为相似性度量指标来进行聚类,没有考虑要素在空间位置上的重复性问题。直接采用以上方法对签到数据进行聚类很有可能将某一重复位置上的全部对象聚成一类,点位过少,不利于活动热区的空间表达。并且这类方法把密度簇内部的看成是密度均匀的,无法获取密度峰值等重要信息,由此无法了解签到行为的集中趋势。2014年,Rodriguez等提出了快速搜索和查找密度峰值聚类算法(CFSFDP),但是对于带有位置重复的签到数据,很容易将位置重复度较高的离群对象选为密度峰值,造成结果的可靠性下降;此外,由于在聚类过程才有基于密度阈值的划分方法,没有考虑峰值与核心点之间的连通性,很难保证密度簇的连续与完整。技术实现要素:有鉴于此,本发明的目的在于提供一种顾及位置重复和密度峰值点的签到位置数据聚类方法,提高了聚类簇的表达效果。为实现上述目的,本发明采用如下技术方案:一种顾及位置重复和密度峰值点的签到位置数据聚类方法,其特征在于,包括以下步骤:步骤S1:从签到文本中提取出每条签到信息的编号以及经纬度信息构成原始签到对象,对所有的原始签到对象进行预处理后构成集合O;步骤S2:统计集合O中每个位置上的原始签到对象的数量dFreq,以索引号、该位置的坐标和dFreq构建对象FPi,将所有的对象FPi构成集合F,记F的总量为NF;步骤S3:计算集合F中两两对象间的欧式距离并构成距离矩阵D,并根据所述距离矩阵D计算出截断距离dc,其中D=[dij],为NF×NF方阵,dij为对象FPi与FPj之间的欧氏距离;步骤S4:计算每个对象FPi的局部密度ρi和高密度最邻近距离δi;步骤S5:求出阈值ρ0和δ0,选择集合F中ρi>ρ0且δi>δ0的对象FPi为密度峰值对象,将所有的密度峰值对象构成集合P,余下的对象构成集合F’;步骤S6:任取集合P中的某一密度峰值对象Pi,遍历集合F’,寻找在(Eps,ρt)条件下所有与密度峰值对象Pi连通的核心点,构成密度峰值对象Pi的核心点簇{C}i;步骤S7:寻找密度峰值对象Pi和对应核心点周围所有的边界点,然后并入核心点簇{C}i构成密度峰值对象Pi的峰值点密度簇{P}i;步骤S8:重复步骤S6至S7直到集合P中对所有密度峰值对象Pi全部找完峰值点密度簇{P}i,获得最终聚类结果。进一步的,所述步骤S1中的预处理包括:(1)将原始签到对象的经纬度信息转换成墨卡托平面坐标;(2)以研究区范围的区划图作为底图,将原始签到对象与底图进行叠置,剔除研究区域以外的对象。进一步的,所述步骤S3中截断距离dc的计算方法如下:取距离矩阵D中上三角中的元素(不包含对角线元素)进行升序排序,取第[(NF-1)*NF/2]*1%个元素作为截断距离dc。进一步的,所述步骤S4中对象FPi的局部密度ρi和高密度最邻近距离δi的计算方法如下:ρi=ln(dFreq+1)·Σj≠ie-(dijdc)2]]>其中,dij为dij为对象FPi与FPj之间的欧氏距离。进一步的,所述步骤S5中阈值ρ0和δ0的确定步骤如下:步骤S51:获取集合F中每个对象FPi的局部密度ρi构成集合L;步骤S52:核计算集合L中每个局部密度ρi的核密度值kdi;步骤S53:对集合L中所有的局部密度ρi和核密度值kdi分别进行归一化处理,并以局部密度ρi为横轴,核密度值kdi为纵轴绘制归一化后的核密度曲线;步骤S54:计算每个局部密度ρi处的斜率ki构成集合K;步骤S55:设置阈值t,在集合K中逆序遍历寻找第一个绝对值大于阈值t的元素ki,取其对应的局部密度为ρ0;步骤S56:筛选集合F中局部密度大于ρ0的对象构成集合Fρ,以Fρ中对象的δ值构成集合Dρ;步骤S57:设集合Dρ中小于δ0的元素为正常部分,其概率的为pt,根据异常检查的方式计算出δ0。进一步的,所述步骤S6中的核心点与核心点簇的定义如下:核心点:对于数据对象p∈F’,若p的局部密度ρp大于等于密度阈值ρt,则称p为核心点;核心点簇:与密度峰值对象Pi在(Eps,ρt)条件下密度连通的所有核心点构成的点簇,具体获取步骤如下:步骤S61:遍历集合F’,在(Eps,ρt)条件下搜索与密度峰值对象Pi密度直达的所有核心点构成初级核心点簇{C’}i并从集合F’中去除相应元素;步骤S62:对于初级核心点簇{C’}i中的任一成员PCi,在集合F’中以(Eps,ρt)为条件搜索与PCi密度直达、密度连通、密度相连的所有核心点构成核心点簇{C}i并从集合F’去除相应元素,直到对所有PCi找完为止。进一步的,所述步骤S7中的边界点定义如下:边界点:对于数据对象p∈F’,如果p的局部密度ρp小于密度阈值ρt,但p位于某个核心点或峰值点的Eps邻域内,则称p为边界点。进一步的,所述步骤S8中的最终聚类结果包括峰值点密度簇和噪声集合两大部分,其中每个峰值点与其核心点簇及边界点构成峰值点密度簇,集合F’中不属于任何峰值密度簇的对象划入噪声集合。本发明与现有技术相比具有以下有益效果:1、本发明充分考虑并合理解决了签到位置存在重复的问题,有效避免现有CFSFDP算法将位置重复数量较高的离群点选为峰值并聚成一类的情况,所获取的峰值更加准确。此外,在聚类时考虑了密度连通性从而保证了密度簇的完整与连续,可以用来更好地表达城市居民空间聚集和活动变化情况;2、本发明不同于DBSCAN、ADBSC等算法将聚类簇看成是密度均等的,而是基于“先找峰值后聚类”的算法思想,由此所获取的密度峰值点不仅可用来表示居民聚集的中心,还能够反映居民活动的聚集情况;3、本发明对于不同结构的城市空间都能准确发现位置签到数据所汇聚成的密度簇,具有较好的空间适用性。附图说明图1是本发明的方法流程图。图2是本发明核心点簇的获取流程图。具体实施方式下面结合附图及实施例对本发明做进一步说明。请参照图1,本发明提供一种顾及位置重复和密度峰值点的签到位置数据聚类方法,其特征在于,包括以下步骤:步骤S1:从签到文本中提取出每条签到信息的编号以及经纬度信息构成原始签到对象,对所有的原始签到对象进行预处理后构成集合O;所述预处理包括:(1)将原始签到对象的经纬度信息转换成墨卡托平面坐标;这一步是为了便于在后续步骤中对象间欧式空间距离的计算与表示。转换方法如下:Y=L·K其中B为纬度,L为经度,X表示横坐标,Y为纵坐标,R=6378137m,为地球平均半径。(2)以研究区范围的区划图作为底图,将原始签到对象与底图进行叠置,剔除研究区域以外的对象。步骤S2:统计集合O中每个位置上的原始签到对象的数量dFreq,以索引号、该位置的坐标和dFreq构建对象FPi,将所有的FPi对象构成集合F,记F的总量为NF;FP对象按照如下数据结构进行设计:其中ptype字段包含以下几种类型值:1表示峰值;2表示核心点;3表示边界点;-1表示噪声;0表示未分配;FP对象间的密度关系由横纵坐标和位置重复频率这三要素决定。F中FPi的总量等于O中所有不重复的签到位置的数量,记原始签到对象的总量为NO,集合F的总量为NF,则位置重复的签到对象总量ND=NO-NF;步骤S3:计算集合F中两两对象间的欧式距离并构成距离矩阵D,并根据所述距离矩阵D计算出截断距离dc,其中D=[dij],为NF×NF方阵,dij为对象FPi与FPj之间的欧氏距离;截断距离dc的计算方法如下:取距离矩阵D中不含对角线的上三角中元素(不包含对角线元素)进行升序排序,取第[(NF-1)*NF/2]*1%个元素作为截断距离dc;步骤S4:计算每个对象FPi的局部密度ρi和高密度最邻近距离δi;分别赋值给FPi的density和delta属性字段;局部密度ρi:在本方法中,FPi的空间密度关系由空间位置和位置重复频率共同决定,位置重复频率dFreq作为要素密度关系表达的第三维,属于纵向的量值,反映该位置上签到信息的规模,目的是为了能够较好地解决
背景技术
中所提到的位置重复度较高的离群对象聚成一类的问题。根据以上理论,FPi的局部密度ρi按照如下形式给出:ρi=ρd·df其中ρd表示的是FPi间的空间密度,表达式如下:ρd=Σj≠iχ(dij-dc)]]>为了避免不同的点要素具有相同的局部密度而且又能具有识别异形簇的能力,采用指数核的形式来替代,即ρi=Σj≠ie-(dijdc)2]]>df表示的是重复频率dFreq在局部密度中占的权重值,为了能够很好地降低dFreq极差过大对ρi所造成的影响,df的定义如下:df=ln(dFreq+1)综上所述,ρi按照如下方式计算:ρdlnf=ln(dFreq+1)·Σj≠ie-(dijdc)2]]>高密度最邻近距离δi:δi表示密度大于ρi并与pi的距离最近的点与pi的空间距离。如果ρi为全局最大值,则δi为距离pi最远的点对象与pi之间的距离:步骤S5:求出阈值ρ0和δ0,选择集合F中ρi>ρ0且δi>δ0的对象FPi为密度峰值对象,将所有的密度峰值对象构成集合P,余下的对象构成集合F’;其中阈值ρ0和δ0的确定步骤如下:步骤S51:获取集合F中每个对象FPi的density属性值,得到局部密度ρi构成集合L;步骤S52:以标准正态函数为核计算集合L中每个局部密度ρi的核密度值kdi;fh(ρ)=1NFh*Σi=1NFK(ρ-ρih)]]>K(u)=12πe-u22,i=1,2,3...NF]]>式中参数h表示核密度的窗宽。本方法中采用全局固定的窗宽,根据积分均方误差(MISE)最小化原理计算方法如下:h=1.059σNF-15]]>式中σ表示ρi的标准差。步骤S53:对集合L中所有的局部密度ρi和核密度值kdi分别进行归一化处理,并以局部密度ρi为横轴,核密度值kdi为纵轴绘制归一化后的核密度曲线;步骤S54:计算每个局部密度ρi处的斜率ki构成集合K:ki=kdi-kdi-1ρi-ρi-1,i=2,3...n]]>步骤S55:观察曲线特征来设置阈值t,在集合K中逆序遍历寻找第一个绝对值大于阈值t的元素ki,取其对应的局部密度为ρ0;阈值t推荐取0.5左右的值,根据实际效果调整。步骤S56:筛选集合F中局部密度大于ρ0的对象构成集合Fρ,以Fρ中对象的δ值(delta值)构成集合Dρ;在Dρ中,δ值较小的元素占主体,δ值越大数量越少;步骤S57:设集合Dρ中小于δ0的元素为正常部分,其概率的为pt,根据异常检查的方式计算出δ0;具体计算方法如下:假定Fρ中对象的δ值服从指数分布,采用极大似然估计的方式来获取该指数分布的参数θ:(为对象集δ值的均值)设新对象集中δ值小于δ0的概率的为pt,根据指数分布的分布函数计算出δ0:F(δ)=1-e-δθ,δ>00,δ≤0]]>δ0=-θ1n(1-pt)式中pt推荐取99%~99.5%之间的值,根据实际效果调整。步骤S6:任取集合P中的某一密度峰值对象Pi,遍历集合F’,寻找在(Eps,ρt)条件下所有与密度峰值对象Pi连通的核心点,构成密度峰值对象Pi的核心点簇{C}i;核心点:对于数据对象p∈F’,若p的局部密度ρp大于等于密度阈值ρt,则称p为核心点;核心点簇:与密度峰值对象Pi在(Eps,ρt)条件下密度连通的所有核心点构成的点簇;根据步骤S4,FPi的局部密度ρi由ρd和df两个部分共同确定。对于核心点对象,ρd过小而df较大的对象会偏离峰值形成离群点位,在密度聚类时采用密度连通性来剔除这类核心点保证核心簇的完整与连续。核心簇中峰值点、核心点之间的密度连通性表现为如下的三种关系:密度直达:对于对象p和q,若p在q的Eps邻域内,且p为核心点,q也为核心点或峰值点,则称对象p是从对象q出发直接密度可达的,简称密度直达;密度可达:对于点集F’,当存在一个对象链p1,p2,p3…pn,其中p1=q,pn=p。对于pi∈F1,如果在条件(Eps,ρt)下pi+1从pi密度直达,则称对象p从对象q在条件(Eps,ρt)下密度可达;密度相连:如果对象集F’中存在一个对象o,使得对象p和q是从o在(Eps,ρt)条件下密度可达的,那么称对象p和q在(Eps,ρt)条件下密度相连;根据以上的三种密度连通关系结合图2,Pi的核心簇{C}i的具体获取步骤如下:步骤S61:遍历集合F’,在(Eps,ρt)条件下搜索与密度峰值对象Pi密度直达的所有核心点构成初级核心点簇{C’}i并从集合F’中去除相应元素;步骤S62:对于初级核心点簇{C’}i中的任一成员PCi,在集合F’中以(Eps,ρt)为条件搜索与PCi密度直达、密度连通、密度相连的所有核心点构成核心点簇{C}i并从集合F’去除相应元素,直到对所有PCi找完为止,这一步就是完成{C’}i的扩展。本步骤中参数Eps,ρt的选择方法如下:Eps:对F中对象按照局部密度ρ字段采用Jenks自然断裂点法进行分类,如果某个类别可以保证每个峰值点周围都有足够多的该类成员,就以该类别的下界作为密度阈值ρt。ρt:对于每个峰值点pi,记pi周围局部密度大于ρt且距离pi最远的对象与峰值点之间的距离为Epsi,取Epsi中的最小值作为参数Eps。步骤S7:寻找密度峰值对象Pi和对应核心点周围所有的边界点,将其ptype属性字段设为3,然后并入核心点簇{C}i构成密度峰值对象Pi的峰值点密度簇{P}i;边界点定义如下:边界点:对于数据对象p∈F’,如果p的局部密度ρp小于密度阈值ρt,但p位于某个核心点或峰值点的Eps邻域内,则称p为边界点。步骤S8:重复步骤S6至S7直到集合P中对所有密度峰值对象Pi全部找完峰值点密度簇{P}i为止,完成全部聚类过程,获得最终聚类结果;最终聚类结果包括峰值点密度簇和噪声集合两大部分,其中每个峰值点与其核心点簇及边界点构成峰值点密度簇,集合F’中不属于任何峰值密度簇的对象FP划入噪声集合并将ptype属性字段设为-1。以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1