<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Outlier Detection and Cleaning in Trajectories: A Benchmark of Existing Tools</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mariana M G Duarte</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mahmoud Sakr</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ain Shams University</institution>
          ,
          <addr-line>Cairo</addr-line>
          ,
          <country country="EG">Egypt</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Université Libre de Bruxelles</institution>
          ,
          <addr-line>Brussels</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Outliers can afect trajectory analysis as they represent errors. There are two outlier detection categories, one focusing on a collection of trajectories, where one whole trajectory can be an outlier and another on points inside individual trajectories. In this paper, we focus on the latter. We benchmark existing open-source libraries and compare their eficiency and accuracy in cleaning outliers. To compare the accuracy, we present a method to build ground truth using the other sensor data in a multi-sensor environment.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Outlier Detection</kwd>
        <kwd>Trajectory cleaning</kwd>
        <kwd>Trajectory Preprocessing</kwd>
        <kwd>Benchmark</kwd>
        <kwd>Programming Libraries</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Outlier or noise detection is an essential step in trajectory
cleaning, as it helps to identify points in the data that
deviate significantly from the expected pattern.
Moving object trajectory data comes with many outliers due
to sensor and connectivity problems. Outliers in
trajectory data can lead to misleading analysis results and
inaccurate decision-making, which can have significant
consequences for businesses, governments, and
individuals. This type of data problem afects the accuracy of
analytic functions, e.g., trajectory similarity [1, 2]. As
such, outlier mining is an essential function in mobility
data management systems [3, 4].</p>
      <p>There are two outlier detection categories, one
focusing on a collection of trajectories, where a trajectory can
be an outlier and another on points inside individual
trajectories. In this paper, we focus on the latter.</p>
      <p>We benchmark open-source libraries and compare
their eficiency and accuracy in detecting and cleaning
outliers. The main contributions of this work are:
• A automated method for generating ground truth
in multi-sensor data.
• A benchmark of libraries, including movetk [5],
movingpandas[6], scikit-mobility[7], Ptrail [8],
PyMove [9], Argosfilter[ 10] and Stmove [11]
focusing on outlier detection. The benchmark
considers the user perspective. That is, the context is
to compare the ofering of the existing libraries
for end users rather than comparing their
algorithms and implementation aspects.</p>
      <sec id="sec-1-1">
        <title>Outline. The rest of the paper is structured as follows.</title>
        <p>In Section 2 we present essential concepts for outlier
detection. Section 3 surveys the state of art. A benchmark
using real data is the subject of Section 4. In Section 5,
we discuss our findings and we conclude.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Outlier Detection</title>
      <sec id="sec-2-1">
        <title>There are a variety of outlier detection techniques. In [12], the authors divide the methods into three categories: mean/median, Kalman and Particle Filters, and, Heuristics-Based Outlier Detection.</title>
        <p>Distance-based algorithms compare each point in
the trajectory to its neighbors and select the points that
are significantly further away than expected. Methods
based on the mean or Median Filters replace points
compared to the measurements done at preceding points in
time. These algorithms are simple and practical for
detecting single outliers. Nonetheless, these techniques
depend on the number of predecessors compared to the
mean. Multiple successive outlier points can afect the
accuracy of the outcome trajectory. These algorithms are
not always efective at detecting multiple successive
outlier points, which can afect the accuracy of the output
trajectory. More advanced algorithms or methods may
be needed to detect and correct outliers in these cases.
authors mention the advantages of the KF and its deriva- is so any subtrajectory. In opposition, it is not necessarily
tives is its recursive aspect, which can be used in real- possible to construct a trajectory from the concatenation
time. It is also widely used due to its simplicity and of two consistent subtrajectories: the concatenation 〈p1,
capability to provide accurate estimations and prediction . . . , pn = q1, . . . , qm〉 of two consistent subsequences T
results. = 〈p1, . . . , pn 〉 and U = 〈q1, . . . , qm〉 with pn = q1 is</p>
        <p>Particle filters (PF) uses a set of randomly generated not necessarily consistent. Joining these subtrajectories
particles to represent the possible states of the system and can reproduce inconsistent points—especially when
conupdate the particles based on observed data. In contrast sidering an acceleration-bound model. The speed of two
to KF, they are not restricted to Gaussian distribution of points can infer two accelerations for the same position.
errors, which makes them applicable in a wider range The model is called concatenable if it is possible to join
of noisy data. PF can however be computationally inten- both sub-trajectories respecting the bounds.
sive, and thus not commonly implemented in trajectory In the next Session, we relate each of these methods
libraries. Additionally, like KF, PF are sensitive to the to state-of-the-art libraries.
ifrst measurement in the trajectory, and their accuracy
can be reduced if the first point is an anomaly[ 12, 14, 15].</p>
        <p>The Hampel Filter (HF) detects and replaces outliers 3. State of Technology
in trajectories with estimates via the Hampel identifier.</p>
        <p>The HF expresses a conventional heuristic that almost all
values lie within three standard deviations of the mean.</p>
        <p>For each trajectory, the method calculates the median of
a sliding window and adjacent points on each side of the
trajectory. The HF estimates the standard deviation of
each point about its window median using the median
absolute deviation. If a measurement difers from the
median by more than the threshold, the filter replaces
the sample with the median.</p>
        <p>Finally, heuristic-based techniques focus more on
detection, rather than correction. For instance, [12] does
not replace outlier points with estimated values, but
instead removes them from the trajectory. Common
heuristics are based on the speed. The idea is that if
the speed/speed change rate is significantly higher than
a given threshold and a proportion of the points in the
entire trajectory, the point is removed. This approach has
the advantage of not introducing any estimated values
into the trajectory, but it can lead to significant data loss.</p>
        <p>In [5], a new method category based on physical
movement properties is introduced, such as speed (Optimal
Speed-bounded) and acceleration (Optimal
Accelerationbounded). This method defines limits on the minimum
and maximum allowed values for these properties, and
uses them to determine whether a point in the trajectory
is consistent with the model. The limits are minimum
v- and maximum speed v+, minimum a-, and maximum
acceleration a+. It follows the definition that from one
point to its successor, there should always be inside [v,
v+] and [a, a+]. In addition, a trajectory T = 〈p1, . . . , pn
〉 is consistent with the model if and only if there exists
at least one point in a path such that the measurement
coincides with the point and the speed and acceleration
are inside speed and acceleration bounds. The method
deifnes a reachable region as a cone, i.e. given the physical
boundaries, it is possible to reach the cone from point pi
to pi+1. Additionally, If a trajectory T is consistent, then</p>
      </sec>
      <sec id="sec-2-2">
        <title>In this section of the paper, we will benchmark the available libraries that ofer trajectory outlier detection and correction. We also highlight the algorithms and methods used by each library.</title>
        <p>MovingPandas1 [6] is a Phyton library for trajectories
of moving objects. Data can be represented in Pandas
[16], GeoPandas [17], HoloViz [18], CSV, GIS file formats,
JSON, and geoJSON. MovingPandas implements
structures for movement data in Python for interaction and
analysis of movement. This library has many trajectory
manipulation functions. Focusing on the outlier
detection, this library implements KF. For outlier detection,
MovingPandas uses the KF algorithm, which is
implemented using the Stone Soup software [19].</p>
        <p>Scikit-mobility2 [7] is a Python library. It extends
Pandas [16]. Scikit-mobility ofers functions for
prepossessing and cleaning trajectory and analysis. The library
chosen method for outlier detection is heuristic filtering,
based on the speed and a given threshold. This approach
can be efective for identifying points in the trajectory
that deviate significantly from the expected pattern but
may not be as accurate as other methods that use
estimation to deal with outlier points.</p>
        <p>Ptrail 3 [8]is a Python package that uses parallel
computation and vectorization, making it suitable for large
datasets. It ofers several preprocessing steps, such as
feature extraction, filtering, interpolation and outlier
detection. Ptrail removes outliers using a Hampel filter [ 20]
based on the distance and speed of the ships between
consecutive points. For each trajectory, the method
calculates the median of a sliding window and adjacent
points on each side of the trajectory. The HF also
estimates the standard deviation of each point about its
window median using the median absolute deviation. If
a measurement difers from the median by more than the</p>
      </sec>
      <sec id="sec-2-3">
        <title>1https://github.com/anitagraser/movingpandas-examples</title>
        <p>2https://github.com/scikit-mobility/scikit-mobility
3https://github.com/YakshHaranwala/PTRAIL
threshold multiplied by the standard deviation, the filter described in the paper [22]. This method uses a set of
replaces the sample with the median. spatial constraints, such as a minimum distance between</p>
        <p>PyMove 4 [9, 21] is a Python library. It ofers a range two points or a maximum distance from a reference point
of operations for data preprocessing and pattern mining. to identify and remove outliers from a trajectory.
PyMove also provides tools for data visualization, allow- Stmove7 [11] is an R package library. It provides
coning users to explore and understand their data through struction functions, filter, and outlier detection functions.
various techniques and channels. PyMove detects outlier For the outlier filter, the KF is applied.
points considering the distance traveled, minimum and In the next Session, we present experiments performed
maximum speed. in the libraries presented above.</p>
        <p>Movetk5 [5] is C++ library. It ofers tools for
constructing, cleaning and analyzing trajectory data. One of the
key features of Movetk is its implementation of the Opti- 4. Experiments
mal Speed-bounded and Optimal Acceleration-bounded
algorithms for outlier detection. Movetk implements a In this Section, we present our method for constructing
series of outlier detection methods based on Optimal ground truth in Subsection 4.1. We present an analysis
Speed-bounded algorithm and the Optimal Acceleration- of the benchmark results in Subsection 4.2.
bounded algorithm. This can help to identify potential
outlier points and can provide a more accurate and reli- 4.1. Constructing Ground-truth
able way of detecting anomalies in the data. In addition Constructing a ground-truth for trajectory data analysis
to these algorithms, movetk implements a range of other is a task that presents several challenges. The dificulties
methods for outlier detection, including greedy and smart include the cost, accuracy, and scale of the ground-truth
greedy approaches. These methods build on the basic data that is required. Additionally, cleaning the data to
speed and acceleration-bounded algorithms and incor- remove errors and noise can be time-consuming and may
porate additional strategies and techniques to improve not always produce reliable results.
their performance and accuracy. For the greedy approach, We present a method that can be applied to the data
movetk greedily builds a consistent subsequence by test- originating from multi-sensor tracking technologies. Our
ing if the new mesurament is consistent with the last in proposed method ofers a diferent approach to
tradithe subsequence under the speed-bounded model (GSB) tional methods for constructing ground-truth, such as
or acceleration-bounded model (GAB). In addition, the manual annotation or data cleaning techniques like those
authors implement a Smart Greedy Speed/Acceleration- described in [23, 24, 25]. It also allows for data
integrabounded methods (SGSB/SGAB). With SGSB and SGAB, tion from multiple sensors, increasing the overall
accumultiple subsequences are tracked simultaneously. The racy of the ground-truth. The Algorithm compares the
next mesurament is added to all subsequeces that end in a calculated speed and bearing with the recorded values
consistent measurement; if there is no such subsequence, present in the data. The input consist of speed and
heada new subsequence starting with the measurement is ing thresholds (tS and tH) and the file path. In line 6,
created. In the end, the longest subsequence is returned. for each point in the file, firstly, we check if the IDs are
Also, as a baseline, the library implements their interpre- the same, i.e. the points belong to the same trajectory.
tation of the method described in [12] as Local Greedy Secondly, we calculate speed and bearing between the
Speed-bounded (LGSB). In LGSB, a graph is constructed point and its successor. Later, we compare the newly
with a vertex per measurement. Two vertices are con- calculate speed and bearing with the files’ input in line
nected if their timestamps are successive in the original 11. If the diference in speed or heading are bigger than
trajectory and they are consistent to the speed-bound. the inputted thresholds, the point is considered an outlier
A measurement is added to the output, if and only if its and added to the output array.
vertex is in a connected component of a given size. LGSB Our method involves cross-referencing the data from
does not guarantee that the complete output is consistent multiple sensors in order to generate a more accurate
repaccording to the speed bound [12]. resentation of the true trajectory. We apply this method</p>
        <p>Argosfilter 6 [10] is an R package that ofers a set of in data from modern multi-sensor trackings, such as GPS,
functions for working with trajectory data. The outlier AIS, ADS-B, Mode S, TCAS and FLARM sensors. By
comdetection in Argosfilter uses two diferent methods: one bining the data from multiple sources, we can increase
based on speed and the other based on location. The the overall accuracy of the ground-truth in the presence
speed-based method is similar to the one provided in [12], of errors or noise in individual sensors. When comparing
but the location-based method is based on the algorithm data from diferent sources, we can diferentiate the data
to see if there are any discrepancies or inconsistencies</p>
      </sec>
      <sec id="sec-2-4">
        <title>4https://github.com/InsightLab/PyMove</title>
        <p>5https://github.com/movetk/movetk
6https://cran.r-project.org/web/packages/argosfilter/argosfilter.pdf</p>
      </sec>
      <sec id="sec-2-5">
        <title>7https://tinyurl.com/stmove</title>
      </sec>
      <sec id="sec-2-6">
        <title>Algorithm 1: Ground-truth</title>
        <p>between multiple sources, such as diferent sensors or
instruments. In addition, statistical tests can determine
whether the data is consistent with a particular
hypothesis or model. For example, we can check the calculated
speed with the speed given in the data.</p>
        <p>Our datasets for this benchmark consist of
multisensor trajectory data. The first source is AIS data 8: AIS
is the location tracking system for sea vessels.
Additionally, the AIS data is collected from a variety of diferent
ships, providing a diverse set of trajectories to work with.
This can be useful for testing the robustness of diferent
algorithms and methods, and for evaluating their
performance on diferent types of data. In this paper, we utilize
total of 4.3 GB. The Fig. 1 shows the raw data and Fig. 2
shows filtering of outliers.</p>
        <p>The raw data collected in the OpenSky Network 9 is
stored in a historical database and used by researchers
to study and improve air trafic control technologies and
processes. The Fig. 3 shows the raw data.</p>
        <p>We utilize two datasets from [26] 10 consists of GPS
trajectory datasets of Southeast Asia from Singapore and
Jakarta. Grab-Posisi covers over 1 million kilometers and
contains more than 88 million points. The Images 4 and
5 show the raw data.</p>
        <p>Table 1 shows the total number of records, as well as
the number of outliers detected in the cross-check, the
correct points, i.e., points that are not considered outliers,
and the percentage of outliers over total points. The
cross-check method was used to detect the outliers.</p>
        <p>OpenSky data does not have a significant amount of
outliers. One possible reason for the low number of
outliers in the OpenSky data could be the accuracy of the
sensors used to collect the data. If the sensors are highly
accurate, there may be fewer errors or discrepancies in
the data, resulting in fewer outliers. Additionally, it is
pos</p>
      </sec>
      <sec id="sec-2-7">
        <title>8https://dma.dk/safety-at-sea/navigational-information/ais-data 9https://opensky-network.org 10https://engineering.grab.com/grab-posisi</title>
        <p>sible that the data has been adjusted or corrected in some
way to account for any errors or noise, further reducing
the number of outliers. It is also worth considering the
nature of the data itself.
to use 3D data or incorporate altitude data in some cases
to analyze flight patterns accurately.
4.2. Benchmark Fig. 6 relates the run time of libraries. The top left
The benchmark was run in seven libraries composed by graph corresponds to Jakarta datasets, divided by each
Ptrail, MovingPandas, Scikit-Mobility,Pymove, Stmove, file part 0, 1, 2, and 3. The top right graph represents
Argosfilter and MoveTk. These were described in Session the Singapore dataset and corresponding files. OpenSky
3. Fig. 6. The data used in the benchmark was decribed in dataset run time is at the bottom left and AIS is at the
botSession 4.1. The benchmark code is publicly available11. tom right. It is possible to see that the first four libraries,</p>
        <p>The European aviation industry [27] developed meth- i.e., Ptrail, Moving Pandas, Scikit Mobility and Pymove
ods to reduce carbon emissions to meet climate targets. takes the longest to finish as they are implemented in
An aircraft can fly an optimal flight path and use var- Python. For Jakarta and Singapore datasets, Pymove
ious technologies and infrastructure to minimize fuel presents the highest run time in the biggest datasets.
consumption and carbon emissions. This might include Both R libraries have similar performance. Also, C++ has
using modern flight planning software and meteorolog- a similar performance to the R libraries.
ical data to plan for a minimal amount of fuel, using For the OpenSky dataset, Pymove and Moving Pandas
green energy at the airport to power the aircraft on the have similar performance in terms of run time, while
ground, and using electric taxi solutions to minimize MoveTk is slightly faster but has similar performance to
ground-based emissions. The aircraft would also fly an Stmove and argosfilter.
optimal climb phase, follow a fuel-eficient cruising level, The AIS data exhibits an exception in the run time of
and use idle thrust descent to minimize fuel consumption MoveTk, which may be due to the implemented process
during descent, i.e., the aircraft should change its altitude of reading the data. Its performance is comparable to that
as rarely as possible. Due to this standard, we consider of Pymove. The run time of the various libraries varies
the OpenSky dataset with only 2D rather than 3D data. depending on the dataset being used and the specific
However, it is important to note that the assumption may implementation of the library. It is important to consider
not hold true in all circumstances. It may be necessary the run time of the diferent options when selecting a
library for detecting and erasing trajectory data.
11https://github.com/marianaGarcez/OutlierDetectionLibraries Fig. 8 and 9 illustrate the run time for the Python and
Pandas, Stmove, argosfilters, and MoveTk have a
consistent amount of removal. For the AIS dataset, all libraries
seem consistent in the number of points removed, with
the exception of Pymove, which removes a larger
number of points. It is important to note that the number
of removed points does not necessarily imply accuracy
or precision. It is necessary to compare the actual
outlier and normal points with the resulting trajectories in
order to fully assess the accuracy and reliability of the
trajectories cleaned by each library.</p>
        <p>In order to analyze results, we utilize scores to compare
the performance of the diferent libraries. Fig. 10, 11, 12,
Figure 8: Run time for Python Libraries 13 show the Accuracy, precision, recall and F-1 scores
of each library, respectively. The scores are based on
comparison to the cross-check data and libraries output.</p>
        <p>Fig. 10 shows the accuracy of each library. It is
possible to observe that over all datasets, Movetk has the
highest accuracy. For Jakarta dataset, Moving Pandas
accuracy is comparable to MoveTk. As second, we
observe Ptrail, argosfilter and Pymove. Scikit Mobility, has
the lowest accurarcy in this dataset. For the Singapore
dataset, Moving Pandas also has comparable accuracy
to MoveTk. Libraries Scikit Mobility, Pymove, StMove,
argosfilter have a comparable performance. Ptrail has the
Figure 9: Run time for R libraries lowest accurarcy in this dataset. For OpenSky data, both
argosfilter and Movetk have the highest accuracy. All
other libraries have a comparable performance. With the
R programming languages, respectively. For the Jakarta exception of Ptrail which presents a low accuracy in the
and Singapore datasets, the python libraries Ptrail, Mov- file ’2020-02-25-00’. A high accuracy score means that
ing Pandas and Scikit Mobility have a similar perfor- the library is able to correctly identify a large proportion
mance. It is possible to see a higher processing time for of the true outliers and normal points in these datasets.
the Pymove library. For the OpenSky and AIS datasets, A high accuracy score indicates that the trajectory is
Ptrail and Scikit Mobility present a better performance. likely to be accurate and useful for identifying patterns
In contrast, Moving Pandas exhibit a higher processing or anomalies in the data. While Ptrail and Scikit Mobility
time for both datasets. Pymove run time is comparable tend to have lower accuracy.
with Ptrail and Scikit Mobility only with AIS dataset. Precision measures the proportion of true positives
Overall, Pymove has a higher processing time compared among all positive predictions made by the library. A
to the other libraries. Both R libraries have a similar high precision score indicates that the library can
corrun time for the Jakarta and AIS datasets. Although, Ar- rectly identify a large proportion of the true outliers. In
gosfilter run time is consistently lower throughout all contrast, a low precision score indicates that the library
datasets. It is possible to see a considerable diference in is prone to false positives. Looking at Fig. 11, we can see
performance for Singapore and OpenSky datasets. that the libraries Ptrail, Moving Pandas, Scikit Mobility,</p>
        <p>As shown in Fig. 7, the number of outliers removed Pymove, and StMoe have a consistent level of precision
by each library varies depending on the dataset being across the diferent datasets. Except for StMove in the AIS
used. These points consist of total points, i.e., outliers dataset, the precision is the lowest among all libraries.
and normal points. The amount of points corresponds Argos filter and MoveTk have lower precision scores
to the correct points detected by each library. For the throughout all datasets. Overall, these results suggest
Jakarta dataset, there is a consistent quantity of removed that Ptrail, Moving Pandas, Scikit Mobility, Pymove, and
points, with Pymove removing the most points followed StMoe are relatively reliable in precision, with a low rate
by Ptrail. The Singapore dataset is consistent between of false positives. On the other hand, Argos filter and
Stmove, argosfilter, MoveTk, and Moving Pandas, with MoveTk tend to have lower precision scores, indicating
Pymove, Ptrail, and Scikit Mobility removing points in that they may be prone to false positives.
increasing order. For the OpenSky dataset, Scikit Mo- Recall is a measure of the proportion of true positives
bility and Ptrail remove the most points, while Moving correctly identified by the library. A high recall score
indicates that the library is able to correctly identify a
large proportion of the true outliers in the dataset, while The F-1 score is a metric used for comparing the
overa low recall score indicates that the library is prone to all performance of the diferent libraries. The final metric
false negatives. The Fig. 12 shows the recall. Movetk we consider is the F-1 score, a combination of precision
have the highest recall for almost all datasets and files. and recall, shown in Fig. 13. The MoveTk library has
For the Jakarta dataset, Moving Pandas has the second the biggest rate for the F1-score in all datasets. Followed
highest recall, followed by Ptrail, argosfilter and Pymove. by argosfilter library. In the Jakarta dataset, Moving
Scikit Mobility presents the lowest recall. The libraries Pandas has the second highest F-1 score. Followed by
MoveTk and argosfilter in Singapore dataset have the argosfilter and Pymove. In contrast, Stmove and Scikit
highest recall. Followed by Moving Pandas. Also, StMove Mobility have a low rate for the F-1 score. For the
Singaand Scikit Mobility have comparable performance and, pore dataset, Moving Pandas has the third highest rate,
Ptrail presents the lowest performance. For the OpenSky followed by StMove. Ptrail has the lowest rate in this
dataset, the libraries have a similar performance. Still, dataset. The OpenSky dataset, has a similar performance
MoveTk presents the highest recall and Ptrail the lowest. in all libraries. With the exception of Ptrail which has
The AIS dataset has MoveTk as the highest recall. Ptrail, the lowest score in the first file. In AIS dataset, Movetk,
Moving pandas, Scikit Mobility, Pymove and Stmove have Ptrail, Moving Pandas, argosfilter have the highest score.
the lowest recall rate. These results suggest that MoveTk In contrast, Pymove and StMove have the lowest rate.
is the most reliable library regarding recall, with a low These results suggest that MoveTk [5] is the most
rerate of false negatives. On the other hand, Ptrail, Moving liable library for trajectory outlier removal, with a high
pandas, Scikit Mobility, Pymove, and Stmove tend to have level of accuracy, precision, and recall. Moving Pandas
lower recall scores, indicating that they may be prone [6] also performs well in terms of F-1 score, particularly
to false negatives. These results suggest that MoveTk is for the Jakarta and Singapore datasets. On the other hand,
the most reliable library regarding the recall, with a low Ptrail, argosfilter, Pymove, Scikit Mobility, and Stmove
rate of missed true outliers. On the other hand, Ptrail, tend to have lower F-1 scores, indicating that they may
Moving Pandas, Scikit Mobility, Pymove, and Stmove not be as reliable for removing outliers in these datasets.
tend to have lower recall scores, indicating that they may It is also important to consider the specific requirements
be prone to missing true outliers. of the application and the trade-ofs between precision,
recall and run time. Also, it is important to note that [10] C. Freitas, C. Lydersen, M. A. Fedak, K. M. Kovacs,
the libraries’ performance varies based on the dataset. In A simple new algorithm to filter marine mammal
addition, the ground-truth method can be applied in all argos locations, Marine Mammal Science (2008).
of these datasets to assist in outlier detection. [11] D. P. Seidel, E. R. Dougherty, W. M. Getz,
Exploratory movement analysis and report building
with r package stmove, bioRxiv (2019).
5. Conclusion [12] Y. Zheng, Trajectory data mining: An overview,
ACM Trans. Intell. Syst. Technol. 6 (2015).</p>
        <p>In this paper, we presented an approach for construct- [13] C. Urrea, R. Agramonte, Kalman filter: Historical
ing ground-truth that involves cross-referencing the data overview and review of its use in robotics 60 years
from multiple sensors. We applied this method to data after its creation (2021).
from modern multi-sensor tracking technologies. We also [14] S. H. Lee, M. West, Performance comparison of
evaluated the performance of several libraries for out- the distributed extended kalman filter and markov
lier removal in trajectory data, including Ptrail, Moving chain distributed particle filter, IFAC Proceedings
Pandas, Scikit Mobility, Pymove, Stmove, argosfilter, and (2010).</p>
        <p>MoveTk. Our results showed that MoveTk was the most [15] J. Kotecha, P. Djuric, Gaussian particle filtering,
reliable library, with a high level of accuracy, precision, IEEE Transactions on Signal Processing 51 (2003)
and recall. Moving Pandas also performed well, particu- 2592–2601.
larly for the Jakarta and Singapore datasets. For future [16] Wes McKinney, Data Structures for Statistical
Comwork, it would be interesting to explore other methods puting in Python, in: Stéfan van der Walt, Jarrod
for constructing ground-truth in trajectory data, such as Millman (Eds.), Proceedings of the 9th Python in
using machine learning techniques or integrating data Science Conference, 2010, pp. 56 – 61.
from additional sources. [17] J. Yuan, Y. Zheng, C. Zhang, W. Xie, X. Xie, G. Sun,
Y. Huang, T-drive: Driving directions based on taxi
References trajectories, 2010.
[18] S. Yang, M. S. Madsen, J. A. Bednar, Holoviz:
Vi[1] A generic trajectory similarity operator in moving sualization and interactive dashboards in python,
object databases, Egyptian Informatics Journal 18 KDD, 2022.</p>
        <p>(2017) 29–37. [19] P. Thomas, J. Barr, B. Balaji, K. White, An open
[2] M. S. Bakli, M. A. Sakr, T. H. A. Soliman, A spa- source framework for tracking and state estimation,
tiotemporal algebra in hadoop for moving objects, 2017.</p>
        <p>Geo-spatial Information Science 21 (2018) 102–114. [20] T. M, Hampel filter in python, 2021.
[3] E. Zimányi, M. Sakr, A. Lesuisse, Mobilitydb: A [21] A. F. D. Oliveira, Uma arquitetura e implementação
mobility database based on postgresql and postgis, do módulo de visualização para biblioteca PyMove,
New York, NY, USA, 2020. Bachelor’s thesis, UFC, 2019.
[4] E. Zimányi, M. Sakr, A. Lesuisse, M. Bakli, Mobili- [22] C. Freitas, C. Lydersen, M. A. Fedak, K. M. Kovacs,
tydb: A mainstream moving object database system, A simple new algorithm to filter marine mammal
2019, pp. 206–209. argos locations, Marine Mammal Science (2008).
[5] B. Custers, M. V. D. Kerkhof, W. Meulemans, [23] S. Wu, E. Zimanyi, M. Sakr, K. Torp, Semantic
segB. Speckmann, F. Staals, Maximum physically con- mentation of ais trajectories for detecting complete
sistent trajectories, ACM Trans. Spatial Algorithms ifshing activities, IEEE Computer Society, 2022.</p>
        <p>Syst. 7 (2021). [24] X. Yang, L. Tang, Q. Li, A data cleaning method for
[6] A. Graser, Movingpandas: Eficient structures for big trace data using movement consistency, 2018.
movement data in python, GI Forum Volume 7 [25] S. Moosavi, B. Omidvar-Tehrani, R. Ramnath,
Tra(2019) 54–68. jectory annotation by discovering driving patterns,
[7] L. Pappalardo, F. Simini, G. Barlacchi, R. Pellungrini, 2017.</p>
        <p>Scikit-mobility: a python library for the analysis, [26] X. Huang, Y. Yin, S. Lim, G. Wang, B. Hu,
generation and risk assessment of mobility data, J. Varadarajan, S. Zheng, A. Bulusu, R.
Zimmer2019. mann, Grab-posisi: An extensive real-life gps
tra[8] S. Haidri, Y. J. Haranwala, V. Bogorny, C. Renso, V. P. jectory dataset in southeast asia, in: SIGSPATIAL,
da Fonseca, A. Soares, Ptrail – a python package New York, NY, USA, 2019.</p>
        <p>for parallel trajectory data preprocessing (2021). [27] E. Control, The economics of aviation
decarbonisa[9] A. Sanches, Uma arquitetura e implementação do tion towards the 2030 green deal milestone (2022).
módulo de pré-processamento para biblioteca
PyMove, Bachelor’s thesis, UFC, 2019.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>