一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法技术

技术编号:28503836 阅读:47 留言:0更新日期:2021-05-19 22:53
本发明专利技术公开了一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法,包括步骤:1)获取基础轨迹数据,建立轨迹数据集模型;2)建立轨迹损失模型DGH树;3)在轨迹数据集模型中添加虚拟点,生成包含虚拟点的轨迹数据集模型和虚拟点标记数据集模型;4)对包含虚拟点的轨迹数据集模型进行聚类,标记每个点所属的聚类中心,生成标记数据集模型;5)遍历轨迹数据集模型,通过标记数据集模型对轨迹进行分割,生成分割后的轨迹数据集模型;6)对于分割后的数据集模型采用动态序列对齐算法计算损失,再使用迭代式轨迹k匿名聚类算法进行基于信息损失的聚类。本发明专利技术基于轨迹数据集的点密度对轨迹进行分割,减少了k匿名过程中造成的信息损失。减少了k匿名过程中造成的信息损失。减少了k匿名过程中造成的信息损失。

【技术实现步骤摘要】
一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法


[0001]本专利技术涉及轨迹数据隐私保护和发布的
,尤其是指一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法。

技术介绍

[0002]在科技水平高速发展的今天,移动设备已在人群中广泛普及,人们通过移动设备联网时所需的蜂窝网络和移动设备提供的应用来广泛收集移动轨迹数据。大容量存储技术和数据处理技术的迅速发展,使得轨迹数据对外公开发布极为便利。
[0003]公开发布的轨迹数据不仅对科研组织的研究具有重要作用,也对运营商和政府等机关部门体现其透明性来说十分重要。然而,这种轨迹数据同时也会被恶意的攻击者所利用。
[0004]在轨迹数据发布中,隐私保护的对象主要是用户轨迹的中的敏感数据与用户个体之间的对应关系。为了能实现在公开发布轨迹数据的情况下依然保证人们的隐私数据不被攻击或泄漏,不同组织都在发布数据前使用了多种方法对轨迹数据进行处理。针对轨迹数据的隐私保护问题,学者们进行了大量的研究,并提出了一些隐私保护的方法,具体如下:
[0005]1)Shaham等人的文章《Privacy Preserving Location Data Publishing:A Machine Learning Approach》分别使用启发式算法和k

means算法实现轨迹的聚类,提出使用区域泛化层次树对轨迹数据进行处理,并以此树为依据来计算损失,进行轨迹数据的泛化处理从而实现k
’‑
匿名(此处的k加了
“’”/>用于和k

means中的k相区别)。但该方法在实际运用过程中可能会导致某些轨迹上的点的泛化损失问题的出现。
[0006]2)Tamersoy等人的文章《Anonymization of longitudinal electronic medical records》基于泛化的概念,采用启发式方法实现数据集的k

匿名,但是这种算法在实现了数据匿名化的同时也存在着信息损失较大的问题。
[0007]3)Marco等人的文章《k

anonymity:Towards Privacy

Preserving Publishing of Spatiotemporal Trajectory Data》提出使用k

归并算法来解决时空轨迹数据集在匿名化过程中遇到的有效泛化的问题,并基于k

归并的概念提出了能够实现k

匿名的方法。这种方法在保护用户隐私不被攻击的同时实现了轨迹匿名,但会导致大量的信息损失。
[0008]上述方法虽能够保护用户隐私,但算法实现过程中会造成很大的信息损失。

技术实现思路

[0009]本专利技术的目的在于克服现有技术的缺点与不足,提出了一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法,在一定程度上解决了目前现有算法存在的信息损失大的问题,实现在保护用户隐私的情况下降低信息损失。
[0010]为实现上述目的,本专利技术所提供的技术方案为:一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法,包括以下步骤:
[0011]1)获取基础轨迹数据,包括轨迹的经纬度信息和轨迹点集的时序关系,建立轨迹
数据集模型T;
[0012]2)利用轨迹的经纬度信息建立轨迹损失模型DGH(区域泛化层次)树;
[0013]3)在轨迹数据集模型T中的每条轨迹的相邻点之间添加虚拟点,生成包含虚拟点的轨迹数据集T
virtual
和虚拟点标记数据集virtual;
[0014]4)将包含虚拟点的轨迹数据集T
virtual
视为一整个点集进行聚类,标记每个点所属的聚类中心,生成标记数据集mark;
[0015]5)遍历轨迹数据集模型T中的每条轨迹,通过标记数据集mark判断每条轨迹的相邻点之间是否属于同一个聚类中心,若不相同则进行分割,相同则保留,生成分割后的轨迹数据集T
partition

[0016]6)对于分割后的轨迹数据集T
partition
中的轨迹,采用动态序列对齐算法计算损失,使用迭代式轨迹k匿名聚类算法进行基于信息损失的聚类,生成k匿名数据集作为数据发布的数据集。
[0017]在步骤1)中,所述轨迹数据集模型T定义如下:
[0018]定义1、轨迹数据集模型:T=[tr1,tr2,tr3,...,tr
n
],其中tr
i
代表第i条轨迹的点集,i=1,2,3,

,n;tr
i
=[p1,p2,p3,...,p
m
],其中p
j
代表轨迹tri的第j个点,j=1,2,3,

,m;p
j
=(p
j
.X,p
j
.Y)∈tr
i
,其中p
j
.X、p
j
.Y是轨迹tr
i
中点p
j
的经度、纬度。
[0019]在步骤2)中,通过轨迹的经纬度信息分别求出经度、纬度的最大值和最小值,得出区域范围,再对该区域进行均匀划分,建立轨迹损失模型DGH(区域泛化层次)树,包括以下步骤:
[0020]2.1)通过轨迹的经纬度信息分别求出经度、纬度的最大值和最小值,划定一个矩形区域P;
[0021]2.2)对于该矩形区域P,横向上划分成Nx个等长的区间,纵向上划分成Ny个等长的区间;
[0022]2.3)通过Nx、Ny和轨迹数据集模型T分别建立横向和纵向的DGH(区域泛化层次)树;
[0023]其中,DGH(区域泛化层次)树的定义如下:
[0024]定义2、区域泛化层次树:用DGH(Domain Generalization hierarchy)树表示,将地图中的位置属性划分成许多等长的小区间,再将这些小区间作为叶子节点建立一颗满二叉树,若叶子节点的数量不足以填满二叉树的最底层,则添加一些无效点进行填补。
[0025]在步骤3)中,遍历轨迹数据集模型T中的每条轨迹,在轨迹中每一对相邻点之间添加虚拟点,生成包含虚拟点的轨迹数据集模型T
virtual
和虚拟点标记数据集virtual;轨迹数据集模型T、包含虚拟点的轨迹数据集模型T
virtual
、虚拟点标记数据集模型virtual、虚拟点定义如下:
[0026]定义3、轨迹数据集模型:T=[tr1,tr2,tr3,...,tr
n
],其中tr
i
代表第i条轨迹的点集,i=1,2,3,

,n;tr
i
=[p1,p2,p3,...,p
m
],其中p
j
代表本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法,其特征在于,包括以下步骤:1)获取基础轨迹数据,包括轨迹的经纬度信息和轨迹点集的时序关系,建立轨迹数据集模型T;2)利用轨迹的经纬度信息建立轨迹损失模型DGH树;3)在轨迹数据集模型T中的每条轨迹的相邻点之间添加虚拟点,生成包含虚拟点的轨迹数据集T
virtual
和虚拟点标记数据集virtual;4)将包含虚拟点的轨迹数据集T
virtual
视为一整个点集进行聚类,标记每个点所属的聚类中心,生成标记数据集mark;5)遍历轨迹数据集模型T中的每条轨迹,通过标记数据集mark判断每条轨迹的相邻点之间是否属于同一个聚类中心,若不相同则进行分割,相同则保留,生成分割后的轨迹数据集T
partition
;6)对于分割后的轨迹数据集T
partition
中的轨迹,采用动态序列对齐算法计算损失,使用迭代式轨迹k匿名聚类算法进行基于信息损失的聚类,生成k匿名数据集作为数据发布的数据集。2.根据权利要求1所述的一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法,其特征在于:在步骤1)中,所述轨迹数据集模型T定义如下:定义1、轨迹数据集模型:T=[tr1,tr2,tr3,...,tr
n
],其中tr
i
代表第i条轨迹的点集,i=1,2,3,

,n;tr
i
=[p1,p2,p3,...,p
m
],其中p
j
代表轨迹tr
i
的第j个点,j=1,2,3,

,m;p
j
=(p
j
.X,p
j
.Y)∈tr
i
,其中p
j
.X、p
j
.Y是轨迹tr
i
中点p
j
的经度、纬度。3.根据权利要求1所述的一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法,其特征在于:在步骤2)中,通过轨迹的经纬度信息分别求出经度、纬度的最大值和最小值,得出区域范围,再对该区域进行均匀划分,建立轨迹损失模型DGH树,包括以下步骤:2.1)通过轨迹的经纬度信息分别求出经度、纬度的最大值和最小值,划定一个矩形区域P;2.2)对于该矩形区域P,横向上划分成Nx个等长的区间,纵向上划分成Ny个等长的区间;2.3)通过Nx、Ny和轨迹数据集模型T分别建立横向和纵向的DGH树;其中,DGH树的定义如下:定义2、区域泛化层次树:用DGH树表示,将地图中的位置属性划分成许多等长的小区间,再将这些小区间作为叶子节点建立一颗满二叉树,若叶子节点的数量不足以填满二叉树的最底层,则添加一些无效点进行填补。4.根据权利要求1所述的一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法,其特征在于:在步骤3)中,遍历轨迹数据集模型T中的每条轨迹,在轨迹中每一对相邻点之间添加虚拟点,生成包含虚拟点的轨迹数据集模型T
virtual
和虚拟点标记数据集virtual;轨迹数据集模型T、包含虚拟点的轨迹数据集模型T
virtual
、虚拟点标记数据集模型virtual、虚拟点定义如下:定义3、轨迹数据集模型:T=[tr1,tr2,tr3,...,tr
n
],其中tr
i
代表第i条轨迹的点集,i=1,2,3,

,n;tr
i
=[p1,p2,p3,...,p
m
],其中p
j
代表轨迹tr
i
的第j个点,j=1,2,3,

,m;p
j
=(p
j
.X,p
j
.Y)∈tr
i
,其中p
j
.X、p
j
.Y是轨迹tr
i
中点p
j
的经度、纬度;定义4、包含虚拟点的轨迹数据集模型:T
virtual
=[trv1,trv2,trv3,...,trv
n
],其中trv
i
代表第i条轨迹的点集;trv
i
=[pv1,pv2,pv3,...,pv
m
],其中pv
j
代表轨迹trv
i
的第j个点;pv
j
=(pv
j
.X,pv
j
.Y)∈trv
i
,其中pv
j
.X、pv
j
.Y是轨迹trv
i
中点pv
j
的经度、纬度;定义5、虚拟点标记数据集模型:virtual=[vir1,vir2,vir3,...,vir
n
],其中vir
i
是包含虚拟点的轨迹数据集模型T
virtual
中第i条轨迹对应的虚拟点标记列表;vir
i
=[q1,q2,q3,...q
m
],q
j
代表vir
i
第j个点;q
j
的值为0时代表真实点,q
j
的值为1时代表虚拟点;虚拟点标记数据集模型virtual与包含虚拟点的轨迹数据集模型T
virtual
存在位置上的一一映射关系,vir
i
对应于trv
i
,q
j
对应于pv
j
,其中q
j
∈vir
i
,pv
j
∈trv
i
,并且q
j
和pv
j
分别代表vir
i
和trv
i
中的第j个数;定义6、虚拟点:并不存在于实际轨迹数据集中的点,对于某一条轨迹相邻点之间形成的线段,从其中一点开始沿该线段每移动一段固定距离添加一个虚拟点,使得长短不同的线段对其所在区域点密度的影响相同。5.根据权利要求1所述的一种基于点密度分割轨迹实现轨迹数据发布k匿名的方法,其特征在于:在步骤4)中,将包含虚拟点的轨迹数据集模型T
virtual
视为一整个点集进行聚类,对生成的聚类中心进行编号,用标记数据集模型mark记录每个点所属的聚类中心的编号,包括以下步骤:4.1)将包含虚拟点的轨迹数据集模型T
virtual
视为一整个点集进行聚类,生成聚类中心,对聚类中心进行编号并且记录包含虚拟点的轨迹数据集模型T
virtual
中每个点对应的聚类中心的编号;4.2)遍历包含虚拟点的轨迹数据集模型T
virtual
,通过虚拟点标记数据集模型virtual判断是否为虚拟点,对于真实点,使用标记数据集模型mark记录所属聚类中心的编号;包含虚拟点的轨迹数据集模型T
virtual
,标记数据集模型mark的定义如下:定义7、包含虚拟点的轨迹数据集模型:T
virtual
=[trv1,trv2,trv3,...,trv
n
],其中trv
i
代表第i条轨迹的点集,其中i=1,2,3,

,n;trv
i
=[pv1,pv2,pv3,...,pv
m
],其中pv
j
代表轨迹trv
i
的第j个点,其中j=1,2,3,

,m;pv
j
=(pv
j
.X,pv
j
.Y)∈trv
i
,其中pv
j
.X、pv
j
.Y是轨迹trv
i
中点pv
j
的经度、纬度;定义8:标记数据集模型:mark=[mar1,mar2,mar3,...,mar
n
],其中mar
i
是包含虚拟点的轨迹数据集模型T
virtual
中第i条轨迹对应的虚拟点标记列表;mar
i
=[z1,z2,z3,...,z
m
],z
j
代表vir
i
中的第j个点;标记数据集模型mark与包含虚拟点的轨迹数据集模型T
virtual
存在位置上的...

【专利技术属性】
技术研发人员:徐红云杨丰源陆涛余宛书熊镔时浩南孙雨虹张紫怡
申请(专利权)人:华南理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1