Content uploaded by Amilcar Soares
Author content
All content in this area was uploaded by Amilcar Soares on Feb 10, 2019
Content may be subject to copyright.
Content uploaded by Mohammad Etemad
Author content
All content in this area was uploaded by Mohammad Etemad on Nov 15, 2018
Content may be subject to copyright.
A Trajectory Segmentation Algorithm Based on
Interpolation-based Change Detection Strategies
Mohammad Etemad
Institute for Big Data Analytics
Halifax, NS
etemad@dal.ca
Amílcar Soares
Institute for Big Data Analytics
Halifax, NS
amilcar.soares@dal.ca
Arazoo Hoseyni
Institute for Big Data Analytics
Halifax, NS
a.hoseyni@dal.ca
Jordan Rose
Institute for Big Data Analytics
Halifax, NS
jordanrose@dal.ca
Stan Matwin
Institute for Big Data Analytics
Polish Academy of Sciences
Halifax, NS
stan@cs.dal.ca
ABSTRACT
Trajectory mining is a research eld which aims to provide fun-
damental insights into decision-making tasks related to moving
objects. One of the fundamental pre-processing steps for trajec-
tory 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 exible and can be applied to dierent domains by selecting
an appropriate interpolation kernel. We examined our algorithm
on two datasets from dierent domains. The experiments show
that the proposed algorithm achieved more than 93% of a cross-
validated harmonic mean of purity and coverage for two dierent
datasets. We also show that statistically signicantly higher re-
sults were obtained by OWS when compared with a baseline for
unsupervised trajectory segmentation.
1 INTRODUCTION
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 dened as a consecutive sequence of the geo-
locations of a moving object. Transportation mode detection [
6
],
shing detection [
4
], tourism [
7
], environmental science [
18
], and
trac dynamics [
2
,
5
,
20
], are few examples of domains where
trajectory mining methods can be applied.
One of the fundamental trajectory mining tasks is segmenta-
tion, i.e., split raw trajectories into sub-trajectories. Trajectory
segmentation is a fundamental task since the method inuences
the features representing each trajectory. An accurate segmen-
tation 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 homo-
geneous 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.
©
2019 Copyright held by the owner/author(s). Published in Proceedings of the
Published in the Workshop Proceedings of the EDBT/ICDT 2019 Joint Conference
on CEUR-WS.org, March 26, 2019:
Distribution of this paper is permitted under the terms of the Creative Commons
license CC-by-nc-nd 4.0.
Finally, semi-supervised methods use a combination of both la-
beled and unlabeled data as a criterion. Although eorts to create
labeled trajectory datasets [
8
,
23
] 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.
Since trajectory data is usually large and has all the charac-
teristics 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 tra-
jectory 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
[
8
,
9
,
11
,
13
,
16
], this work focuses on nding 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 dierent
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 compar-
ison of dierent kernel interpolations for datasets of dierent
domains.
The rest of this paper is organized as follows. We review the
algorithms for trajectory segmentation and interpolation in Sec-
tion 2. In Section 3, the denitions 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 RELATED WORK
Trajectory segmentation methods such as TRACLUS [
10
], W-
KMeans [
11
], SMOT [
1
], CB-SMoT [
14
], GRASP-UTS [
16
], and
RGRASP-SemTS [
9
] have been proposed to segment trajectory
data. These methods are briey reviewed in Section 2.1. Since the
proposed method can be customized for a domain by selecting
dierent interpolation methods as kernel, we reviewed some
major interpolation methods in Section 2.2.
2.1 Trajectory segmentation
Trajectory segmentation methods can be divided into three cate-
gories regarding the input data of the algorithm: (i) unsupervised,
(ii) supervised, and (iii) semi-supervised.
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
[
3
,
14
,
23
]. Finally, semi-supervised methods use a combination
of both labeled and unlabeled data as a criterion. The RGRASP-
SemTS is an example of such method [9].
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.
A quantitative comparison between some of the aforemen-
tioned methods is given in [
16
]. They reported higher perfor-
mance for GRASP-UTS in comparison to W-KMeans, and CB-
SMoT. The highest segmentation performance shown in [
16
] was
a purity of 91.37% and coverage of 83.00% on the shing vessels
dataset, and purity of 90.57% and coverage of 83.47% on the hur-
ricanes 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 Interpolation
Sometimes it is necessary to resample the frequency of trajec-
tory data due to signal loss. Calculating the geolocation for a
time-stamp that the geolocation is missing called interpolation.
Dierent methods such as linear, random walk, bézier curve,
catmull-row, and kinematic path have been introduced to calcu-
late 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 uid environments [
19
]. The hermite
and spline interpolation can be useful for AIS data(trajectories
of vessels) [
22
] and kinematic interpolation is useful for trans-
portation [
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 cal-
culate 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 in-
terpolation to utilize as a kernel for the proposed segmentation
algorithm with the objective of exploring their results into dier-
ent trajectory datasets.
3 THE TRAJECTORY SEGMENTATION
METHOD
In this section, we detail our novel algorithm for unsupervised
trajectory segmentation named Octal Window Segmentation
(OWS). We rst introduce the denitions used to describe the
algorithm (Section 3.1). After, we detail OWS algorithm step by
step in Section 3.2.
3.1 Denitions
Atrajectory point (
pi
) is dened as
pi=(xi,yi,ti)
, where
xi
is longitude,
yi
is latitude, and
ti
(
ti<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∈
τnand i≤n.
Asegment 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.
An octal window (
Sow
) is a sub-trajectory with seven trajectory
points, in which new trajectory points are created using inter-
polation techniques. We dene
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 dierent
windows.
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 fol-
lowing 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 Octal Window Segmentation Algorithm
The intuition behind our algorithm is that when a moving ob-
ject 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.
The rst procedure that composes OWS unsupervised trajec-
tory segmentation algorithm is detailed in Algorithm 1. This
procedure creates an error signal by sliding the octal window
over a raw trajectory τn.
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 rst 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
2
is called
pF
. After, the backward
Algorithm 1 Generate Error Signal
Require: τn- the raw trajectory
1: E←− {}
2: E.append([0,0,0])
3: for (i=3; i<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 PFand PB
8: ϵi←− Haver sine(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−t3
2
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 nally computed in line 8,
and it is obtained by calculating the haversine distance between
piand pC.
Figure 1: An example of an error signal calculation for an
octal sliding window Sow .
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 ex-
ample 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.
In Figure 2, an example of an error signal generated by Algo-
rithm 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.
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
Figure 2: An example of an error signal calculation for an
octal sliding window Sow .
Algorithm 2 Octal Window Segmentation
Require: ϵmin. error value to split a trajectory
1: E←− Generate Error Signal (τn)
2: f irst ←− 0
3: q←− [(f i rst ,n)]
4: p←− ∅
5: while q,∅do
6: t←q.pop()
7: curr ←E[t[0]:t[1]]
8: m←max(curr )
9: if m>ϵthen
10: idx ←index (curr == m)
11: if len(idx )== 1then
12: q.append((t[0],t[0]+idx[0]))
13: q.append((t[0]+idx[0]+1,t[1]))
14: else
15: ixx ←дroup index (idx )
16: for all д∈ixx do
17: q.append(( f irst,ixx[д]))
18: f irst =ixx[д]
19: end for
20: q.append(( f irst,t[1]))
21: end if
22: else
23: p.append(t)
24: end if
25: end while
26: return p
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 rst tuple
(f irst ,n)
that represents
the entire trajectory and adding it to a list
q
. In line 4, the nal
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 rst element of the list
t
(line 6), which in the rst 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 satises 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 tis appended to the nal list p.
4 EXPERIMENTS
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 algo-
rithms detailed in Section 4.3 and Section 4.4 shows a comparison
between our OWS strategy and a baseline segmentation algo-
rithm.
4.1 Metrics and datasets
Since our method is classied as an unsupervised method, cluster-
ing 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 cov-
erage. They were rst introduced in the context of trajectory
segmentation in the work of [
16
]. These two metrics were de-
signed to be orthogonal, i.e., when one tends to increase, the other
tends to decrease. Therefore, we dened the harmonic mean of
average purity (P) and average coverage (C), harmonic mean (H),
H=2∗P∗C
P+C
, as the primary metric for our analysis and to simplify
the plots and comparison of the segmentation algorithms.
The segment
purity
in a segment is dened as follows. Assum-
ing 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 tra-
jectory points in the segment and the number of occurrence of
pd
is
p
. Therefore, the purity of a segment is
p
k
. The average of
purity values for all segments generated by a trajectory segmen-
tation algorithm is called average purity,
P
. The
coveraдe
of a
segment can be calculated using a segment identier (
sid
) from
the segments found by the segmentation algorithm. Assuming
σm
is a segment that was supposed to be found by a segmenta-
tion algorithm, it is possible to verify for every segment found
by the algorithm the most frequent
sid
by
sid
m
. The average for
coverage of all generated segments is then called
C
. The more
over segmented a trajectory is, higher values of purity are ex-
pected 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 conicting 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.
Two datasets were selected for evaluation of OWS and the
baseline named GRASP-UTS: (i) shing (5190 points, 153 seg-
ments) 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 Algorithms parameter selection
In the experiments conducted in this work, ten dierent 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 dierent values of the harmonic mean of
average purity and coverage were found in our experiments.
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
conguration, in the same way, reported in [16].
For the OWS segmentation algorithm, the
ϵ
value was found
using the following steps. First, the total error signal
E
was gen-
erated 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 OWS interpolation methods evaluation
In the rst experiment, we tested the kinematic, linear, random
walk, and cubic interpolation methods in OWS for the hurricanes
and shing datasets.
The results on shing dataset show that random walk interpo-
lation produces the highest harmonic mean. Since we do not have
enough samples (10 harmonic mean values for every segmenta-
tion algorithm) to verify if the outcomes are normally distributed,
we have used the Mann Whitney U test to verify if the dierence
in the results is signicantly dierent. 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 dierences. A
Mann Whitney U test indicated that the random walk interpola-
tion kernel produces statistically signicant 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 detect-
ing shing activities and this is reected in random movement
behaviors changes.
Table 1: Comparing OWS interpolation methods on the
shing dataset.
RW LIN KIN CUB
M93.68 91.57 86.98 91.61
σ1.85 2.68 4.88 1.56
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 statisti-
cally signicant 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).
Table 2: Comparing OWS interpolation methods on the
hurricanes dataset.
RW LIN KIN CUB
M92.45 90.71 93.11 87.91
σ1.24 1.12 2.53 4.22
4.4 Comparison with a baseline
In this section, we compare the algorithms for unsupervised tra-
jectory segmentation named OWS and GRASP-UTS. Figure 3 (a)
shows a violin chart for the results of OWS segmentation on the
shing dataset in blue (left) and the GRASP-UTS in green (right)
for all subsets and interpolation methods. The random walk inter-
polation 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 shing dataset shows that OWS produces
a statistically signicant higher median for harmonic mean than
the GRASP-UTS.
The Figure 3 (b) shows the results of the OWS segmenta-
tion 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 hurri-
cane dataset shows that OWS produces a statistically signicant
higher median for harmonic mean than the GRASP-UTS.
Figure 3: Comparing results of OWS against GRASP-UTS
on Fishing dataset
5 CONCLUSION
In this work, we proposed an unsupervised trajectory segmenta-
tion 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
Figure 4: comparing results of OWS against GRASP-UTS
on Hurricanes dataset
the trajectory data into sub-trajectories. The proposed model
is exible to dierent domains by adjusting the interpolation
methods. The experimental results show that the kinematic in-
terpolation is more suitable for the hurricane dataset, while the
random walk interpolation was the best choice for segmenting
the shing 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 re-
sults show that our algorithm achieved a statistically signicant
higher harmonic mean of purity and coverage for the hurricane
and shing 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.
This work can be extended in several directions. First, we in-
tend 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 possibil-
ity of other interpolation methods and the eects of increasing
the window size used to create the error signal.
REFERENCES
[1]
Luis Otavio Alvares, Vania Bogorny, Bart Kuijpers, Jose Antonio Fernandes
de Macedo, Bart Moelans, and Alejandro Vaisman. 2007. A Model for Enrich-
ing Trajectories with Semantic Geographical Information. In Proceedings of
the 15th Annual ACM International Symposium on Advances in Geographic
Information Systems (GIS ’07). ACM, New York, NY, USA, Article 22, 8 pages.
https://doi.org/10.1145/1341012.1341041
[2]
Pablo Samuel Castro, Daqing Zhang, Chao Chen, Shijian Li, and Gang Pan.
2013. From taxi GPS traces to social and community dynamics: A survey.
ACM Computing Surveys (CSUR) 46, 2 (2013), 17.
[3]
Sina Dabiri and Kevin Heaslip. 2018. Inferring transportation modes from GPS
trajectories using a convolutional neural network. Transportation Research
Part C: Emerging Technologies 86 (2018), 360–371.
[4]
Erico N de Souza, Kristina Boerder, Stan Matwin, and Boris Worm. 2016.
Improving shing pattern detection from satellite AIS using data mining and
machine learning. PloS one 11, 7 (2016), e0158248.
[5]
Renata Dividino, Amilcar Soares, Stan Matwin, Anthony W Isenor, Sean
Webb, and Matthew Brousseau. 2018. Semantic Integration of Real-Time
Heterogeneous Data Streams for Ocean-related Decision Making. In Big Data
and Articial Intelligence for Military Decision Making. STO. https://doi.org/
10.14339/STO-MP- IST-160-S1- 3- PDF
[6]
Mohammad Etemad, Amílcar Soares Júnior, and Stan Matwin. 2018. Predicting
Transportation Modes of GPS Trajectories using Feature Engineering and
Noise Removal. In Advances in Articial Intelligence: 31st Canadian Conference
on Articial Intelligence, Canadian AI 2018, Toronto, ON, Canada, May 8–11,
2018, Proceedings 31. Springer, 259–264.
[7]
Shanshan Feng, Gao Cong, Bo An, and Yeow Meng Chee. 2017. POI2Vec:
Geographical Latent Representation for Predicting Future Visitors.. In AAAI.
102–108.
[8]
Amílcar Soares Júnior, Chiara Renso, and Stan Matwin. 2017. ANALYTiC:
An Active Learning System for Trajectory Classication. IEEE Computer
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 segmen-
tation 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
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.
Weka-SAT: A Hierarchical Context-Based Inference Engine to Enrich Trajec-
tories with Semantics. In Advances in Articial Intelligence. Springer Interna-
tional 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.
International Journal of Geographical Information Science 29, 1 (2015), 46–68.
[17]
Georgios Technitis, Walied Othman, Kamran Sa, and Robert Weibel. 2015.
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-benets of US
carbon policies. Nature Climate Change 4, 10 (2014), 917.
[19]
Yann Tremblay, Scott A Shaer, 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 uid 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/