1.数据提取
从hive中提取AIS船只一周轨迹数据
2.数据预处理
提取AIS数据中的经纬度数据,考虑到每个船只在一周内行驶范围不一样,调惨时针对每个船只的超参数差别较大,于是使用0-1归一化将经纬度都缩减至0到1的范围,既可解决超参数问题,也可以加速算法收敛。
3.轨迹点聚类
使用DBSCAN算法对轨迹点进行密度聚类,将指定半径内密度不达到要求的数据点标记为异常点。
4.正常簇筛选
可能会出现如下情况:船只可能大部分时间在正常轨迹上,只有一天时间在异常轨迹,但异常轨迹的轨迹点密度较大,如绕圈行为,此时异常轨迹密度达到了正常轨迹,会将此类判断为正常轨迹。对于此类情况,计算聚类后每个正常簇的持续天数,将持续天数小于整体轨迹持续天数三分之一的标记为异常轨迹。
5.异常轨迹筛选
由于DBSCAN算法标记为异常点的数据不是一个簇,可能为分布在不同地方的异常点,这些异常点可能为正常轨迹的末端,即被误判为异常点,对于这类情况,对这些异常点再进行一次DBSCAN聚类,并计算每个簇的持续时长,将持续时长满足条件的异常点标记为正常点
点击空白处退出提示
评论