<!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>Pythia: Distributed Pattern-based Future Location Prediction of Moving Objects</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Panagiotis Tampakis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nikos Pelekis</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Computer Science, University of Southern Denmark</institution>
          ,
          <country country="DK">Denmark</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Statistics &amp; Insurance Science, University of Piraeus</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Predictive analytics over mobility data is a domain that has received a lot of attention by the research community the past few years and encapsulates a wide range of sub-problems aiming to predict e.g. the future location of a moving object, the future trajectory of a moving object, the trafic flow, the expected time of arrival of a moving object to its destination etc.. These are all quite challenging problems from their nature and what makes them even more challenging is the massive production of mobility data, which sets some limitations over training such predictive models. In this paper we propose Pythia, a framework able to predict simultaneously, the exact future location of an extremely large set of moving objects, given a look-ahead time, by employing massive historical mobility patterns. In order to achieve this we build a predictor for each moving object, in the form of a directed acyclic graph, by taking into account not only its past movement but also collective historical patterns. Our experimental study shows that our approach can predict accurately the future location of moving objects in an eficient way.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;predictive analytics</kwd>
        <kwd>big mobility data</kwd>
        <kwd>future location prediction</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The propagation of GPS-enabled devices that has been
observed during the recent years has led to an unprecedented
rate of mobility data generation which in turn has posed
new challenges in terms of storage, querying, analytics and
knowledge extraction out of such data. The explosion of
mobility data generation has led the research community
to devise new interesting methods to analyse them. One of
these directions is predictive analytics over mobility data,
which aims at the utilization of historical data in order to
predict future behavioural patterns and trends. An
important operation with a wide range of applications, such as
collision detection, trafic estimation and service
recommendation, is future location prediction (FLP). What is even
more challenging is how to deal with this problem in the
Big Data era, where new positions arrive at frequent rates
and the accumulated ones scale to petabytes of data, and in
application scenarios where latency and scalability matter.</p>
      <p>Inspired by the above, in this paper we propose Pythia , a
framework able to predict simultaneously, in real-time, the
exact future location of an extremely large set of moving
objects, given a look-ahead time, by employing historical
mobility patterns. In order to achieve this we adopt a
hybrid approach, where we build a predictor for each moving
object by taking into account not only its individual past
movement but also collective historical patterns. By doing
so, we increase the predictive ability of our system, meaning
that the amount of cases where our system can make a
prediction is significantly increased, as compared to only using
the individual history of each moving object. Furthermore,
the accuracy of our systems predictions is increased, as
compared to only using collective historical patterns, since
individual moving objects tend to follow the same routes.</p>
      <p>Clearly, solving the above problem is quite challenging,
since one has to take into account not only the inherent
complexity of the FLP problem but also the challenges posed
by the Big Data era, in terms of volume and velocity of the
incoming data. In more detail, the problem can be broken
down in an Ofline and a Query module. The Ofline part
is responsible for identifying patterns of movement, either
individual or collective, while the Query part is responsible
for predicting the future location of a moving object, given a
look-ahead time and the set of patterns that were identified
during the Ofline module.</p>
      <p>
        Several eforts try to deal with this problem by applying
spatial discretization and generalization and then try to find
frequent locations or sequences of locations ([
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6">1, 2, 3, 4, 5, 6</xref>
        ]).
However, such approaches provide generalized and thus
inaccurate predictions. Moreover, a large number of
approaches do not take into account the temporal information
during the mobility behavior extraction and/or during the
prediction ([
        <xref ref-type="bibr" rid="ref1 ref10 ref3 ref6 ref7 ref8 ref9">7, 3, 8, 6, 1, 9, 10</xref>
        ]). Another line of research,
that takes into account both time and the exact location of
the moving objects, includes eforts that try to deal with
this problem by grouping entire trajectories, identifying
patterns of movement and then using them to predict the
future location ([
        <xref ref-type="bibr" rid="ref11 ref12 ref2 ref4">11, 2, 12, 4</xref>
        ]). However, identifying patterns
that are valid for the entire lifespan of the moving objects
can overlook significant patterns that might exist only for
some portions of their lifespan.
      </p>
      <p>
        Furthermore, all of the above approaches are centralized
and do not scale with the size of today’s trajectory data,
which calls for parallel and distributed algorithms in order
to address the FLP problem in a scalable and eficient way.
Towards this direction, [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] utilize the work done by [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
on distributed subtrajectory clustering in order to be able to
extract individual subtrajectory patterns from big mobility
data. These patterns are subsequently utilized in order to
predict the future location of the moving objects in parallel.
Despite the fact that this solution takes advantage of
subtrajectory patterns and is Big Data compliant, it sufers from
the fact that it takes account only individual patterns, thus
decreasing the system’s predictive ability. Furthermore, due
to the fact that subtrajectory patterns are patterns that are
valid for smaller portions of the trajectories lifespan, this
might lead to stumbling into “dead ends” (i.e. reaching the
end of a pattern and not having the ability to predict further
ahead in time), which, in turn, would lead to decreased
lookahead prediction ability. In turn, this might lead to either
decreased predictive ability or decreased accuracy,
depending on whether the system provides a prediction ([
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] return
the last point of the pattern as the predicted point if the
lookahead time exceeds the lifespan of the pattern) or not ([
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
does not provide a prediction if the look-ahead time exceeds
the lifespan of the pattern).
      </p>
      <p>Our main contributions are the following:
• We propose an eficient and scalable tailor-made
prediction-oriented subtrajectory pattern extraction
technique.
• We propose a distributed pattern network
reconstruction technique. These networks have the
potential to serve as predictors for other predictive
analytics, such as trajectory prediction and ETA.
• We perform an experimental study, where the
efectiveness of the proposed algorithms is evaluated.</p>
      <p>The rest of the paper is organized as follows. In Section 2
we provide an overview of the relevant literature.
Subsequently, in Section 3 we introduce some preliminaries and
provide the problem definition. In Section 4 we present
our proposed solution to the problem of distributed
patternbased future location prediction and in Section 5, we present
the results of our experimental study. Finally, in Section 6
we conclude the paper and discuss about the future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        The fact that the FLP problem has been thoroughly
studied brings up its importance and applicability in a wide
range of applications. There are several studies in the past
that dealt with the FLP problem that can be categorized
in some groups. There is a group of studies that adopt a
time series analyses approach [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. However, this
approaches are individual and perform spatial discretization
which can afect the accuracy of the system. In another line
of research, probabilistic models are employed and more
specifically Hidden Markov Models (HMM). The general
approach includes discretization of the spatial domain in order
to identify sequences of “important” locations [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ].
Nevertheless, both of these approaches are collective-only, do
not take into account the temporal information and perform
some kind of spatial generalization, which can afect the
accuracy of the system. Some studies use methods like HMM
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], Continuous-Time Markov Processes [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] or Dynamic
Bayesian Networks models [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, all of the above
approaches are individual-only, do not take into account
the temporal information and perform some kind of spatial
generalization, which can lead to prediction with decreased
accuracy.
      </p>
      <p>
        A diferent way of addressing the FLP problem includes
machine learning approaches. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] model the trajectory of
sea vessels and provide a service that predicts in near-real
time the position of any given vessel by employing
multilayer perceptrons (MLPs), while in [
        <xref ref-type="bibr" rid="ref20 ref21 ref22">20, 21, 22</xref>
        ], the authors
employ LSTM networks to predict the future location of
vessels. [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] introduce a machine-learning model which
exploits geospatial time-series surveillance data generated
by sea-vessels, to predict future trajectories based on
realtime criteria. Nevertheless, most of the machine learning
approaches use collective-only patterns and are not “cost”
eficient due to the “expensive” training step. Furthermore,
explainability of the results is always an issue, especially in
neural network based approaches. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
      </p>
      <p>
        Another interesting viewpoint is to take advantage of
historical movement patterns in order to predict the
future location. There are several approaches that use either
collective-only patterns [
        <xref ref-type="bibr" rid="ref1 ref24 ref5 ref6">6, 5, 1, 24</xref>
        ] or individual-only
patterns [
        <xref ref-type="bibr" rid="ref25 ref4">4, 25</xref>
        ]. As already discussed this might afect either
the predictive ability of the model or the accuracy pf the
predictions. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] propose MyWay, a hybrid, pattern-based
approach that utilizes individual patterns when available,
and when not, collective ones, in order to provide more
accurate predictions and increase the predictive ability of
the system. In more detail, MyWay clusters trajectories of
individuals in order to identify patterns that are valid for the
entire lifespan of each individual object. Moreover, the same
procedure is repeated for the entire set of trajectories of all
moving objects, in order to identify collective patterns.
Finally, when available, the individual patterns are employed,
otherwise the collective patterns are utilized in order to
perform the future location prediction. Similarly, [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] a
mobility graph that depicts the most likely movements among
two ports. Nonetheless, as already mentioned, identifying
patterns that are valid for the entire lifespan of the moving
objects can overlook significant patterns that might exist
only for some portions of their lifespan.
      </p>
      <p>
        To deal with this, there is a group of clustering methods
[
        <xref ref-type="bibr" rid="ref27 ref28 ref29">27, 28, 29</xref>
        ] that aim to segment trajectories to
subtrajectories, based on some criteria, and then discover clusters of
subtrajectories. However, all of the above approaches are
centralized and do not conform with the requirements of
the Big Data era in terms of speed and velocity, which, in
turn, calls for parallel and distributed algorithms in order
to address the FLP problem in a scalable and eficient way.
Towards this direction, [
        <xref ref-type="bibr" rid="ref13 ref30">30, 13</xref>
        ] utilize the work done by
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] on distributed subtrajectory clustering in order to be
able to extract individual subtrajectory patterns from big
mobility data. These patterns are subsequently utilized in
order to predict the future location of the moving objects in
parallel. Despite the fact that these solutions take advantage
of subtrajectory patterns and are Big Data compliant, they
sufer from the fact that they take into account only
individual or collective patterns, respectively, thus decreasing the
system’s predictive ability and accuracy. Furthermore, due
to the fact that subtrajectory patterns are patterns that are
valid for smaller portions of the trajectories lifespan, this
might lead to decreased look-ahead prediction ability.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Problem Definition</title>
      <sec id="sec-3-1">
        <title>3.1. Preliminaries</title>
        <p>In this section we are going to provide some preliminary
definitions. In more detail, given a set  of trajectories
moving in the xy-plane,
Definition 1. (Trajectory) A trajectory  ∈  is a
sequence of timestamped locations {1, . . . ,  }. Each  =
(, , ) represents the -th sampled point,  ∈ 1, . . . ,  of
trajectory , where  denotes the length of  (i.e. the number
of points it consists of). The pair (, ) and  denote the 2D
location in the xy-plane and the time coordinate of point 
respectively.</p>
        <p>Definition 2. (Subtrajectory) A subtrajectory , ∈  ∈
 is a subsequence {, . . . ,  } of  which represents the
movement of the object between  and  where  &lt; .
Definition 3. (Distance) Further, let (,  ) denote the
spatial distance between two points ,  , which is defined
as the Euclidean distance in this paper, even though other
distance functions are also applicable. Also, let (,  )
denote the temporal distance, defined as |. −  .|.</p>
        <p>
          Regarding the similarity between (sub)trajectories, in this
paper we chose to employ the Longest Common
Subsequence (LCSS) for trajectories, as defined in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], which
holds several desirable properties, such as the support of
trajectories with variable sampling rate, variable length and
lack of alignment and the fact that it allows trajectories
that have some temporal displacement to be considered as
“similar”. Moreover, this similarity measure is symmetric
and computationally eficient. More specifically, the LCSS
utilizes two parameters, the parameter   indicating the
temporal range wherein the method searches to match a
specific point, and the   parameter which is a distance
threshold to indicate whether two points match or not.
Definition 4. (Similarity) Hence, the similarity between
two (sub)trajectories  and  is defined as:
(, ) =
(||,||)
∑︀
=1
(1 −
(,) )
        </p>
        <p>(||, ||)
(1)
where (, ) is a pair of matched points and || (||) is
the length of  ( respectively). Moreover, it holds that
(, ) = (, ).</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Properties of Subtrajectory Pattern</title>
      </sec>
      <sec id="sec-3-3">
        <title>Extraction</title>
        <p>The goal of this module is to identify frequent patterns of
movement that will maximize the prediction accuracy and
the predictive ability of our system. The desired properties
that a prediction-oriented (sub)trajectory pattern extraction
algorithm should hold are the following:
Discovering patterns of subtrajectories. As argued in
Section 1, this will enable us to identify more patterns, which
would be otherwise “lost”.</p>
        <p>Spatiotemporal pattern extraction. It is of great
importance for the task of prediction to discover patterns that
take into account time, hence implicitly the speed.
Clusters with small spatial extent. In order for the
predictions to be more accurate, the identified patterns should
represent groups of objects that are not spatially dispersed.
Obviously, this, rules out a large number of approaches
that perform density-based clustering which might lead to
spatially extended clusters through expansion.</p>
        <p>Coverage. In order to increase the predictive ability, the
identified patterns need not to be concentrated in a specific
region, but to cover the datasets extent as much as possible.
“Dead ends” minimization. As already mentioned in
Section 1, due to the fact that subtrajectory patterns are patterns
that are valid for smaller portions of the trajectories lifespan,
this might lead to stumbling into “dead ends”, which leads
to decreased look-ahead prediction ability.</p>
        <p>Distributed. In order for this solution to be able to extract
patterns from big trajectory data, parallel and distributed
algorithms need to be utilized.</p>
        <p>O
A
(c)</p>
        <p>O
A
(d)</p>
        <p>D</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.3. Distributed Subtrajectory Pattern</title>
      </sec>
      <sec id="sec-3-5">
        <title>Network Extraction (D-SPaNE)</title>
        <p>Our approach towards building a framework that meets
with the aforementioned specifications can be split into four
sub-problems. To help us, let us consider the following
example.</p>
        <p>Example 1. Figure 1 illustrates six trajectories moving in
the xy-plane, where each one of them has a diferent
origindestination pair. More specifically, these pairs are  → ,
 → ,  → ,  → ,  →  and  → . The goal
of a subtrajectory pattern extraction method is to identify 4
patterns ( → ,  → ,  → ,  → ), as depicted
in Figures 1(c).</p>
        <p>
          Problem 1. (Subtrajectory Join) The first step is the so
called subtrajectory join, a well-defined problem in the
literature of mobility data management, where the goal is to
retrieve for each trajectory  ∈ , all the moving objects,
with their respective portion of movement, that moved close
enough in space and time with , for at least some time
duration [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]. Actually, the subtrajectory join will return for each
pair of (sub)trajectories, all the candidate longest common
subsequences. Figure 1(a) illustrates the subtrajectory join
result for trajectory  →  of the Example 1.
        </p>
        <p>
          Problem 2. (Trajectory Segmentation) The second step
takes as input the result of the first step, which is actually a
trajectory  and its neighboring trajectories and aims at
segmenting each  ∈  into a set of subtrajectories. The way that a
trajectory is segmented into subtrajectories is
neighbourhoodaware, meaning that a trajectory will be segmented every
time the density of its neighbourhood changes significantly.
In this paper, we are going to adopt the approach followed
in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Returning to Example 1, trajectory  →  should
be segmented to  →  and  → , since at  the density
of its neighbourhood changes significantly, as illustrated in
Figure 1(b).
        </p>
        <p>
          Problem 3. (Subtrajectory Pattern Extraction) Given
the output of Problem 1, applying a trajectory segmentation
algorithm for the trajectories  will result in a new set of
subtrajectories ′. The third step takes as input ′ and the
goal is to identify a set of “representative” subtrajectories
(patterns), whose cardinality is unknown. More specifically, let
 = {1, . . . ,  } denote the set of “representatives”, where
 is the number of the identified patterns. Actually, the
problem can be viewed as a subtrajectory sampling problem, where
the goal is, given ′, to select the most “representative”
subset  of subtrajectories, in terms not only of the number of
subtrajectories that are represented but also to cover the entire
extent of ′ as much as possible. Towards this direction, we
employ the work presented in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
        </p>
        <p>Here, (a) actually guarantees the large coverage of  by
allowing a subtrajectory to be added in  if it is dissimilar
with the already existing members of  and (b) ensures
that ′ is maximally represented given the restrictions
imposed by (a). Figure 1(c) depicts the four identified patterns,
namely  → ,  → ,  →  and  → , of
Example 1.</p>
        <p>Finally, the fourth step takes as input the set of identified
patterns  and aims at constructing a spatiotemporal
directed graph  = (, ), where  is a set of vertices and
 is a set of edges, that represents a network of movement
through which a moving object can be routed. At this point,
we should mention that  is a set of spatiotemporal points
and  is a set of subtrajectories, as defined in Definition 2.
By this, we can minimize the number of “dead ends” and
increase the look-ahead prediction ability.</p>
        <p>Due to the hybrid nature of out system, there is the
possibility that an individual pattern might be identical with
a collective pattern. Furthermore, a pattern might be the
continuation of another pattern, irrespective of whether
they are individual or collective. Hence, an algorithm that
takes as input a set of patterns and tries to construct a
directed graph, would have to perform a series of “merge” and
“append” operations. More specifically, a “merge” operation
between two patterns ′ and ′ takes place if ′ is an
individual pattern and ′ a collective one (or vice-versa) and
(′, ′) &gt;  , where  is a similarity threshold.
Moreover, an “append” operation two patterns ′ and ′ takes
place if 0 ≤ ′1. − ′ . ≤   ∧ (′1, ′ ) ≤   or
vice-versa, where ′1 is the first point of ′ and ′ is the
last point of ′. The spatiotemporal gap that might arise
between ′ and ′1 gets filled by the shortest path between
these two points when the underlying network of movement
is known or by linearly interpolating in any other case. This
can be considered as the “connection edge” between the two
patterns. Finally,  can be constructed by considering as
vertices all the initial and ending points of the patterns and
as edges all the resulting patterns along with the
connection edges. Figure 1(d) illustrates the reconstructed pattern
network, given the patterns of Figure 1(c).</p>
        <p>Problem 4. (Pattern Network Reconstruction) Given a
set of patterns , a spatial threshold  , a temporal tolerance
  and a similarity threshold  , construct a spatiotemporal
directed graph  = (, ) after performing all the appropriate
“merge” and “append” operations.</p>
        <p>In this paper, we address the challenging problem of
prediction-oriented subtrajectory pattern network
extraction in a distributed setting, where the dataset  is
distributed across diferent nodes, and centralized processing
is prohibitively expensive.</p>
        <p>Problem 5. (Distributed Subtrajectory Pattern
Network Extraction) Given a distributed set of trajectories,

 = ∪=1, where  is the number of partitions of ,
perform the prediction-oriented subtrajectory pattern
extraction task in a parallel manner.</p>
        <p>Actually, Problem 5 can be broken down to solving
Problems 1, 2, 3 and 4 (in that order) in a parallel/distributed
way. Finally, the Future Location Prediction problem can be
defined as follows:
Definition 5. (Future Location Prediction) Given a
desired look-ahead time , a pattern network  and the
recent  positions {− +1, . . . ,  } of moving object , where,
 is the latest reported position, predict the position of  at
 . + .</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. The Pythia Framework</title>
      <sec id="sec-4-1">
        <title>4.1. Overview</title>
        <p>The Pythia framework consists of the distributed
subtrajectory pattern network extraction (D-SPaNE) and the Prediction
component, as illustrated in Figure 2. The D-SPaNE
component is responsible for extracting the subtrajectory pattern
networks in a distributed manner, given a large set of
accumulated historical data. The Prediction component receives
the k-recent positions of a trajectory and the look-ahead
time for each moving object, it retrieves its corresponding
hybrid pattern network, “matches” its recent history on the
network and routes through it until it finds the future
location of the moving object at the desired look-ahead time
.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. D-SPaNE Component</title>
        <p>Concerning the D-SPaNE component, it consists of a
distributed storage file system, such as HDFS, which contains
accumulated historical mobility data and D-SPaNE itself,
which takes as input a distributed trajectory dataset from the
distributed file system and constructs a set of hybrid
subtrajectory pattern networks   = { 1, . . . ,   },
where  is the number of moving objects. As already
mentioned, the term hybrid indicates that we build a predictor
for each moving object by taking into account both its
individual past movement and collective historical patterns.
Algorithm 1  −   ()
1: Input: 
2: Output: set   of subtrajectory pattern networks
3: Preprocessing: Align and Repartition D;</p>
        <p>4: for each partition  ∈ ∪=1 do
5: perform Point-level Join;
6: group by Trajectory;
7: for each Trajectory  ∈  do
8: perform Subtrajectory Join;
9: perform Trajectory Segmentation;
10: group by ;
11: perform Pattern Extraction ∀ ;
12: perform Refine Results ;
13: group by Trajectory;
14: for each Trajectory  ∈  do
15: perform Network Reconstruction
16: return   ;</p>
        <p>An overview of D-SPaNE is presented in Algorithm 1. In
more detail, initially, we temporally Align the first points
of each trajectory starting at  = 0, in such a way that the
temporal dimension depicts the duration since the start of a
trajectory, and then Repartition the data into  equi-sized,
temporally-sorted temporal partitions (files), which are
going to be used as input for the join algorithm in order to
perform the subtrajectory join in a distributed way (line 3).
Note that this is actually a preprocessing step that only
needs to take place once for each dataset . However, it
is essential as it enables load balancing, by addressing the
issue of temporal skewness in the input data. Subsequently,

for each partition  ∈ ∪=1 and for each trajectory we
Prediction Component</p>
        <p>tpred
k-recent positions</p>
        <p>retrieve
D-SPaNE Component</p>
        <p>Distributed Storage
Historical</p>
        <p>Data
+
Pattern
Network
match</p>
        <p>FLP
discover parts of other trajectories that moved close enough
in space and time (line 5). Successively, we group by
trajectory in order to perform the subtrajectory join (line 8). At
this phase, since our data is already grouped by trajectory,
we also perform trajectory segmentation in order to split
each trajectory to subtrajectories (line 9). In turn, we
utilize the temporal partitions created during the Repartition
phase and re-group the data by temporal partition. For each

 ∈ ∪=1 we perform the pattern extraction procedure
(line 11). At this point we should mention that if a
subtrajectory intersects the borders of multiple partitions, then it
is replicated in all of them. This will result in having
duplicate and possibly contradicting results. For this reason, as a
ifnal step, we treat this case by utilizing the Refine Results
procedure (line 12). We should also mention that lines 5-12,
will be executed twice, once for identifying collective and
once for individual patterns. The actual diference between
the two executions lies at the Point-level Join (line 5), where
during the extraction of collective patterns, we discover for
each trajectory parts of other trajectories that moved close
enough in space and time that belong to diferent moving
objects, while during the extraction of individual patterns,
they need to belong to the same moving object. Finally, we
perform the Network Reconstruction (line 15) procedure by
grouping the identified individual patterns by trajectory,
hence each processing node receives one such group, while
we distribute the global patterns to all of the processing
nodes. Finally, the set   is emitted.</p>
        <p>
          Clearly, tackling the above problem is quite challenging
in a distributed setting. For this reason, we outline a
solution that follows the popular MapReduce paradigm. Figure 3
illustrates the D-SPaNE algorithm in terms of MapReduce.
Up to the Refine Results step we employ the distributed
solutions presented in [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ] and [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The only diference for the
Pattern Extraction step is that we do not have to calculate
the similarity between a representative ′ and all the other
non-representative subtrajectories. As for the Refine Results
step, apart from the possible duplicates that we might get,
due to the fact that each subtrajectory that temporally
intersects multiple partitions is replicated to each one of them,
there might exist non-intersecting patterns from diferent
partitions that represent the same pattern of movement.
This is due to the temporal tolerance parameter of   of the
similarity function presented in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. For this reason, apart
from the duplicate elimination problem that needs to be
addressed here, we also need to investigate whether
nonintersecting patterns, whose temporal distance from the
borders of a temporal partition is less than   (also referred
to as intersecting from now on), are significantly similar
with intersecting patterns coming from other partitions.
Among those similar patterns, the ones that are selected to
be removed are the ones that have less support.
        </p>
        <p>Regarding the Network Reconstruction, the goal is to take
as input the set  of individual and collective patterns,
identified by the previous step, and construct a set of directed
graphs   = { 1, . . .   }, where  is the
number of moving objects and   = (, ) corresponds to
the graph of the i-th moving object. As already mentioned in
Section 3, the network reconstruction algorithm, will have
to perform, a series of “merge” and “append” operations,
as depicted in Figure 4 and at the same time calculate the
“weight” of each edge  and reconstruct the network.
Algorithm 2 describes the network reconstruction procedure.
Algorithm 2  ()
1: Input: 
2: Output: set   of networks
3: for each moving object  do
4: for each pattern  ∈  do
5:  ℎ();
6:  =  + ;
7: for each element  ∈  do
8: if . −   &gt; . then
9:  −  ← ;
10:  =  − ;
11: else
12: if  is individual ∧  is collective then
13: if (, ) ≥  then
14:  =  − ;
15: else if  is individual ∧  is collective then
16: if (, ) ≥  then
17:  =  − ;
18: if . &gt; . then
19: if (., .) ≤   then
20:  − {← ., .});
21:  −  ← ;
22: return   ;</p>
        <p>In order to achieve this, for each pattern , we calculate its
“weight” and add it in a new set  (lines 4-6). The “weight”
of each pattern is calculated by taking into account both the
voting  () of each pattern (i.e. support)  and whether 
is an individual pattern or not. In more detail,
Split 1 Data
[t1-εt,t2+εt)
Split 2 Data
[t2-εt,t3+εt)
.
.</p>
        <p>.</p>
        <p>Split P Data
[tP-1-εt,tP+εt)</p>
        <p>Map
Split 1
Join(⋈)
Split 2
Join(⋈)
.
.</p>
        <p>Split P
Join(⋈)
where  is a boolean that equals to 1 if  is an
individual pattern and 0 otherwise and  () is the
normalized voting (support). In this way, edges that correspond
to individual and/or highly “voted” patterns take values
“closer” to zero and thus become more likely to be traversed
by a routing algorithm. We should remind here that the
patterns arrive in each reducer sorted by , as illustrated
in Figure 3. Subsequently, for each other pattern  in ,
we examine whether . −   &gt; .. If this is the
case, it means that the end of  is so far in the past that
is impossible for  to participate in any future “merge” or
“append” operations, as depicted in Figure 4(a). For this
reason, we add  to the final   set and remove it from 
(lines 7-10). Otherwise, we examine if  is an individual and
 a collective pattern or vice versa. If so, we calculate their
similarity and if (, ) ≥  then we merge the two
patterns by keeping in  only the individual one (lines
1217), as delineated in Figure 4(b). Further, we investigate if
. &gt; .. In case this is true, this indicates that
an “append” operation might take place, hence we further
examine if (., .) ≤   and if this is also true
then perform the “append” operation by adding the
“connection edge” {., .} into   (lines 18-20),
as illustrated in Figure 4(c).When, all patterns are traversed,
then  gets flushed to   and finally, after all moving
objects get processed   is returned (lines 21- 22).</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Prediction Component</title>
        <p>Regarding the Prediction component, it receives the  most
recent positions of moving objects and the goal is to predict
its future location at the given look-ahead time . This
is done in a straightforward way, as depicted in Figure 2,
by retrieving the corresponding subtrajectory pattern
network, matching its -most recent positions on the network
and predict its future location at the given look-ahead time
. In case there are multiple candidate positions to be
returned, we retrieve the one that there is actually a path
between the current position and the candidate destination
on the network. Finally, in case we have multiple candidate
destinations where a path exists, we select the one with the
shortest path, according to the edge weights (Equation 2)
that we have assigned.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Experimental Evaluation</title>
      <p>In this section, we present some preliminary findings. The
experiments were conducted in a 49 node Hadoop 2.7.2
cluster. The master node consists of 8 CPU cores, 8 GB of
RAM and 60 GB of HDD while each slave node is comprised
of 4 CPU cores, 4 GB of RAM and 60 GB of HDD.</p>
      <p>For our experimental study, we employed a real and a
synthetic dataset. Concerning the real dataset, we used a
dataset from the urban domain of 1 week duration , called
VFI1, consisting of 25019834 records. Furthermore, we
utilized a synthetic dataset in order to verify that our
solution operates as anticipated, given a dataset with a known
ground truth.</p>
      <p>In more detail, the synthetic dataset (SMOD) consists of
an object which has performed 400 trips (trajectories) and is
used for the ground truth verification. The scenario of the
synthetic dataset is the following: the object moves upon
a simple graph that consists of the following destination
nodes (points) with coordinates: A(0,0), B(1,0), C(4,0) and
D(2,1), illustrated in Figure 5(a). Half of the times the object
moves with normal speed (2 units per second) and another
half moves with high speed (5 units per second). When
an object arrives at a node, it ends its trajectory with a
1This private dataset was kindly provided by Vodafone Innovus
(a)
(b)
(c)
(d)
probability of 15%. Finally, there is 1% of the trajectories
that follow a random movement in space (other than these
roads) with a speed that is updated randomly.</p>
      <p>Our experimental methodology is as follows: Initially, we
verify that our solution operates as anticipated by applying
it to a dataset with a known ground truth. Subsequently, we
evaluate the quality of the predictions by varying the
lookahead time and measuring the accuracy of the predictions
in terms of MAE. Finally, we measure the performance by
varying the look-ahead time and measuring the latency.</p>
      <p>In order to verify the correctness of our solution we
utilized the aforementioned SMOD dataset. To begin with, we
are going to verify that the pattern extraction component
of our solution operates as anticipated. In more detail, the
ground truth of the patterns that are hidden in SMOD can
be inferred by the description of the dataset itself. In
particular, eight clusters of subtrajectories need to be identified.
The following Table lists the eight clusters along with their
spatial (2nd column) and temporal projection (3rd column).</p>
      <sec id="sec-5-1">
        <title>Cluster</title>
        <p>#1, #2
#3, #4
#5, #6
#7
#8</p>
      </sec>
      <sec id="sec-5-2">
        <title>Path</title>
        <p>→ 
 → 
 → 
 → 
 →</p>
      </sec>
      <sec id="sec-5-3">
        <title>Time periods (clusters)</title>
        <p>[0, 0.2], [0.2, 0.7]
[0.2, 0.8], [0.7, 1.2]
[0.2, 0.52], [0.7, 1.2]
[0.8, 1]
[0.52, 1]</p>
        <p>Indeed, the pattern extraction module discovers these
eight clusters, as illustrated in Figure 5(b). The next step
is the network reconstruction component, where the goal
is to construct a directed graph  from the subtrajectory
patterns. The challenge here is to restore the connectivity
of movement of the specific objects by applying “stitches”
when appropriate. In more detail, Figure 5(c) illustrates
the edges (each pattern is an edge) of the graph before the
graph reconstruction procedure and Figure 5(d) depicts the
constructed graph, where the applied “stitches” are in black
colour.</p>
        <p>Quality of the predictions. At this point we have
veriifed that the ofline component functions as expected.
Regarding the accuracy of the predictions over the synthetic
dataset we performed a set of experiments where we vary
the look-ahead time and measure the Mean Average
Error (MAE) of the predictions. In more detail, Figure 6(a)
shows that the accuracy achieved is high, considering that
the dataset diameter is approximately 500 meters and the
look-ahead time ranges from 5%-30% of the dataset duration
(each trajectory ‘lives” for 100 seconds). Furthermore, as
anticipated the larger the look-ahead time, the larger the MAE
between the predictions and the actual positions.
Regarding the VFI dataset, as depicted in Figure 6(c), the findings
regarding the behaviour of MAE w.r.t. the look-ahead time
are equivalent, the larger the MAE between the predictions
and the actual positions.</p>
        <p>Performance. Finally, we investigate the performance
of our solution in terms of latency (i.e. how much time
it takes to make a prediction). Initially, we utilized the
SMOD dataset and measured the latency of our solution.
Figure 6(b) presents our findings, where we can observe
that our system, for the majority of the cases, can make a
prediction at about 1 millisecond. In addition to that, we can
see that the look-ahead time does not afect the processing
time per prediction. We run the same set of experiments,
but this time for the VFI dataset. As expected, the findings
are again similar, which demonstrates the capability of our
solution to handle large volumes of data in timely fashion.
Figure 6(d) presents our findings, where we can observe
that our system, for the majority of the cases, can make a
prediction at about 1 millisecond.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions and Future Work</title>
      <p>
        In this paper, we presented Pythia, a big data framework
able to predict the exact future location of an extremely
large set of moving objects, given a look-ahead time, by
employing massive historical mobility patterns. Our
preliminary results demonstrate the potential of our proposal. As
for future work, we aim perform a more in-depth
experimental study, utilizing more datasets and comparing with
the state of the art. Furthermore we plan to evaluate the
performance of the D-SPaNE component, even though we
anticipate to follow the performance of the work presented
in [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] and [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. We also aim to consider the same
problem in an online scenario where streams of data arrive at
high rate. Another interesting direction, that stems from
the above, is to investigate how the proposed networks can
be updated/maintained when new data arrive. Finally, as
already mentioned, this framework shows potential for other
predictive analytics also, like trajectory prediction and ETA.
So, we would like to investigate this possibility of extending
this framework to a wide range of predictive analytics.
      </p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was supported in part by the Horizon Europe
research and innovation programme under grant
agreements 101070416 (Green.Dat.AI) and 101093051
(EMERALDS) funded by the European Union.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Monreale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Trasarti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giannotti</surname>
          </string-name>
          ,
          <article-title>Wherenext: a location predictor on trajectory pattern mining</article-title>
          ,
          <source>in: ACM SIGKDD</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>637</fpage>
          -
          <lpage>646</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Lei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Peng</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Su</surname>
          </string-name>
          ,
          <article-title>Exploring spatialtemporal trajectory model for location prediction</article-title>
          , in: IEEE MDM,
          <year>2011</year>
          , pp.
          <fpage>58</fpage>
          -
          <lpage>67</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Gidófalvi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <article-title>When and where next: individual mobility prediction</article-title>
          ,
          <source>in: ACM SIGSPATIAL MobiGIS</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>57</fpage>
          -
          <lpage>64</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>H.</given-names>
            <surname>Jeung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. T.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <article-title>A hybrid prediction model for moving objects</article-title>
          , in: ICDE, IEEE,
          <year>2008</year>
          , pp.
          <fpage>70</fpage>
          -
          <lpage>79</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Yavas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Katsaros</surname>
          </string-name>
          , Ö. Ulusoy,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Manolopoulos</surname>
          </string-name>
          ,
          <article-title>A data mining approach for location prediction in mobile environments</article-title>
          ,
          <source>Data Knowl. Eng</source>
          .
          <volume>54</volume>
          (
          <year>2005</year>
          )
          <fpage>121</fpage>
          -
          <lpage>146</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E. H.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. S.</given-names>
            <surname>Tseng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. S.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <article-title>Mining cluster-based temporal mobile sequential patterns in location-based service environments</article-title>
          ,
          <source>IEEE Trans. Knowl. Data Eng</source>
          .
          <volume>23</volume>
          (
          <year>2011</year>
          )
          <fpage>914</fpage>
          -
          <lpage>927</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Anagnostopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Anagnostopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hadjiefthymiades</surname>
          </string-name>
          ,
          <article-title>Mobility prediction based on machine learning</article-title>
          ,
          <source>in: IEEE MDM</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>27</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Jia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Jin</surname>
          </string-name>
          , X. Cheng, Location prediction:
          <article-title>A temporal-spatial bayesian model</article-title>
          ,
          <source>ACM TIST 7</source>
          (
          <year>2016</year>
          )
          <volume>31</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>31</lpage>
          :
          <fpage>25</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Nishino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Nakamura</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Yagi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Muto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Abe</surname>
          </string-name>
          ,
          <article-title>A location predictor based on dependencies between multiple lifelog data</article-title>
          ,
          <source>in: LBSN</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>11</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Qiu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Papotti</surname>
          </string-name>
          , L. Blanco,
          <article-title>Future locations prediction with uncertain data</article-title>
          ,
          <source>in: ECML PKDD</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>417</fpage>
          -
          <lpage>432</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Trasarti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Guidotti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Monreale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giannotti</surname>
          </string-name>
          , Myway: Location prediction via mobility profiling,
          <source>Inf. Syst</source>
          .
          <volume>64</volume>
          (
          <year>2017</year>
          )
          <fpage>350</fpage>
          -
          <lpage>367</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>H.</given-names>
            <surname>Georgiou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sideridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Scarlatti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <article-title>Semantic-aware aircraft trajectory prediction using flight plans</article-title>
          ,
          <source>International Journal of Data Science and Analytics</source>
          (
          <year>2019</year>
          )
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Petrou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Tampakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. V.</given-names>
            <surname>Georgiou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <article-title>Online long-term trajectory prediction based on mined route patterns</article-title>
          ,
          <source>in: MASTER@ECMLPKDD</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>34</fpage>
          -
          <lpage>49</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>P.</given-names>
            <surname>Tampakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Doulkeridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <article-title>Scalable distributed subtrajectory clustering</article-title>
          ,
          <source>in: IEEE (Big Data)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>950</fpage>
          -
          <lpage>959</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Scellato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Musolesi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Mascolo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Latora</surname>
          </string-name>
          , A. T. Campbell,
          <article-title>Nextplace: A spatio-temporal prediction framework for pervasive systems</article-title>
          , in: Pervasive,
          <year>2011</year>
          , pp.
          <fpage>152</fpage>
          -
          <lpage>169</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ceci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Appice</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Malerba</surname>
          </string-name>
          ,
          <article-title>Time-slice density estimation for semantic-based tourist destination suggestion</article-title>
          ,
          <source>in: ECAI</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>1107</fpage>
          -
          <lpage>1108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ayhan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Samet</surname>
          </string-name>
          ,
          <article-title>Aircraft trajectory prediction made easy with predictive analytics</article-title>
          ,
          <source>in: ACM SIGKDD</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ayhan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Samet</surname>
          </string-name>
          ,
          <article-title>Time series clustering of weather observations in predicting climb phase of aircraft trajectories</article-title>
          ,
          <source>in: IWCTS@SIGSPATIAL</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>25</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Valsamis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Tserpes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zissis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Anagnostopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Varvarigou</surname>
          </string-name>
          ,
          <article-title>Employing traditional machine learning algorithms for big data streams analysis: The case of object trajectory prediction</article-title>
          ,
          <source>J. Syst. Softw</source>
          .
          <volume>127</volume>
          (
          <year>2017</year>
          )
          <fpage>249</fpage>
          -
          <lpage>257</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>P.</given-names>
            <surname>Tampakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Chondrodima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tritsarolis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pikrakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Pristouris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Nakos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kalampokis</surname>
          </string-name>
          , T. Dalamagas,
          <article-title>i4sea: a big data platform for sea area monitoring and analysis of ifshing vessels activity</article-title>
          ,
          <source>Geo spatial Inf. Sci</source>
          .
          <volume>25</volume>
          (
          <year>2022</year>
          )
          <fpage>132</fpage>
          -
          <lpage>154</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>P.</given-names>
            <surname>Tampakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Chondrodima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pikrakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Pristouris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Nakos</surname>
          </string-name>
          , E. Petra,
          <string-name>
            <given-names>T.</given-names>
            <surname>Dalamagas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kandiros</surname>
          </string-name>
          , G. Markakis, I. Maina,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kavadas</surname>
          </string-name>
          ,
          <article-title>Sea area monitoring and analysis of fishing vessels activity: The i4sea big data platform</article-title>
          , in: IEEE MDM,
          <year>2020</year>
          , pp.
          <fpage>275</fpage>
          -
          <lpage>280</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>E.</given-names>
            <surname>Chondrodima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pikrakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <article-title>An eficient lstm neural network-based framework for vessel location forecasting</article-title>
          ,
          <source>IEEE TITS 24</source>
          (
          <year>2023</year>
          )
          <fpage>4872</fpage>
          -
          <lpage>4888</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>N.</given-names>
            <surname>Zorbas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zissis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Tserpes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Anagnostopoulos</surname>
          </string-name>
          ,
          <article-title>Predicting object trajectories from high-speed streaming data</article-title>
          , in: IEEE TrustCom/BigDataSE/ISPA,
          <year>2015</year>
          , pp.
          <fpage>229</fpage>
          -
          <lpage>234</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>M.</given-names>
            <surname>Morzy</surname>
          </string-name>
          ,
          <article-title>Mining frequent trajectories of moving objects for location prediction</article-title>
          , in: MLDM,
          <year>2007</year>
          , pp.
          <fpage>667</fpage>
          -
          <lpage>680</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>F.</given-names>
            <surname>Terroso-Saenz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Valdes-Vela</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. F.</surname>
          </string-name>
          <article-title>SkarmetaGomez, Online route prediction based on clustering of meaningful velocity-change areas, Data mining and knowledge discovery 30 (</article-title>
          <year>2016</year>
          )
          <fpage>1480</fpage>
          -
          <lpage>1519</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>N.</given-names>
            <surname>Zygouras</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Troupiotis-Kapeliaris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zissis</surname>
          </string-name>
          , Envclus*:
          <article-title>Extracting common pathways for efective vessel trajectory forecasting</article-title>
          ,
          <source>IEEE Access 12</source>
          (
          <year>2024</year>
          )
          <fpage>3860</fpage>
          -
          <lpage>3873</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Tampakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vodas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Panagiotakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <article-title>In-dbms sampling-based subtrajectory clustering</article-title>
          ,
          <source>in: EDBT</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>632</fpage>
          -
          <lpage>643</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Tampakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vodas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Doulkeridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <article-title>On temporal-constrained subtrajectory cluster analysis</article-title>
          ,
          <source>Data Min. Knowl. Discov</source>
          .
          <volume>31</volume>
          (
          <year>2017</year>
          )
          <fpage>1294</fpage>
          -
          <lpage>1330</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>P.</given-names>
            <surname>Tampakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. V.</given-names>
            <surname>Andrienko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. L.</given-names>
            <surname>Andrienko</surname>
          </string-name>
          , G. Fuchs,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <article-title>Time-aware subtrajectory clustering in hermes@postgresql</article-title>
          , in: ICDE,
          <year>2018</year>
          , pp.
          <fpage>1581</fpage>
          -
          <lpage>1584</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>P.</given-names>
            <surname>Petrou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Nikitopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Tampakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Glenis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Koutroumanis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. M.</given-names>
            <surname>Santipantakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Patroumpas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vlachou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. V.</given-names>
            <surname>Georgiou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Chondrodima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Doulkeridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. L.</given-names>
            <surname>Andrienko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Patterson</surname>
          </string-name>
          , G. Fuchs,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. A.</given-names>
            <surname>Vouros</surname>
          </string-name>
          ,
          <article-title>ARGO: A big data framework for online trajectory prediction</article-title>
          ,
          <source>in: SSTD</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>194</fpage>
          -
          <lpage>197</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>P.</given-names>
            <surname>Tampakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Doulkeridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <article-title>Distributed subtrajectory join on massive datasets</article-title>
          ,
          <source>ACM Trans. Spatial Algorithms Syst</source>
          .
          <volume>6</volume>
          (
          <issue>2020</issue>
          ) 8:
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          :
          <fpage>29</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>