没有合适的资源?快使用搜索试试~ 我知道了~
软件X 19(2022)101176原始软件出版物PTRAIL-用于并行轨迹数据预处理的Python包Salman Haidria,Yaksh J. Haranwalaa,Vania Bogornyc,Chiara Rensob,Vinicius Prado da Fonsecaa,Amilcar Soaresa,a圣 路 易 斯 纪 念 大 学 计算机科学系 。约翰船员楼,EN-2021,NL A1 B 3X 5,加拿大b科学和技术研究所A。Faedo,意大利国家研究委员会,意大利c巴西圣卡塔琳娜联邦大学ar t i cl e i nf o文章历史记录:2021年9月1日收到收到修订版,2022年3月16日接受,2022年保留字:轨迹预处理特征工程并行处理矢量化a b st ra ct轨迹数据表示随时间改变其在空间中的位置的对象的轨迹。这种数据的处理和分析是复杂的,因为它通常是大量产生的,往往容易产生错误的地理定位设备,人为处理不当,或区域覆盖范围的限制。因此,需要专门定制用于预处理轨迹数据的软件。 在这项工作中,我们提出了PTRAIL,一个Python包提供了几个轨迹预处理步骤,包括过滤,特征提取和插值。PTRAIL使用并行计算和向量化,适用于大型数据集,与其他python库相比速度更快©2022作者(S)。由爱思唯尔公司出版这是CC BY-NC-ND下的开放获取文章许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。当前代码版本v0.3Beta用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-21-00157Code Ocean compute capsule法律代码许可证BSD 3条款使用git的代码版本控制系统使用python、jupyter的软件代码语言、工具和服务编译要求,操作环境依赖性numpy,pandas,pandas,scikit-learn,hampel,scipy,psutil,folium,matplotlib,osmnx,shapely如果可用,链接到开发人员文档/手册http://ptrail.readthedocs.io/en/latest/index.html问题支持电子邮件amilcarsj@mun.ca1. 动机和意义处理和提取关于人、车辆、船只和动物运动的有意义的见解是当今学术和工业领域关注的焦点。移动对象的轨迹通常被称为轨迹,并且可以被非正式地定义为移动对象的地理位置的时间序列。轨迹数据通常包含由于设备故障、人为错误或连接问题而发生这种形式的数据不能直接用于在数据分析过程中提取有用的信息。此外,原始格式的轨迹数据(即,对象ID、地理位置和时间)可能不足以提取相关模式。处理*通讯作者。电子邮件地址:amilcarsj@mun.ca(Amilcar Soares).https://doi.org/10.1016/j.softx.2022.101176由于这种数据量通常很大,所以也希望并行的轨迹实际上,在处理轨迹数据时,需要自动化这些预处理步骤。我们称之为预处理的所有步骤,准备原始轨迹数据进行分析,其中一般包括过滤,插值和特征提取。目 前 , 许 多 Python 软 件 包 ( 例 如 , scikit-mobility [1] , 如PyMove [2],MovingPandas [3])可用于轨迹数据表示和操作。然而,它们都不专注于预处理轨迹数据,也不是为了最好地利用机器的可用处理资源而设计的。本文介绍了PTRAIL,一个专门为弹道数据预处理而设计的并行矢量化计算库。更具体地说,PTRAIL解决了在轨迹数据上执行的过滤、插值和特征提取弹道数据预处理是一项繁琐而耗时的工作.我们的目标是让研究人员使用2352-7110/©2022作者。由爱思唯尔公司出版。这是一篇开放获取的文章,使用CC BY-NC-ND许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxSalman Haidri,Yaksh J.Haranwala,Vania Bogorny等.软件X 19(2022)1011762我们的库可以最大限度地利用其资源轻松处理这些步骤,并轻松回答更高级别的研究问题,而无需编码和验证预处理步骤。PTRAIL功能及其核心已在我们小组的多个项目中使用,包括交通模式检测背景下的特征工程[4]、轨迹分类[5]、轨迹注释[6]和异常检测[7]。然而,并行化和向量化进程的想法是我们库当前版本的主要新颖之处PTRAIL的开发方式可以直接在Python 3环境中使用,并且可以使用pip install命令简单地安装。安装后,用户可以导入库中可用的几个功能,并使用文档作为使用它们的要求的参考。首先,用户应该从文件中读取轨迹数据,一个PTRAILDataFrame。一旦数据被正确加载和验证,所有库功能都将在数据上启用。此外,该库是开源的,因此可以通过分叉存储库来分发和修改为了用户的方便,代码PTRAIL的开发建立在最先进的库之上,这些库满足了其实施中的几个需求PTRAIL使用numpy [8]来存储数据集合,因为numpy 提 供 了一 系 列 比传 统 Python 列 表 更有 效 的 数学 函 数PTRAILDataFrame是pandas [9] DataFrame的扩展,并继承了其所有功能。并行化是使用python内置的多处理模块[ 10 ]完成的,它允许我们通过为加载为PTRAILDataFrame的每个轨迹启用并发和并行来在给定机器上使用多个我们还使用了mandas [11]和shapely [12]功能来从数据中提取特征我们还使用了[13]中提供的Hampel滤波器的实现,以及scipy [14]的一些功能。主要的一点是,在PTRAIL中,对来自Xampandas、shapely、Hampel过滤器和scipy的功能的处理是并行发生的。2. 软件描述PTRAIL提供了几个轨迹数据预处理步骤,包括时间,运动学和上下文特征提取,过滤和轨迹插值。在PTRAIL中,我们定义了节奏、运动和语义特征,如下所示。时间特征是指基于时间维度可以提取的特征。例如,星期几、小时等。运动学特征是指与对象的运动有关的那些特征,即,速度、加速度等。上下文特征描述与移动相关的上下文信息,并且通常通过移动发生的区域中的地理层可获得。示例是参观的兴趣点或天气状况。特征提取和过滤方法允许用户灵活地操纵原始数据以根据其应用需要收集信息。此外,并行和矢量化处理使得特征提取和过滤在计算上比当前最先进的轨迹处理库快得多。必须指出的是,只有当至少有100个轨迹可用时,才能进行并行处理。其主要原因是,使用我们的库进行的 并行化过程的 早期经验性实 验表明, 特征计算和DataFrame合并所需的时间更长,轨迹更少,而不仅仅是线性处理,没有2.1. 软件构架执行方法的整个过程在图中解释。1.一、首先,轨迹点作为PTRAILDataFrame的输入。加载有效文件后,所有功能都可用。作为PTRAILDataFrame加载的每个轨迹首先被矢量化,并且所应用的功能被并行执行。使用这种策略的早期实验表明,不会用巨大的矩阵(在加载大型轨迹数据集时预期)过载机器加工顺序如图所示。 1是处理轨迹数据的标准方法。对于每个功能,每个轨迹被加载为矩阵,并且所请求的功能被并行运行。由于过程是独立的,因此由用户2.2. 软件功能PTRAIL有多种功能可用于轨迹数据,以下小节将详细介绍这些功能2.2.1. 过滤处理任何原始数据的第一步是通过消除噪声和错误来清理它们在轨迹数据预处理流水线中,应用相同的步骤PTRAIL提供了hampel,运动学(即,速度等)。以及时间滤波器,用于从轨迹数据集中去除我们的库还提供了一些例程来删除重复的轨迹点,因为这在地理定位设备收集的一些原始数据中很常见。2.2.2. 插值清理数据后,通常的下一步是在数据不可用的区域中对其进行平滑。PTRAIL提供了在这些区域内插入数据的标准方法。我们从scipy包[14]中提供了线性和三次插值方法的parallelized版本。我们还提供了Kinematic [15]和Random Walk [16]策略的实现,这些策略被编码为向量并并行运行。2.2.3. 特征提取最后,在前两个步骤之后,用户能够从数据中提取轨迹特征。我们提供了一些时间特征提取方法,如从时间戳中提取日期,时间,星期几。当在特定时间分析移动对象的重复动作是必要的情况下分析轨迹时,这些特征是非常有用的,例如在城市中移动的人的轨迹。运动学特征对于理解和表征移动对象如何随时间移动是必不可少的。PTRAIL能够计算运动学特征,如行驶距离、速度、加速度、方位、轴承率等。最后,如果研究区域的地理层可用,则用户能够创建与这些层的运动相关的上下文特征。我们提供的功能,将创建移动对象的访问位置(内部几何),最近的兴趣点到一个给定的位置,功能,以检查轨迹是否位于内部几何形状或它们是否在一个内部相交也被提供作为PTRAIL的上下文特征。3. 说明性实例PTRAIL gitHub存储库目前包含许多解释其用法的示例。1在接下来的两节中,我们将展示两个使用PTRAIL的示例。并行化因此,我们将这个最小阈值100个轨迹来反映这些发现。第1https://github.com/YakshHaranwala/PTRAIL/tree/main/examplesSalman Haidri,Yaksh J.Haranwala,Vania Bogorny等.软件X 19(2022)1011763Fig. 1. PTRAIL管道从加载PTRAIL框架开始。之后,用户可以应用滤波器来去除噪声和/或通过插值来平滑数据。最后,可以从更高质量的数据集中提取特征最后,数据可以导出为通用格式,并与其他库一起使用3.1. 动物数据集图二、使用PTRAIL的示例。12)。我们决定使用单个轨迹,以避免示例其中一个带有代码片段和输出的示例如图所示。 2、在这里可用2我们在图中展示了一个代码片段。在图3中,我们加载一个轨迹数据集,牛、麋鹿和鹿从斯塔基项目的运动[17]。我们在第8-9行加载数据,通知纬度、经度、时间和轨迹id列。然后,我们得到一个带有麋鹿数据的单一轨迹,以通过我们的整个PTRAIL管道(线2 https://shorturl.at/bl259本文讨论首先,我们用两个连续点之间的距离创建一个运动学特征(第16行),因为这是应用汉佩尔滤波器所需要的(第17行)。之后,我们使用三次插值法对数据进行插值(第19-20行)。最后,我们使用包中所有可用的时间和运动学特征来丰富数据图2显示了使用某些功能后数据的逐步变化。图图2(A)示出了由Hampel滤波器检测到的异常值,图2(B)示出了由Hampel滤波器检测到的异常值。图2(B)示出了去除这些数据点的轨迹Salman Haidri,Yaksh J.Haranwala,Vania Bogorny等.软件X 19(2022)1011764图3.第三章。 将PTRAIL用于单个轨迹的代码片段。图四、基于PTRAIL 的船舶数据预处理流水线。图图2(C)示出了作为三次插值过程的结果的平滑轨迹。最后图图2(D)显示了麋鹿运动的方位分布的直方图。3.2. 船舶数据集PTRAIL使用的另一个例子 3 如图3 所示。 4中,我们使用PTRAIL创建了一个预处理数据的管道,并使用scikit-learn [18]库执行轨迹分类。本示例首先将PTRAIL的GitHub存储库中的ships之后,我们对数据集执行一个操作管道,如图所示。4使用scikit-learn [18]获得预测船舶类型的数据。首先,我们在船舶数据集上生成运动学特征(第7行)。接下来,我们使用基于连续点之间船舶的距离和速度的Hampel滤波器从数据集中去除离群值(第10-11行)。在去除离群值之后,我们执行三次插值来平滑轨迹并减少数据点中的跳跃(第14-15行接下来,我们生成以下运动学特征的统计数据:平均值、中位数、标准差、最小值、最大值、第10百分位数、第25百分位数、第75百分位数和第90百分位数。之后,我们将DataFrame旋转到每行包含一个轨迹示例,并删除NaN值以使其为分类任务做好准备最后,我们使用图1所示的模型进行分层重复k折交叉验证(5折,10次重复)。 五、我们使用F-score作为评分指标,3 https://shorturl.at/fhOQW数据不平衡。结果在图中可视化。5表明集成方法(随机森林,XGBoost和ExtraTrees)具有较高的中值f分数,也表明模型的整体稳定性和不存在高变异性4. 影响PTRAIL提供了一组功能,可以帮助需要处理轨迹数据的研究人员提取有关移动对象的信息。它能够并行处理噪声、数据缺失和具有新特征的数据丰富,这使得它成为处理大型轨迹数据集的方便库。清理从全球定位系统(GPS)和自动识别系统(AIS)设备等来源获得的原始轨迹数据是一项繁琐且耗时的任务。事实上,当数据中存在错误和/或数据不包含足够的特征以得到有趣的分析结果。此外,PTRAIL的预处理任务的并行化更具体地说,通过使用PTRAIL,研究人员可以专注于回答更高层次的研究问题,并专注于开发分析方法,将工作量限制在预处理步骤中。此外,我们指出,PTRAIL是组织在一个模块化的方式,以便它可以鼓励研究人员开发更复杂的预处理和语义丰富的方法,可以集成到图书馆。Salman Haidri,Yaksh J.Haranwala,Vania Bogorny等.软件X 19(2022)1011765图五、对使用PTRAIL 处理的数据进行重复交叉验证结果。自2021年8月发布测试版以来,根据PePy [19],PTRAIL的下载量超过了9,000次,并且由于该方法的通用性(我们的目标是可以通过GPS,AIS或其他定位设备收集的原始轨迹),我们预计使用范围会更广。此外,Python被移动数据分析社区广泛使用,因此该库可以轻松集成该领域可用的分析工具堆栈5. 结论PTRAIL是一个最先进的Python包,提供原始轨迹预处理任务,如过滤,插值和特征工程。该工具提供了将位置设备收集的原始数据(因此容易出错且带有噪声数据)转换为干净且随时可用的数据集的功能这反过来又使数据挖掘和机器学习方法(如聚类和分类)的应用成为此外,PTRAIL提供了高效率的计算速度与可靠和准确的结果相结合,由于复杂的,并行化和矢量化的计算。值得一提的是,PTRAIL可以被非专业用户适当地利用,这要归功于大量的使用示例以及文档化的代码。PTRAIL遵循高标准的编码和文档,使研究人员能够扩展和增强库的更新功能。最后,PTRAIL将帮助和减轻研究人员的负担,轨迹数据预处理与用户友好的环境在Python中的可预见的竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢我们要感谢纽芬兰纪念大学的科学本科研究奖(SURA)给予Yaksh和萨尔曼,这是必不可少的这个图书馆的发展学院。这项工作也得到了加拿大自然科学和工程研究委员会(NSERC)发现基金RGPIN-2022-03909的部分支持。引用[1]Pappalardo L,Simini F,Barlacchi G,Pellungrini R. Scikit-mobility:用于分 析 、 生 成 和 风 险 评 估 移 动 数 据 的 Python 库 。 2019 年 ,http://arxiv.org/abs/1907.07062[arXiv:1907.07062]。[2]格拉泽河Movingpandas:Python中用于移动数据的高效结构GI_论坛2019;7(1):54-68。http://dx.doi.org/10.1553/giscience2019_01_s54,URLhttps://www.austriaca.at/rootcollection? arp=0x003aba2b。[3]Sanches ADJAM. Uma arquitetura e implementação do módulo de pré-processamento para biblioteca pymove. 2019年,塞阿拉联邦大学。[4]EtemadM,Júnior AS,Matwin S.GPS交通方式预测使 用 特 征 工 程 和 噪 声 去 除 的 轨 迹 。 加 拿 大 人 工 智 能 会 议 ( CanadianConference on Artificial Intelligence)Springer; 2018,p. 259比64[5]Júnior AS,Renso C,Matwin S. Analytic:一个用于轨迹分类的主动学习系统。IEEE Comput Graph Appl2017;37(5):28-39.[6]Soares A,Rose J,Etemad M,Renso C,Matwin S. VISTA:一个用于轨迹语义注释的可视化分析平台。在:EDBT.2019年,第570-3[7]Abreu FH,Soares A,Paulovich FV,Matwin S.使用视觉分析进行海上交通中局部异常检测的轨迹评分工具。 ISPRSInt J Geo-Inf 2021;10(6):412.[8]哈里斯CR,米尔曼KJ,vander沃尔特SJ,戈默斯R,维尔塔宁山口,Cournapeau D等人,使用NumPy进行数组编程。Nature 2020;585(7825):357-62. http://dx.doi.org/10.1038/s41586-020-2649-2网站。[9] 熊 猫 开 发 团 队 T. Pandas-dev/pandas : Pandas. 2020 年 , http : //dx.doi.org/10.5281/zenodo.3509134,Zenodo.[10]多 重 处 理 。 2021 年 , https://docs.python.org/3/library/multiprocessing 。HTML. [2021年8月25日]。[11]Jordahl K,den Bossche JV,Fleischmann M,Wasserman J,McBride J,GerardJ,etal.Geopandas/Geopandas:v0.8.1.2020年,http://dx.doi.org/10。5281/zenodo.3946761,Zenodo.[12]Gillies S,et al. Shapely:操纵和分析几何对象。2007,toblerity.org,URLhttps://github.com/Toblerity/Shapely。[13]特罗菲库斯湾 Python中的Hampelfilter2021,PyPI,URLhttps://pypi.org/project/hampel/。[14]Virtanen P, Gommers R, Oliphant TE , Haberland M , Reddy T, et al.SciPy 1.0 : Fundamental algorithms for scientific computing in python.Nature Methods 2020;17:261-72. http://dx.doi.org/10.1038/s41592-019-0686-2网站。[15]龙JA。 运动数据的运动插值。 国际地 理 信 息 科 学 杂志2016;30(5):854-68。[16]张文辉,张文辉,张文辉.从A到B,随机:一个点对点的动物运动随机轨迹发生器。Int J Geogr InfSci2015;29(6):912-34.[17]智慧MJ斯塔基项目:一个综合的长期研究,麋鹿和黑尾鹿2005年,Alliance Communications Group,URLhttps://www.fs.fed.us/pnw/starkey/网站。[18]Pedregosa F , Varoquaux G, Gramfort A, Michel V, Thirion B, GriselO , et al. Scikit-learn : Machine learning in Python. J Mach LearnRes2011;12:2825-30.[19] PTRAIL pepy技术链接。2022年,https://pepy.tech/project/Ptrail。[访问152022年3月
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功