一种轨迹数据参数自适应的聚类方法与流程

    专利2022-07-08  113


    本发明涉及数据聚类算法领域,具体涉及一种轨迹数据参数自适应的聚类方法。



    背景技术:

    如今的数据热点聚类的算法,主要是使用一种dbscan算法,dbscan算法作为一种密度聚类被学者广泛的应用于数据的挖掘与分析中,该算法衡量其密度大小取决于单位超球里样本数量,不仅在聚类时可以聚类出不同形状的簇,而且可以探索出离群点。但dbscan算法在使用之前必须设置两个参数eps和minpts,这两个参数是根据自己的经验人工设定,而且聚类效果的好坏直接取决于设置参数的是否适用于自己的数据集,在不知数据规模和数据分布的境况下设置算法参数基本无依据可依。另外,dbscan算法本身只能处理小量数据,在大数据聚类上效果不佳。

    现有技术中,有的学者对dbscan算法进行了改进,其主要的思路为:初始化时设置minpts的值为常数4,然后算法运行观察eps的变化在此过程中优化minpts的值。虽然给了很好的一般性参数设定值,但是整个过程还是需要人工的干预。有的学者尝试引入了簇之间的链接信息来降低原始算法对参数的过分敏感性,但是也未成改变输入参数的问题。或者提出了一种逐渐细化的方法来完成聚类操作,在每次完成聚类时,算法自动的调整参数,但是其初始化参数还是需要指定。其中在学术届比较认可的是使用k-dist图的思想,首先对于每个样本进行k个最近距离排序,然后确定eps的值,但是minpts值的大小还需要指定。或者提出的i-dbscan算法分析数据的特征信息来完成对dbscan参数的优化,但是在大型的数据集中并不适合。或者提出使用非参数核密度方法去估计数据样本的分布特征从而确定参数值,但是其在运行过程中核密度函数会出现很多的峰值,在取样时导致参数设置不合适,聚类效果不理想。



    技术实现要素:

    针对现有dbscan聚类方法存在的问题,本发明提供了一种轨迹数据参数自适应的聚类方法。

    本发明采用以下的技术方案:

    一种轨迹数据参数自适应的聚类方法,包括以下步骤:

    步骤1:输入总的轨迹数据,设置参数t和α,其中,t为取数据的时间间隔,α为置信系数;

    步骤2:总的轨迹数据中每隔时间间隔t的数据构成一个数据块si,其中,s1代表第一个时间间隔t的数据块,s2代表第二个时间间隔t的数据块,以此类推;

    将s1和s2这两个数据块取交集,即s1∩s2,获得交集数据,交集数据存入交集单元;

    将s1和s2这两个数据块取并集,即s1∪s2,获得并集数据,并集数据存入并集单元;

    步骤3:利用交集单元中的数据获取置信区间,获取并集单元中落入置信区间的数据个数n,并集单元中总数据个数为n,判断n/n是否大于等于1-α,若不满足则执行步骤4;若满足则计算交集单元里的数据分布情况和并集单元里的数据分布情况,再计算分布散度;

    判断分布散度是否接近0,若满足则执行步骤5,若不满足则执行步骤4;

    步骤4:取下一个时间间隔t的数据块,将下一个时间间隔t的数据块与并集单元取交集,更新交集单元;

    将下一个时间间隔t的数据块与并集单元取并集,更新并集单元;

    返回步骤3;

    步骤5:将获得的交集单元中的数据作为样本点,根据样本点,计算dbscan算法要用的参数eps和minpts;

    步骤6:根据步骤5得到的eps和minpts,利用dbscan算法进行密度聚类,密度聚类后,返回步骤4,直至所有数据块遍历完成。

    优选地,利用交集单元中的数据获取置信区间的过程为:

    交集单元中的数据为{a1,……,ak},每个数据包括经度值xk和纬度值yk;

    则置信区间包括k个置信区间,分别为:

    第一置信区间[x1(1-α),x1(1 α)],[y1(1-α),y1(1 α)];

    ……

    第k置信区间[xk(1-α),xk(1 α)],[yk(1-α),yk(1 α)];

    并集单元中落入置信区间的数据个数的确定过程为:

    遍历并集单元中的所有数据,找出能够落入以上置信区间的数据的个数n。

    优选地,计算交集单元里的数据分布情况的公式为:

    其中,pj为数据aj在交集单元里的分布情况,代表交集单元里所有数据的均值,代表的是aj与的欧氏距离,∑k≠jd(aj,ak)代表aj与交集单元里除去aj本身的其它所有数据的欧氏距离的总和;

    计算并集单元里的数据分布情况为计算并集单元里与交集单元重合的那部分数据的分布情况,实际上就是交集单元的数据在并集单元里的分布情况;

    公式为:

    其中,qj为数据aj在并集单元里的分布情况,代表交集单元里所有数据的均值,m代表交集单元的数据总数,bm代表交集单元的所有数据,aj∈bm,代表的是aj与的欧氏距离,∑m≠jd(aj,bm)代表aj与并集单元里除去aj本身的其它所有数据的欧氏距离的总和;

    分布散度计算公式为:

    其中,d(p||q)代表分布散度。

    优选地,计算dbscan算法要用的参数eps的过程为:

    将数据的经度值设为x轴,纬度值设为y轴,样本点扩展为二维数据为(xk,yk),找到样本点中经度值的最大值xmax和最小值xmin,纬度值的最大值ymax和最小值xmin,构建最大值点(xmax,ymax),最小值点(xmin,ymin),则最大值点与最小值点的距离为l;

    其中,k为样本点的个数;

    计算minpts的过程为:

    将k个样本点的经度和维度映射为矩阵,上式计算的eps取整为h,以h*h的窗口为大小,以1*1的步长进行滑动,计算出窗口中最多的点的个数与最少的点个数取均值就为minpts的值。

    本发明具有的有益效果是:

    一种轨迹数据参数自适应的聚类方法,根据时间维度取数据中的交集的部分作为将要处理的样本点,引入置信区间和分布散度为评价标准,保证了样本点数据的有效性和准确性,从而减少了处理数据量,解决了dbscan聚类方法本身只能处理小量数据的缺点。

    利用交集的数据引入一种点密度的度量的方法解决eps值设定问题,并根据滑动窗口的方式找出单位最大样本个数与单位最小样本个数,取其均值的操作来作为minpts的设置值,解决了现有技术中只能根据经验人工设定,导致的聚类效果不理想的问题。通过在手机信令数据上验证,与现有的dbscan聚类方法做对比实验,与热力图做参照实验,证明了本发明在一定程度上具有优越性和正确性。

    附图说明

    图1为利用现有的dbscan聚类方法对手机信令数据聚类后的示意图。

    图2为利用现有的dbscan聚类方法对手机信令数据聚类后的热力图

    图3为本发明的轨迹数据参数自适应的聚类方法对手机信令数据聚类后示意图。

    具体实施方式

    下面结合附图和具体实施例对本发明的具体实施方式做进一步说明:

    实施例1

    结合图1至图3,通过对手机信令生成的轨迹数据进行分析,得到交通分布特征,能为城市智能规划和城市管理提供有价值的参考。

    利用本发明的方法进行手机信令生成的轨迹数据进行聚类的方法为:

    一种轨迹数据参数自适应的聚类方法,包括以下步骤:

    步骤1:输入总的轨迹数据,设置参数t和α,其中,t为取数据的时间间隔,α为置信系数。

    t的设置可以根据时间序列的数据定位间隔时间的倍数来取,比如数据点间的定位间隔为10s,则可以设置t为多个定位间隔。a的取值为大于0且小于0.5。

    在本实施例中,设定t为10分钟,α为0.2。

    步骤2:总的轨迹数据中每隔时间间隔t的数据构成一个数据块si,其中,s1代表第一个时间间隔t的数据块,s2代表第二个时间间隔t的数据块,以此类推。

    将s1和s2这两个数据块取交集,即s1∩s2,获得交集数据,交集数据存入交集单元。

    将s1和s2这两个数据块取并集,即s1∪s2,获得并集数据,并集数据存入并集单元。

    步骤3:利用交集单元中的数据获取置信区间,获取并集单元中落入置信区间的数据个数n,并集单元中总数据个数为n,判断n/n是否大于等于1-α,若不满足则执行步骤4;若满足则计算交集单元里的数据分布情况和并集单元里的数据分布情况,再计算分布散度;

    判断分布散度是否接近0,若满足则执行步骤5,若不满足则执行步骤4。

    步骤4:取下一个时间间隔t的数据块,将下一个时间间隔t的数据块与并集单元取交集,更新交集单元;

    将下一个时间间隔t的数据块与并集单元取并集,更新并集单元;

    返回步骤3。

    步骤5:将获得的交集单元中的数据作为样本点,根据样本点,计算dbscan算法要用的参数eps和minpts。

    计算dbscan算法要用的参数eps的过程为:

    将数据的经度值设为x轴,纬度值设为y轴,样本点扩展为二维数据为(xk,yk),找到样本点中经度值的最大值xmax和最小值xmin,纬度值的最大值ymax和最小值xmin,构建最大值点(xmax,ymax),最小值点(xmin,ymin),则最大值点与最小值点的距离为l;

    其中,k为样本点的个数;

    计算minpts的过程为:

    将k个样本点的经度和维度映射为矩阵,上式计算的eps取整为h,以h*h的窗口为大小,以1*1的步长进行滑动,计算出窗口中最多的点的个数与最少的点个数取均值就为minpts的值。

    本实施例中,计算出eps为0.18441667,minpts为9。

    步骤6:根据步骤5得到的eps和minpts,利用dbscan算法进行密度聚类,密度聚类后,返回步骤4,直至所有数据块遍历完成。

    上述步骤3中:

    利用交集单元中的数据获取置信区间的过程为:

    交集单元中的数据为{a1,……,ak},每个数据包括经度值xk和纬度值yk;

    则置信区间包括k个置信区间,分别为:

    第一置信区间[x1(1-α),x1(1 α)],[y1(1-α),y1(1 α)];

    ……

    第k置信区间[xk(1-α),xk(1 α)],[yk(1-α),yk(1 α)];

    并集单元中落入置信区间的数据个数的确定过程为:

    遍历并集单元中的所有数据,找出能够落入以上置信区间的数据的个数n。

    计算交集单元里的数据分布情况的公式为:

    其中,pj为数据aj在交集单元里的分布情况,代表交集单元里所有数据的均值,代表的是aj与的欧氏距离,∑k≠jd(aj,ak)代表aj与交集单元里除去aj本身的其它所有数据的欧氏距离的总和;

    计算并集单元里的数据分布情况为计算并集单元里与交集单元重合的那部分数据的分布情况,实际上就是交集单元的数据在并集单元里的分布情况;

    公式为:

    其中,qj为数据aj在并集单元里的分布情况,代表交集单元里所有数据的均值,m代表交集单元的数据总数,bm代表交集单元的所有数据,aj∈bm,代表的是aj与的欧氏距离,∑m≠jd(aj,bm)代表aj与并集单元里除去aj本身的其它所有数据的欧氏距离的总和;

    分布散度计算公式为:

    其中,d(p||q)代表分布散度。

    当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。


    技术特征:

    1.一种轨迹数据参数自适应的聚类方法,其特征在于,包括以下步骤:

    步骤1:输入总的轨迹数据,设置参数t和α,其中,t为取数据的时间间隔,α为置信系数;

    步骤2:总的轨迹数据中每隔时间间隔t的数据构成一个数据块si,其中,s1代表第一个时间间隔t的数据块,s2代表第二个时间间隔t的数据块,以此类推;

    将s1和s2这两个数据块取交集,即s1∩s2,获得交集数据,交集数据存入交集单元;

    将s1和s2这两个数据块取并集,即s1∪s2,获得并集数据,并集数据存入并集单元;

    步骤3:利用交集单元中的数据获取置信区间,获取并集单元中落入置信区间的数据个数n,并集单元中总数据个数为n,判断n/n是否大于等于1-α,若不满足则执行步骤4;若满足则计算交集单元里的数据分布情况和并集单元里的数据分布情况,再计算分布散度;

    判断分布散度是否接近0,若满足则执行步骤5,若不满足则执行步骤4;

    步骤4:取下一个时间间隔t的数据块,将下一个时间间隔t的数据块与并集单元取交集,更新交集单元;

    将下一个时间间隔t的数据块与并集单元取并集,更新并集单元;

    返回步骤3;

    步骤5:将获得的交集单元中的数据作为样本点,根据样本点,计算dbscan算法要用的参数eps和minpts;

    步骤6:根据步骤5得到的eps和minpts,利用dbscan算法进行密度聚类,密度聚类后,返回步骤4,直至所有数据块遍历完成。

    2.根据权利要求1所述的一种轨迹数据参数自适应的聚类方法,其特征在于,利用交集单元中的数据获取置信区间的过程为:

    交集单元中的数据为{a1,……,ak},每个数据包括经度值xk和纬度值yk;

    则置信区间包括k个置信区间,分别为:

    第一置信区间[x1(1-α),x1(1 α)],[y1(1-α),y1(1 α)];

    ……

    第k置信区间[xk(1-α),xk(1 α)],[yk(1-α),yk(1 α)];

    并集单元中落入置信区间的数据个数的确定过程为:

    遍历并集单元中的所有数据,找出能够落入以上置信区间的数据的个数n。

    3.根据权利要求2所述的一种轨迹数据参数自适应的聚类方法,其特征在于,计算交集单元里的数据分布情况的公式为:

    其中,pj为数据aj在交集单元里的分布情况,代表交集单元里所有数据的均值,代表的是aj与的欧氏距离,∑k≠jd(aj,ak)代表aj与交集单元里除去aj本身的其它所有数据的欧氏距离的总和;

    计算并集单元里的数据分布情况为计算并集单元里与交集单元重合的那部分数据的分布情况,实际上就是交集单元的数据在并集单元里的分布情况;

    公式为:

    其中,qj为数据aj在并集单元里的分布情况,代表交集单元里所有数据的均值,m代表交集单元的数据总数,bm代表交集单元的所有数据,aj∈bm,代表的是aj与的欧氏距离,∑m≠jd(aj,bm)代表aj与并集单元里除去aj本身的其它所有数据的欧氏距离的总和;

    分布散度计算公式为:

    其中,d(p||q)代表分布散度。

    4.根据权利要求2所述的一种轨迹数据参数自适应的聚类方法,其特征在于,计算dbscan算法要用的参数eps的过程为:

    将数据的经度值设为x轴,纬度值设为y轴,样本点扩展为二维数据为(xk,yk),找到样本点中经度值的最大值xmax和最小值xmin,纬度值的最大值ymax和最小值xmin,构建最大值点(xmax,ymax),最小值点(xmin,ymin),则最大值点与最小值点的距离为l;

    其中,k为样本点的个数;

    计算minpts的过程为:

    将k个样本点的经度和维度映射为矩阵,上式计算的eps取整为h,以h*h的窗口为大小,以1*1的步长进行滑动,计算出窗口中最多的点的个数与最少的点个数取均值就为minpts的值。

    技术总结
    本发明公开了一种轨迹数据参数自适应的聚类方法,首先设置参数T和α,再根据时间维度取数据中的交集的部分作为将要处理的样本点,引入置信区间和分布散度为评价标准,保证了样本点数据的有效性和准确性,从而减少了处理数据量。之后,利用交集的数据引入一种点密度的度量的方法解决eps值设定问题,并根据滑动窗口的方式找出单位最大样本个数与单位最小样本个数,取其均值的操作来作为MinPts的设置值。本发明提供的轨迹数据参数自适应的聚类方法不仅解决了DBSCAN聚类算法本身只能处理小量数据的缺点,还能自适应的设定DBSCAN聚类算法中的eps和MinPts值,解决现有技术中只能根据经验人工设定,导致的聚类效果不理想的问题。

    技术研发人员:徐文进
    受保护的技术使用者:青岛科技大学
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-18974.html

    最新回复(0)