手机用户的GSP轨迹数据分析_cb-smot算法-程序员宅基地

技术标签: 停留点  DBSCAN  用户轨迹分析  密度聚类  GPS  

       目前,手机已经成为我们生活的必需品。服务商可以很容易通过手机采集到我们日常生活的GPS轨迹数据,图1为用户GPS轨迹数据示例,其采集数据的时间间隔为5秒。直接观察这些数据,我们只能发现用户经过某些地点,却不能确定用户是否在这些地点停留过。

GPS数据示例

图1用户GPS轨迹数据示例

       那么,如何通过分析用户的GPS数据来确定他在哪些地方停留过呢?
解决这一问题用到的算法是CB-SMoT。该算法是密度聚类的一个改进。选择密度聚类是因为它可以发现任意形状的簇,这正符合用户的活动规律。
CB-SMoT算法判断用户在哪些地方停留过的依据有两点,一是用户在哪些地方的GPS点相对密集,二是用户在哪些地方的运动速度较慢。从大量点数据中寻找密集点正是密度聚类的功能所在。而CB-SMoT所定义的新邻域则是寻找速度较慢的点的。
       CB-SMoT算法其实是DBSCAN聚类算法的改进,它与DBSCAN的不同之处在于对邻域的定义不同。CB-SMoT对邻域定义如下:
这里写图片描述
       下面通过如图2来举例说明新邻域。对于O点邻域内的点,DBSCAN算法认为以O点为圆心、Eps为半径的圆内的点都在O点邻域内,由此可知,A、B、C、D、E、F、G这八个点都在O点邻域内;而CB-SMoT算法认为,当由O点两侧相邻的点组成的线段的长度之和小于等于Eps时,这些点才在O点的邻域内,由此可知,O点邻域的点只包含B、C、D、E四个,这是因为
BC+CO=48<Eps,OD+DE=48<Eps B C + C O = 48 < E p s , O D + D E = 48 < E p s

CB-SMoT的邻域

图2 CB-SMoT的邻域

       新邻域内相邻的点所组成的线段的长度之和,如图2,S=BC+CO+OD+DE实际上就是用户所走的路程。用户的GPS点是按照一定的时间间隔采集的。假设采集的时间间隔是5秒,由于图2中新邻域内共有5个点,所以此时用户的运动时间为t=25秒。用户在这一邻域的速度可以表示为S/t。S最大为2Eps,邻域内的点越多,则t越大,S/t越小,说明用户在这一区域的速度越慢,用户可能在此处停留。
参考文献
Palma A T, Bogorny V, Kuijpers B, et al. A clustering-based approach for discovering interesting places in trajectories[C]// ACM Symposium on Applied Computing. DBLP, 2008:863-868.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41228463/article/details/80231006

智能推荐

108、Windows下ESQL/C编程实例_esql编程-程序员宅基地

文章浏览阅读643次。前段时间编译ESQL/C程序都是在Linux平台下编译,回家没编译环境,只好尝试windows下的编译。数据库:Sybase Adaptive Server Enterprise 12.5 (ASE12.5)开发工具:vc6.0Sybase安装目录为E:\sybase设置环境变量:include、libinclude=%include%;E:\sybase\OCS-12_5\i_esql编程

Encryption/decryption system for USB storage devic-程序员宅基地

文章浏览阅读1.1k次。 Author : Rajesh Nath Introduction Plug-n-Play USB mass storage devices have become one of the biggest Information Security threats. USB Mass Storage Devices (MSD’s) can be used to carry out data in h

quartz集群分布式(并发)部署解决方案-Spring_quartz 任务锁 集群 并发-程序员宅基地

文章浏览阅读157次。quartz集群分布式(并发)部署解决方案-Spring_quartz 任务锁 集群 并发

(轉貼)《程序员》推荐C++ 图书三人谈 (C/C++)-程序员宅基地

文章浏览阅读93次。轉貼自http://bbs.cnitexam.com/simple/index.php?t22602.html主持人:熊节(透明),《程序员》杂志编辑,C-View成员嘉 宾:孟岩(梦魇),联想公司掌上设备事业部应用开发处任职,C-View成员。与侯捷先生合译了《C++ Standard Library》一书 金尹(恶魔),上海天宇公司CTO,在《程序员》连载有“自由与繁荣的国度..._c++中国人推荐

tebsorflow2.0 tf.keras猫狗识别(1)-程序员宅基地

文章浏览阅读848次。1. 简单介绍本文的应用场景是二分类问题,采用的数据集为猫狗分类数据集,为了减少训练时间,训练集图片有2123张,验证集有909 张图片,测试的图片有1000张,分为猫和狗两个类别,图片已经放置在dc_2000文件夹下面。2 加载图片2.1 导入相关包并加载图片# 导入相关包from google.colab import drivedrive.mount('/content/gdrive')import osos.chdir("/content/gdrive/My Drive/Colab

【硬见小百科】一文读懂PCB叠层设计_两层板层叠厚度设置-程序员宅基地

文章浏览阅读476次。总的来说叠层设计主要要遵从两个规矩:每个走线层都必须有一个邻近的参考层(电源或地层);邻近的主电源层和地层要保持最小间距,以提供较大的耦合电容;【硬见小百科】一文读懂PCB叠层设计下面列出从两层板到八层板的叠层来进行示例讲解:一、单面PCB板和双面PCB板的叠层对于两层板来说,由于板层数量少,已经不存在叠层的问题。控制EMI辐射主要从布线和布局来考虑;单层板和双层板的电磁..._两层板层叠厚度设置

随便推点

【蓝桥杯Web】第十三届蓝桥杯(Web 应用开发)第二次线上模拟赛_【蓝桥杯web】第十三届蓝桥杯(web 应用开发)第二次线上模拟赛小兔子爬楼梯-程序员宅基地

文章浏览阅读2.2k次,点赞9次,收藏35次。第十三届蓝桥杯全国软件和信息技术专业人才大赛(软件类)新开了Web应用开发比赛,已经组织了几次模拟赛和楼赛,这里主要记录模拟赛题目和设计的知识点,帮助参赛者更好的复习琐碎的知识点和代码,有写的不对的地方欢迎指教并讨论._【蓝桥杯web】第十三届蓝桥杯(web 应用开发)第二次线上模拟赛小兔子爬楼梯

十进制调整指令c语言,十进制调整指令-程序员宅基地

文章浏览阅读2.1k次。十进制调整指令对二进制运算结果进行十进制调整,以得到十进制的运算结果。十进制在计算机中也要用二进制表示,这就是十进制编码的十进制数: BCD 码。 8086 支持压缩的 BCD 码和非压缩的 BCD 码,相应的十进制调整指令分为压缩 BCD 码调整指令和非压缩 BCD 码调整指令。1 .压缩 BCD 码调整指令(1)加法的十进制调整指令 DAA 语句格式: DAA功能:如果 AL 寄存器中低 4 ..._十进制调整指令

charset参数 sqluldr2_sqluldr2安装-程序员宅基地

文章浏览阅读309次。主机环境:Redhat 6下载地址:http://www.onexsoft.com/zh/download安装步骤:64位安装包为:mysqluldr2linux64.zip解压:unzip mysqluldr2linux64.zip,解压后为mysqluldr2_linux64.bin将mysqluldr2_linux64.bin移到$ORACLE_HOME/bin目录下即可。常见参数如下:/s..._sqluldr2在哪下载

typora简单使用-程序员宅基地

文章浏览阅读262次。typora简单使用文章目录typora简单使用@[toc]一、笔记——方便把知识留在大脑里1、笔记的优点(优秀笔记的标准)2、优秀笔记的制作方法(1)工具选择二、标记语言1、[下载](https://www.typora.io/)(点击跳转)2、typora操作(主要是快捷键与语法操作,不涉及可视化菜单操作以及公式相关操作)(1)结构类操作①多级标题(分为六个级别)a、Markdown语法方式b、快捷键方式②有序列表a、Markdown语法方式b、添加或删除列表某一行或几行内容,序号会自动调整c、快捷

java异步接口转同步接口_如果今天设计了Java:同步接口-程序员宅基地

文章浏览阅读1.1k次。java异步接口转同步接口 Java已经走了很长一段路。 很长的路要走。 它带有早期设计决策中的所有“垃圾”。 一遍又一遍后悔的一件事是, 每个对象(可能)都包含一个监视器 。 几乎没有必要这样做,并且最终在Java 5中纠正了该缺陷,当时引入了新的并发API,例如java.util.concurrent.locks.Lock及其子类型。 从那时起,编写同步的并发代码变得比以前容易得多,当..._异步转同步接口

Mybatis的xml映射文件的常用标签含义解析使用$ 与 # 区别,delete,if,choose (when, otherwise),trim (where, set),foreach,bind_xml中的if and什么意思-程序员宅基地

文章浏览阅读1k次。sql– 可被其他语句引用的可重用语句块。 ;相当于 定义一个通用的sql,在xml文件的其他sql里进行引用;<sql id="valid"> where valid = 1 </sql><select id = 'queryUser'>select * from user <include refid = 'valid'></incl..._xml中的if and什么意思