<!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>A Trajectory Segmentation Algorithm Based on Interpolation-based Change Detection Strategies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mohammad Etemad</string-name>
          <email>etemad@dal.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Amílcar Soares</string-name>
          <email>amilcar.soares@dal.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arazoo Hoseyni</string-name>
          <email>a.hoseyni@dal.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jordan Rose</string-name>
          <email>jordanrose@dal.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stan Matwin</string-name>
          <email>stan@cs.dal.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Big Data Analytics</institution>
          ,
          <addr-line>Halifax, NS</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute for Big Data Analytics, Polish Academy of Sciences</institution>
          ,
          <addr-line>Halifax, NS</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Trajectory mining is a research field which aims to provide fundamental insights into decision-making tasks related to moving objects. One of the fundamental pre-processing steps for trajectory mining is its segmentation, where a raw trajectory is divided into several meaningful consecutive sub-sequences. In this work, we propose an unsupervised trajectory segmentation algorithm named Octal Window Segmentation (OWS) that is based on the processing an error signal generated by measuring the deviation of a middle point of an octal window. The algorithm we propose is flexible and can be applied to diferent domains by selecting an appropriate interpolation kernel. We examined our algorithm on two datasets from diferent domains. The experiments show that the proposed algorithm achieved more than 93% of a crossvalidated harmonic mean of purity and coverage for two diferent datasets. We also show that statistically significantly higher results were obtained by OWS when compared with a baseline for unsupervised trajectory segmentation.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Processing traces of people, vehicles, vessels, and animals have
been the focus of attention in the academic and industry sectors.
These traces of moving objects are called trajectory data and
can be informally defined as a consecutive sequence of the
geolocations of a moving object. Transportation mode detection [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
ifshing detection [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], tourism [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], environmental science [18], and
trafic dynamics [
        <xref ref-type="bibr" rid="ref2 ref5">2, 5, 20</xref>
        ], are few examples of domains where
trajectory mining methods can be applied.
      </p>
      <p>
        One of the fundamental trajectory mining tasks is
segmentation, i.e., split raw trajectories into sub-trajectories. Trajectory
segmentation is a fundamental task since the method influences
the features representing each trajectory. An accurate
segmentation method may provide higher quality features that better
represent the moving object behavior. The segmentation task is
therefore based on methods capable of distinguishing the
homogeneous or similar parts of a trajectory based on some criteria.
Three cases can be distinguished: supervised, unsupervised, and
semi-supervised trajectory segmentation. Unsupervised methods
use only the raw trajectory as input, while supervised methods
use labels available in a training data to extract some knowledge
and use this knowledge as criteria to generate the sub-trajectories.
Finally, semi-supervised methods use a combination of both
labeled and unlabeled data as a criterion. Although eforts to create
labeled trajectory datasets [
        <xref ref-type="bibr" rid="ref8">8, 23</xref>
        ] can be found in literature, the
majority of them do not contain such information. Therefore,
this work focuses on the development of unsupervised methods
for trajectory segmentation.
      </p>
      <p>
        Since trajectory data is usually large and has all the
characteristics of Big Data, i.e., volume, velocity, variety, veracity, and
value, presenting a fast and accurate segmentation method is of
prime importance. In this research, we investigate the topic of
trajectory segmentation and propose an unsupervised segmentation
method that can generate high-quality segments. The intuition
behind our approach is that when a moving object changes its
behavior, this shift may be detected using only its geolocation
over time. Unlike, previous methods that uses speed variations
[14], direction variation [15], or a combination of many features
[
        <xref ref-type="bibr" rid="ref8">8, 9, 11, 13, 16</xref>
        ], this work focuses on finding these changes in
behavior only from the object’s coordinates using interpolation
methods to generate an error signal. This error signal is then
used as a criterion to split the trajectories into sub-trajectories.
Our method can be customized to a domain by using diferent
kernel interpolation methods. The contributions of this paper
are (i) the proposal of an unsupervised trajectory segmentation
method named OWS, (ii) a comparison of OWS and a baseline
regarding performance and execution time, and (iii) a
comparison of diferent kernel interpolations for datasets of diferent
domains.
      </p>
      <p>The rest of this paper is organized as follows. We review the
algorithms for trajectory segmentation and interpolation in
Section 2. In Section 3, the definitions used through this paper, and
the OWS algorithm are detailed. The experiments (e.g., metrics,
dataset, hyperparameter tuning, and results) and its analysis
are detailed in Section 4. Finally, Section 5 provides conclusions
obtained from this work and future work that may be conducted.
2</p>
    </sec>
    <sec id="sec-2">
      <title>RELATED WORK</title>
      <p>
        Trajectory segmentation methods such as TRACLUS [10],
WKMeans [11], SMOT [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], CB-SMoT [14], GRASP-UTS [16], and
RGRASP-SemTS [9] have been proposed to segment trajectory
data. These methods are briefly reviewed in Section 2.1. Since the
proposed method can be customized for a domain by selecting
diferent interpolation methods as kernel, we reviewed some
major interpolation methods in Section 2.2.
2.1
      </p>
    </sec>
    <sec id="sec-3">
      <title>Trajectory segmentation</title>
      <p>Trajectory segmentation methods can be divided into three
categories regarding the input data of the algorithm: (i) unsupervised,
(ii) supervised, and (iii) semi-supervised.</p>
      <p>
        Unsupervised methods use only raw trajectory data as input
and compute a set of features from it. This family of methods
considers the similarity among features in the neighborhood of a
sequence to create a set of sub-trajectories [11, 16, 21]. Supervised
methods use labels available in training data to extract some
knowledge and use it as criteria to generate the sub-trajectories
[
        <xref ref-type="bibr" rid="ref3">3, 14, 23</xref>
        ]. Finally, semi-supervised methods use a combination
of both labeled and unlabeled data as a criterion. The
RGRASPSemTS is an example of such method [9].
      </p>
      <p>A trajectory segmentation can use a cost function or clustering
methods to create sub-trajectories. GRASP-UTS, RGRASP-SemTS,
and W-KMeans are examples of cost function based methods,
while TRACLUS, SM0T, and CB-SMoT are examples of clustering
based methods.</p>
      <p>A quantitative comparison between some of the
aforementioned methods is given in [16]. They reported higher
performance for GRASP-UTS in comparison to W-KMeans, and
CBSMoT. The highest segmentation performance shown in [16] was
a purity of 91.37% and coverage of 83.00% on the fishing vessels
dataset, and purity of 90.57% and coverage of 83.47% on the
hurricanes dataset ( to be detailed in Section 4.1). In this work, we
repeated the experiments in the same environment and showed
that our proposed method obtained better results when compared
to GRASP-UTS.
2.2</p>
    </sec>
    <sec id="sec-4">
      <title>Interpolation</title>
      <p>Sometimes it is necessary to resample the frequency of
trajectory data due to signal loss. Calculating the geolocation for a
time-stamp that the geolocation is missing called interpolation.
Diferent methods such as linear, random walk, bézier curve,
catmull-row, and kinematic path have been introduced to
calculate the geo-location of these missing points. An interpolation
method can be useful for one domain and useless for others. For
example, random walk interpolation can be useful to interpolate
wild animal behavior [17]. The bézier curve interpolation can be
useful for moving objects in fluid environments [ 19]. The hermite
and spline interpolation can be useful for AIS data(trajectories
of vessels) [22] and kinematic interpolation is useful for
transportation [12] or fast moving objects. Linear interpolation is
the simplest, popular interpolation method. In this method, the
missing location calculated so that it is sitting on a straight line
between two available points. Cubic and Kinematic methods
calculate the speed and acceleration of the moving object in each
point of the octal window to interpolate the missing position.
We implemented random walk, kinematic, cubic, and linear
interpolation to utilize as a kernel for the proposed segmentation
algorithm with the objective of exploring their results into
diferent trajectory datasets.
3</p>
    </sec>
    <sec id="sec-5">
      <title>THE TRAJECTORY SEGMENTATION</title>
    </sec>
    <sec id="sec-6">
      <title>METHOD</title>
      <p>In this section, we detail our novel algorithm for unsupervised
trajectory segmentation named Octal Window Segmentation
(OWS). We first introduce the definitions used to describe the
algorithm (Section 3.1). After, we detail OWS algorithm step by
step in Section 3.2.
3.1</p>
    </sec>
    <sec id="sec-7">
      <title>Definitions</title>
      <p>A trajectory point (pi ) is defined as pi = (xi , yi , ti ), where xi
is longitude, yi is latitude, and ti (ti &lt; ti+1) is the capturing
time of the moving object. A raw trajectory (τn ), is a sequence of
trajectory points captured through time, τ = (pi , pi+1, .., pn ), pi ∈
τn and i ≤ n.</p>
      <p>A segment or sub-trajectory is a subsequence of a raw trajectory
generated by splitting it into two or more sub-sequences. For
example, if we have one split point, k, and τn is a raw trajectory
then s1 = (pi , pi+1, ..., pk ) and s2 = (pk+1, pk+2, ..., pn ) are two
sub-trajectories generated from τn . The process of generating
sub-trajectories from a raw trajectory is called segmentation.</p>
      <p>An octal window (Sow ) is a sub-trajectory with seven trajectory
points, in which new trajectory points are created using
interpolation techniques. We define Sow = (p1, p2, p3, p4, p5, p6, p7) so
that pi is time-ordered. The indexes are relative for each window
so that it can slide over a raw trajectory and represents diferent
windows.</p>
      <p>The decision of using seven trajectory points on a window
was motivated by the fact that it is necessary to use at least three
points to interpolate (predict) a trajectory point preceding or
following them. Calculating acceleration in kinematic interpolation
requires at least three points. Since we use interpolation going
both forward and backward, we have used three points in the
beginning of the window to predict forward the position of the
fourth point, and three points in the end of the window to predict
backward another fourth point, expected to be very close to the
result of the forward interpolation (see details in Section 3.2). We
then use these two interpolated positions to create a midpoint
and calculate its geographical distance from p4. Since we have
two sets of four points each, the minimum number of required
trajectory points is seven points. Increasing the length of octal
window can possibly improve the results; however, the objective
of this work is to use minimal possible memory. We use the term
current octal window to refer to the window being processed by
our procedure at a given moment. After processing a window, we
slide the trajectory by one point and process the next window.
3.2</p>
    </sec>
    <sec id="sec-8">
      <title>Octal Window Segmentation Algorithm</title>
      <p>The intuition behind our algorithm is that when a moving
object changes from one behavior to another, this can be captured
directly from its geolocation. To achieve an estimated position,
where the moving object is supposed to be if its behavior does not
change, we use interpolation methods. After, we compare the real
position of the moving object with the estimated one, creating
an error signal. By evaluating this error signal, it is possible to
estimate if the moving object changed its behavior on a region
and use this information to create sub-trajectories.</p>
      <p>The first procedure that composes OWS unsupervised
trajectory segmentation algorithm is detailed in Algorithm 1. This
procedure creates an error signal by sliding the octal window
over a raw trajectory τn .</p>
      <p>The procedure starts with an array of Error signals (E) in
line 1. In line 2, the empty signal set [0, 0, 0] is added to the list
and represents the error for the first three points from the raw
trajectory. The algorithm explores all the octal windows from
lines 3 to 10 as follows. First, the actual octal window is created
(line 4). The forward interpolation is calculated in line 5. In this
method, we assume that pi in the current octal window is missing
and will be interpolated using points p1, p2, p3. The interpolated
point at time ti = t3 + t5−t3 is called pF . After, the backward
2
Algorithm 1 Generate Error Signal
Require: τn - the raw trajectory
1: E ←− {}
2: E.append([0, 0, 0])
3: for (i = 3; i &lt; n − 3; i + +) do
4: Create octal window Sow = (pi−3, ..., pi+3)
5: pF ←− interpolate forward Sow
6: pB ←− interpolate backward Sow
7: pC ←− extract midpoint from P F and P B
8: ϵi ←− Haversine(pi , pC )
9: E.append(ϵi )
10: end for
11: E.append([0, 0, 0])
12: return E
interpolation method is calculated (line 6). In this method, it is also
assumed that pi in the current octal window is missing. However,
we reverse the order of points so that points p7, p6, p5 are used to
interpolate the point pi at time ti = t5 − t5−2t3 and the procedure
calls it pB . In line 7, we use pF and pB geolocations to calculate
a midpoint (pC ). The error signal ϵi is finally computed in line 8,
and it is obtained by calculating the haversine distance between
pi and pC .</p>
      <p>Figure 1 shows the pB and pF interpolated positions as red
points, pi as a green point and pC as a yellow point. In the
example of Figure 1, the haversine distance from the estimated
position pC to the real position pi is visible. This may indicate
that the moving object behavior has changed at position pi .</p>
      <p>In Figure 2, an example of an error signal generated by
Algorithm 1 is shown. A raw trajectory with around 150 trajectory
points was used in this example. As can be seen in Figure 2, there
are several trajectory points (e.g., around trajectory point 95, or
around trajectory point 123) along the raw trajectory where the
estimated positions were far from the actual reported positions
by the moving object.</p>
      <p>The OWS algorithm is detailed in Algorithm 2 which receives
as input a single ϵ value. The intuition of how this algorithm
works is that segments are created in partitioning positions where
the error values from E are higher than the ϵ value and these
partitioning positions are created as a list of tuples with the
indexes of where segments start and end. Algorithm 2 starts
creating the error signal E that is the output of the procedure in
Algorithm 1. In lines 2 and 3, the algorithm initializes the f irst
variable with a 0 value which represents the starting index of the
trajectory and creating the first tuple (f irst , n) that represents
the entire trajectory and adding it to a list q. In line 4, the final
variable p with all the partitioning positioning tuples is declared
as an empty. While the list q is not empty, lines 6 to 24 are
executed. First, this algorithms get the first element of the list t
(line 6), which in the first run is the full trajectory, creates a list
curr with all the error values from E (line 7), and gets its maximal
error value m (line 8). If this maximal error value is greater than
the threshold, the index of m is retrieved, and two new tuples
are created if there is a single position with value m (lines 11 to
13). The new tuples are stored in q and are analyzed in the next
iteration of the algorithm, which will look for other error values
higher than the ϵ threshold. If there is more than one partitioning
position with a value equal to m (lines 14 to 21), tuples are created
in every single position that satisfies this criterion. This procedure
will run until all the tuples with partitioning positions are created
where error values are greater than the error threshold ϵ. In the
last step, i.e. if m ≤ ϵ, tuple t is appended to the final list p.
4</p>
    </sec>
    <sec id="sec-9">
      <title>EXPERIMENTS</title>
      <p>This section details the metrics and datasets (Section 4.1) and
algorithms parameter selection (Section 4.2) procedure. Finally,
the interpolation methods analysis obtained with the OWS
algorithms detailed in Section 4.3 and Section 4.4 shows a comparison
between our OWS strategy and a baseline segmentation
algorithm.
4.1</p>
    </sec>
    <sec id="sec-10">
      <title>Metrics and datasets</title>
      <p>Since our method is classified as an unsupervised method,
clustering metrics such as purity, coverage, and the harmonic mean of
purity and coverage are proper evaluation metrics. In this work,
we have used the metrics named average purity and average
coverage. They were first introduced in the context of trajectory
segmentation in the work of [16]. These two metrics were
designed to be orthogonal, i.e., when one tends to increase, the other
tends to decrease. Therefore, we defined the harmonic mean of
average purity (P) and average coverage (C), harmonic mean (H),
H = 2∗P ∗C , as the primary metric for our analysis and to simplify</p>
      <p>P +C
the plots and comparison of the segmentation algorithms.</p>
      <p>The segment purity in a segment is defined as follows.
Assuming the set of all target labels in a segment is L with k trajectory
points. The majority label, pd ∈ L, is the label of majority
trajectory points in the segment and the number of occurrence of
pd is p. Therefore, the purity of a segment is kp . The average of
purity values for all segments generated by a trajectory
segmentation algorithm is called average purity, P . The coveraдe of a
segment can be calculated using a segment identifier ( sid ) from
the segments found by the segmentation algorithm. Assuming
σm is a segment that was supposed to be found by a
segmentation algorithm, it is possible to verify for every segment found
by the algorithm the most frequent sid by smid . The average for
coverage of all generated segments is then called C. The more
over segmented a trajectory is, higher values of purity are
expected to be found. However, lower values for coverage will be
computed in the case of a large number of segments found by
the segmentation algorithm. The same conflicting result occurs
if the trajectory is under segmented, i.e., the purity values tend
to decrease, but the coverage tends to have a higher value.</p>
      <p>Two datasets were selected for evaluation of OWS and the
baseline named GRASP-UTS: (i) fishing (5190 points, 153
segments) and (ii) hurricane datasets (1990 points, 182 segments).
The dataset was processed using the same conditions and features
adopted in the experiments of [16]. The objective was to achieve
the best result reported by GRASP-UTS for the unsupervised
trajectory segmentation problem.
4.2</p>
    </sec>
    <sec id="sec-11">
      <title>Algorithms parameter selection</title>
      <p>In the experiments conducted in this work, ten diferent trajectory
subsets were created aiming to properly evaluate the performance
of the segmentation algorithms. We have used one subset for
estimating the input parameters values of both algorithms, and
the remaining nine to verify the algorithm’s performance in terms
of the harmonic mean of average purity and coverage. The same
process was repeated for every single subset as the set for input
parameters value estimation, and validation in the remaining
subsets. As a result, ten diferent values of the harmonic mean of
average purity and coverage were found in our experiments.</p>
      <p>The input parameter values estimation for GRASP-UTS was
done by a grid search with all combinations of values reported in
[16]. The decision of the best input parameters combination was
guided by the best cost function value achieved by an algorithm
configuration, in the same way, reported in [16].</p>
      <p>For the OWS segmentation algorithm, the ϵ value was found
using the following steps. First, the total error signal E was
generated for the one subset for parameters estimation. After, the
harmonic mean of the purity and coverage was calculated by
running OWS and using values of percentiles (P ) from E. We
tested the percentiles values for every ϵ ∈ E from 99 to 90
(P = [P99, P98, P97, P96, P95, P94, P93, P92, P91, P90]. The percentile
that produced the highest harmonic mean was chosen to be used
as the ϵ value and was used to estimate the harmonic mean in
the remaining nine subsets.
4.3</p>
    </sec>
    <sec id="sec-12">
      <title>OWS interpolation methods evaluation</title>
      <p>In the first experiment, we tested the kinematic, linear, random
walk, and cubic interpolation methods in OWS for the hurricanes
and fishing datasets.</p>
      <p>The results on fishing dataset show that random walk
interpolation produces the highest harmonic mean. Since we do not have
enough samples (10 harmonic mean values for every
segmentation algorithm) to verify if the outcomes are normally distributed,
we have used the Mann Whitney U test to verify if the diference
in the results is significantly diferent. If P was lower than 0.05,
we rejected the hypothesis that the observed median values came
from the same distribution, so there are statistical diferences. A
Mann Whitney U test indicated that the random walk
interpolation kernel produces statistically significant higher median (M
= 93.68) harmonic mean for trajectory segmentation comparing
to kinematic (S = 11.0, P = 0.0018, M = 86.98), linear (S = 22.0, P
= 0.0188, M = 91.57), and cubic (S = 13.0, P = 0.0028, M = 91.61)
interpolation. We think that this result shows that the human
factor (i.e., the vessel’s captain) plays an essential role in
detecting fishing activities and this is reflected in random movement
behaviors changes.</p>
      <p>The results on the hurricanes dataset are detailed in Table
2. The results show that kinematic interpolation produces the
highest harmonic mean. A Mann Whitney U test indicated that
the kinematic interpolation (M = 93.11) kernel produces
statistically significant higher median harmonic mean for octal window
segmentation comparing to random walk(S = 18.0, P = 0.0086, M
= 92.45), linear (S = 10.0, P = 0.0014, M = 90.71), and cubic (S = 9.0,
P = 0.0011, M = 87.91) interpolation. We think that the kinematic
interpolation worked better in this dataset because a high-speed
moving objects tend to follow this strategy and also the sampling
rate for this dataset is constant (e.g., every 6 hours).</p>
      <p>RW</p>
    </sec>
    <sec id="sec-13">
      <title>4.4 Comparison with a baseline</title>
      <p>In this section, we compare the algorithms for unsupervised
trajectory segmentation named OWS and GRASP-UTS. Figure 3 (a)
shows a violin chart for the results of OWS segmentation on the
ifshing dataset in blue (left) and the GRASP-UTS in green (right)
for all subsets and interpolation methods. The random walk
interpolation shows visible improvements against the GRASP-UTS, as
well as all the other interpolation kernels. Furthermore, a Mann
Whitney U test between the GRASP-UTS and the random walk
interpolation kernel on fishing dataset shows that OWS produces
a statistically significant higher median for harmonic mean than
the GRASP-UTS.</p>
      <p>The Figure 3 (b) shows the results of the OWS
segmentation on hurricane dataset with blue (left) and the GRASP-UTS
with green (right). Even though the GRASP-UTS took advantage
of using wind speed as a feature, the kinematic interpolation
shows a considerable improvement against the GRASP-UTS. The
other interpolation methods also show competitive results with
GRASP-UTS. Another Mann Whitney U test done between the
GRASP-UTS and the kinematic interpolation kernel on
hurricane dataset shows that OWS produces a statistically significant
higher median for harmonic mean than the GRASP-UTS.</p>
    </sec>
    <sec id="sec-14">
      <title>5 CONCLUSION</title>
      <p>In this work, we proposed an unsupervised trajectory
segmentation algorithm named Octal Window Segmentation (OWS) that
segments trajectory data using interpolation methods to generate
a geolocation error signal from where it was supposed to be. This
error signal represents possible partitioning positions where a
moving object changed its behavior, and it is used to segment
the trajectory data into sub-trajectories. The proposed model
is flexible to diferent domains by adjusting the interpolation
methods. The experimental results show that the kinematic
interpolation is more suitable for the hurricane dataset, while the
random walk interpolation was the best choice for segmenting
the fishing dataset. OWS produces higher quality segmentation
than the state-of-the-art segmentation algorithm, GRASP-UTS.
We compare our proposed model against GRASP-UTS, and the
results show that our algorithm achieved a statistically significant
higher harmonic mean of purity and coverage for the hurricane
and fishing datasets. Furthermore, OWS does not need any extra
knowledge than the raw trajectory, while GRASP-UTS needs
trajectory features such as speed, direction variation, etc.</p>
      <p>This work can be extended in several directions. First, we
intend to expand the quantitative comparison of OWS with other
methods like WK-Means and CB-SMOT and use other trajectory
datasets like Geolife [24]. We also intend to evaluate the
possibility of other interpolation methods and the efects of increasing
the window size used to create the error signal.
Graphics and Applications 37, 5 (2017), 28–39. https://doi.org/10.1109/MCG.
2017.3621221
[9] Amílcar Soares Júnior, Valéria Times, Chiara Renso, Stan Matwin, and Lucıdio
A. F. Cabral. 2018. A semi-supervised approach for the semantic
segmentation of trajectories. In 19th IEEE International Conference on Mobile Data
Management.
[10] Jae-Gil Lee, Jiawei Han, and Kyu-Young Whang. 2007. Trajectory clustering:
a partition-and-group framework. In Proceedings of the 2007 ACM SIGMOD
international conference on Management of data. ACM, 593–604.
[11] Luis A. Leiva and Enrique Vidal. 2013. Warped K-Means: An algorithm to
cluster sequentially-distributed data. Information Sciences 237 (2013), 196 – 210.
https://doi.org/10.1016/j.ins.2013.02.042 Prediction, Control and Diagnosis
using Advanced Neural Computations.
[12] Jed A Long. 2016. Kinematic interpolation of movement data. International</p>
      <p>Journal of Geographical Information Science 30, 5 (2016), 854–868.
[13] B. N. Moreno, A. Soares Júnior, V. C. Times, P. Tedesco, and Stan Matwin. 2014.</p>
      <p>Weka-SAT: A Hierarchical Context-Based Inference Engine to Enrich
Trajectories with Semantics. In Advances in Artificial Intelligence . Springer
International Publishing, Cham, 333–338. https://doi.org/10.1007/978-3-319-06483-3_
34
[14] Andrey Tietbohl Palma, Vania Bogorny, Bart Kuijpers, and Luis Otavio Alvares.
2008. A Clustering-based Approach for Discovering Interesting Places in
Trajectories. In Proceedings of the 2008 ACM Symposium on Applied Computing
(SAC ’08). ACM, New York, NY, USA, 863–868. https://doi.org/10.1145/1363686.
1363886
[15] Jose Antonio MR Rocha, Valéria C Times, Gabriel Oliveira, Luis O Alvares, and
Vania Bogorny. 2010. DB-SMoT: A direction-based spatio-temporal clustering
method. In Intelligent systems (IS), 2010 5th IEEE international conference. IEEE,
114–119.
[16] A. Soares Júnior, B. N. Moreno, V. C. Times, S. Matwin, and L. A. F. Cabral.
2015. GRASP-UTS: an algorithm for unsupervised trajectory segmentation.</p>
      <p>International Journal of Geographical Information Science 29, 1 (2015), 46–68.
[17] Georgios Technitis, Walied Othman, Kamran Safi, and Robert Weibel. 2015.</p>
      <p>From A to B, randomly: a point-to-point random trajectory generator for
animal movement. International Journal of Geographical Information Science
29, 6 (2015), 912–934.
[18] Tammy M Thompson, Sebastian Rausch, Rebecca K Saari, and Noelle E Selin.
2014. A systems approach to evaluating the air quality co-benefits of US
carbon policies. Nature Climate Change 4, 10 (2014), 917.
[19] Yann Tremblay, Scott A Shafer, Shannon L Fowler, Carey E Kuhn, Birgitte I
McDonald, Michael J Weise, Charle-André Bost, Henri Weimerskirch, Daniel E
Crocker, Michael E Goebel, et al. 2006. Interpolation of animal tracking data
in a fluid environment. Journal of Experimental Biology 209, 1 (2006), 128–140.
[20] I. Varlamis, K. Tserpes, and C. Sardianos. 2018. Detecting Search and Rescue
Missions from AIS Data. In 2018 IEEE 34th International Conference on Data
Engineering Workshops (ICDEW). 60–65. https://doi.org/10.1109/ICDEW.2018.
00017
[21] Zhixian Yan, Nikos Giatrakos, Vangelis Katsikaros, Nikos Pelekis, and Yannis
Theodoridis. 2011. SeTraStream: semantic-aware trajectory construction over
streaming movement data. In International Symposium on Spatial and Temporal
Databases. Springer, 367–385.
[22] Daiyong Zhang, Jia Li, Qing Wu, Xinglong Liu, Xiumin Chu, and Wei He.
2017. Enhance the AIS data availability by screening and interpolation. In
Transportation Information and Safety (ICTIS), 2017 4th International Conference
on. IEEE, 981–986.
[23] Yu Zheng, Hao Fu, X Xie, WY Ma, and Q Li. 2011. Geolife GPS trajectory
dataset-User Guide. (2011).
[24] Yu Zheng, Hao Fu, Xing Xie, Wei-Ying Ma, and Quannan Li. 2011. Geolife GPS
trajectory dataset - User Guide. https://www.microsoft.com/en-us/research/
publication/geolife-gps-trajectory-dataset-user-guide/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Luis</given-names>
            <surname>Otavio</surname>
          </string-name>
          <string-name>
            <surname>Alvares</surname>
          </string-name>
          , Vania Bogorny, Bart Kuijpers, Jose Antonio Fernandes de Macedo, Bart Moelans, and
          <string-name>
            <given-names>Alejandro</given-names>
            <surname>Vaisman</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>A Model for Enriching Trajectories with Semantic Geographical Information</article-title>
          .
          <source>In Proceedings of the 15th Annual ACM International Symposium on Advances in Geographic Information Systems (GIS '07)</source>
          . ACM, New York, NY, USA, Article
          <volume>22</volume>
          , 8 pages. https://doi.org/10.1145/1341012.1341041
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Pablo</given-names>
            <surname>Samuel</surname>
          </string-name>
          <string-name>
            <surname>Castro</surname>
          </string-name>
          , Daqing Zhang, Chao Chen,
          <string-name>
            <given-names>Shijian</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and Gang</given-names>
            <surname>Pan</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>From taxi GPS traces to social and community dynamics: A survey</article-title>
          .
          <source>ACM Computing Surveys (CSUR) 46</source>
          ,
          <issue>2</issue>
          (
          <year>2013</year>
          ),
          <fpage>17</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Sina</given-names>
            <surname>Dabiri</surname>
          </string-name>
          and
          <string-name>
            <given-names>Kevin</given-names>
            <surname>Heaslip</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Inferring transportation modes from GPS trajectories using a convolutional neural network</article-title>
          .
          <source>Transportation Research Part C: Emerging Technologies</source>
          <volume>86</volume>
          (
          <year>2018</year>
          ),
          <fpage>360</fpage>
          -
          <lpage>371</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Erico N de Souza</surname>
            , Kristina Boerder, Stan Matwin, and
            <given-names>Boris</given-names>
          </string-name>
          <string-name>
            <surname>Worm</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Improving fishing pattern detection from satellite AIS using data mining and machine learning</article-title>
          .
          <source>PloS one 11</source>
          ,
          <issue>7</issue>
          (
          <year>2016</year>
          ),
          <year>e0158248</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Renata</given-names>
            <surname>Dividino</surname>
          </string-name>
          , Amilcar Soares, Stan Matwin, Anthony W Isenor, Sean Webb, and
          <string-name>
            <given-names>Matthew</given-names>
            <surname>Brousseau</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Semantic Integration of Real-Time Heterogeneous Data Streams for Ocean-related Decision Making. In Big Data and Artificial Intelligence for Military Decision Making</article-title>
          . STO. https://doi.org/ 10.14339/
          <string-name>
            <surname>STO-MP-IST-</surname>
          </string-name>
          160
          <string-name>
            <surname>-</surname>
          </string-name>
          S1-3-PDF
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Mohammad</given-names>
            <surname>Etemad</surname>
          </string-name>
          , Amílcar Soares Júnior, and
          <string-name>
            <given-names>Stan</given-names>
            <surname>Matwin</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Predicting Transportation Modes of GPS Trajectories using Feature Engineering and Noise Removal</article-title>
          .
          <source>In Advances in Artificial Intelligence: 31st Canadian Conference on Artificial Intelligence</source>
          ,
          <source>Canadian AI</source>
          <year>2018</year>
          , Toronto, ON, Canada, May 8-
          <issue>11</issue>
          ,
          <year>2018</year>
          , Proceedings 31. Springer,
          <fpage>259</fpage>
          -
          <lpage>264</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Shanshan</given-names>
            <surname>Feng</surname>
          </string-name>
          ,
          <source>Gao Cong, Bo An, and Yeow Meng Chee</source>
          .
          <year>2017</year>
          .
          <article-title>POI2Vec: Geographical Latent Representation for Predicting Future Visitors.</article-title>
          .
          <source>In AAAI</source>
          .
          <fpage>102</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Amílcar</given-names>
            <surname>Soares</surname>
          </string-name>
          <string-name>
            <surname>Júnior</surname>
          </string-name>
          , Chiara Renso, and
          <string-name>
            <given-names>Stan</given-names>
            <surname>Matwin</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>ANALYTiC: An Active Learning System for Trajectory Classification</article-title>
          . IEEE Computer
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>