1.基于大规模轨迹数据的通用伴随模式分布式挖掘方法,其特征在于:包括以下步骤:一、建立轨迹数据集;
二、对轨迹数据集进行分布式聚类:通过DBSCANCD算法先进行密度聚类;
三、TCB算法以密度聚类结果作为输入,通过计算集合成员间的相似度,对边界点进行合理划分;
四、对轨迹数据集进行分布式挖掘:GSPR算法对通用伴随模式挖掘的输入进行分割和重划分,然后通过SAE算法进行挖掘;SAE算法使用多线程和前向闭包进行挖掘;
其中,DBSCANCD算法为:输入:轨迹数据集合Si,聚类半径ePs,最小簇的基数minPts,向量夹角阈值angle;
输出:聚类结果集cluster,边界点集BPSet;
(1)cluster←0, CI←1;
(2)CrDis←ePs/angle;
(3)for all sj in Si;
(4)if sj is not Visited;
(5)sj←Visited;
(6)C←CDAP(sj,Si);
(7)C′←C.filter(0≤distance≤ePs);
(8)if|C′|≥minPts;
(9)C′←C′‑sj;
(10)cluster(j)←CI;
(11)while|C′|≠0;
(12)e←C′.head;
(13)index←e.index;
(14)ife没被访问或是噪声点;
(15)cluster(e.index)←CI;
(16)W←CDAP(e,Si);
(17)W′←W.filter(0≤distance≤ePs);
(18)if|W′|≥minPts;
(19)C′←C′+W′;
(20)end if;
(21)end if;
(22)else;
(23)if cluster(index)≠C,0and e≠sj;
(24)BPSet←BPSet+e;
(25)end if;
(26)end else;
(27)C′←C′‑e;
(28)end while;
(29)CI←CI+1;
(30)end if;
(31)end if;
(32)end for;
(33)output(cluster,BPSet);
其中,第1~2行对聚类结果集、边界点集、CDAP的临界值和簇号进行了初始化;第6~7行根据定义5进行了两点间的CDAP距离计算,并根据ePs参数对计算结果进行筛选;第11~
27行对C′进行了广度优先遍历,找出与sj属于同一簇的所有对象;第18~19行将满足|W′|≥minPts的所有W′成员添加到C′,以更新C′;第22~24行得到了边界点e,并添加到BPSet集中;
定义5为:给定轨迹 k时刻Ta与Tb的 可表示为:
其中
分别表示轨迹Ta与Tb在k时刻x轴和y轴的欧式距离,其中σ为向量夹角阈值,0<σ<1,σ可根据城市道路的弯曲角度和城市道路岔路口角度两个因素确定;Tk(a,b)表示线段a与线段b在k时刻的夹角cos值; 表示k时刻的轨迹Ta与Tb;G表示两个连续段之间的最大时间间隔;
TCB算法为:
输入:所有快照下的聚类结果集CR,边界点集CP,最小簇的基数minPt;
输出:平衡聚类结果集CB;
1)S←0;
2)CB←CR;
3)if|CP|<1
4)output CB;
5)end if;
6)while CP!=0;
7)q←CP.head;
8)CP←CP‑q;
C
9)M←SBS(BP(q));
10)if M not all the same;
11)m←MSBS(M);
m
12)N←Set;
13)S←change q;
14)if qt‑1∈CP andqt‑1∈N;
15)S←change qt‑1;
16)CP←CP‑qt‑1;
17)end if;
18)if qt+1∈CP and qt+1∈N;
19)S←change qt+1;
20)CP←CP‑qt+1;
21)end if;
22)end if;
23)end while;
24)CB←update(CR,S);
25)W←CR.delete(|cluster(i)|<minPts);
26)for i in S;
27)if W.contain(S(i));
28)S←S‑s(i);
29)end for;
30)CB←update(CR,S);
31)output CB;
其中,第6~23行遍历了每一个边界点,根据计算结果对每一个边界点进行重新划分;
C
第9行获得了边界点q的边界点生成集BP (q),并且计算了边界点q的集合间相似度集SBSC
(BP (q));第11~13行取得了边界点q的最大集合间相似度MSBS(M),并获得了使MSBS(M)=m时的集合,最后对q进行了重划分;第14~20行对边界点q的相邻时刻进行了重划分;第24~30行根据重划分后的集合S更新了原始的聚类结果集CR,形成了最终聚类平衡集合CB;
边界点q的集合间相似度集的具体计算方法如下:其中
其中
C
BP (q)表示边界点q的边界点生成集; 表示边界点q在t时刻与簇号为ck的对象构成的集合; 表示边界点q在t时刻所形成的 集;
GSPR算法为:
输入:星型分区数据Star,G,M,K,L;
输出:相互独立的STG集STGS;
①for all Sr in Star;
②if|Sr.T|≥K;
③S←use G split(Sr.T);
④for all si in S;
⑤if|si|≥K;
⑥N←(Sr.O,si,label);
⑦end if;
⑧end for;
⑨end if;
⑩
end for;
for ni in N;
and ni没被访问;
W←ni;
for nj in N;
if nj没被访问and ni.label≠nj.label;
if|ni.T∩nj.T|≥K;
W←nj;
nj←is Visited;
end if;
end if;
end for;
end if;
if|W|≥M‑1;
STGS←W;
end if;
end for;
output STGS;
其中,第2行使用K对星型分区的每条长轨迹进行首次过滤;第3~9行首先使用参数G对长轨迹进行分割,并对分割后的各个分段使用K进行二次过滤,最后给每条长轨迹的每个分段添加相同的标记;第13~23行使用参数L和K进行剪枝,并得到了候选的子轨迹群W;第24~26行使用参数M对候选的子轨迹群W进行过滤,最终得到有效地子轨迹群并添加进STGS。
2.根据权利要求1所述的基于大规模轨迹数据的通用伴随模式分布式挖掘方法,其特征在于:步骤一后,先对数据预处理,然后进行步骤二。
3.根据权利要求2所述的基于大规模轨迹数据的通用伴随模式分布式挖掘方法,其特征在于:数据预处理包括:将运动对象的原始编号进行了重新编号,使编号连续并由1开始,同时使用固定频率对真实数据集进行处理,使用线性插值对缺失数据进行填充,同时剔除了小于固定频率的多余数据。