<!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>Self-Adapting Trajectory Segmentation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Agnese Bonavita</string-name>
          <email>agnese.bonavita@sns.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Riccardo Guidotti</string-name>
          <email>riccardo.guidotti@di.unipi.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mirco Nanni</string-name>
          <email>mirco.nanni@isti.cnr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ISTI-CNR</institution>
          ,
          <addr-line>Pisa, Pisa</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Scuola Normale Superiore</institution>
          ,
          <addr-line>Pisa</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Pisa</institution>
          ,
          <addr-line>Pisa</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Identifying the portions of trajectory data where movement ends and a significant stop starts is a basic, yet fundamental task that can afect the quality of any mobility analytics process. Most of the many existing solutions adopted by researchers and practitioners are simply based on fixed spatial and temporal thresholds stating when the moving object remained still for a significant amount of time, yet such thresholds remain as static parameters for the user to guess. In this work we study the trajectory segmentation from a multi-granularity perspective, looking for a better understanding of the problem and for an automatic, parameter-free and user-adaptive solution that flexibly adjusts the segmentation criteria to the specific user under study. Experiments over real data and comparison against simple competitors show that the flexibility of the proposed method has a positive impact on results.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>Thanks to the wide difusion of localization technologies and
mobile services based on the positioning of users and devices, the
availability of mobility traces is increasing fast in several
application domains. Location-based services provided through
smartphones are nowadays extremely popular, from nearby restaurant
suggestions to travel assistants, and in the near future all
circulating vehicles will be equipped with localization capabilities
for their continuous monitoring. The vast amounts of data that
this trend leads to produce and collect open the door to several
opportunities of converting them into better services, economical
returns, more sustainable cities, improved living conditions, etc.
All this starts from appropriate mobility analysis operations able
to extract from raw data usable and useful information, such as
deeper domain knowledge, patterns, models and forecasts.</p>
      <p>In mobility analytics one of the fundamental concepts is
movement, meaning with that the part of mobility data that describes
a transfer from one place where the individual (or the object)
was staying, to another one were the user will stop. Identifying
movements in the raw stream of positions, for instance the
continuous flow of GPS traces of a vehicle, is essential yet non-trivial.
While it is simple to define a stop in geometrical terms, it is much
less clear how to define significant stops , i.e. stops that might
have some meaning for the user (for instance, stopping to do
some activity before leaving), as opposed to stops that are simply
incidental (for instance, due to a small trafic jam).</p>
      <p>Practitioners in the mobility analytics domain defined several
simple strategies to select stops in the mobility data stream (a
brief account of literature on this topic is provided in the next
section), each of them apparently capturing well some specific
concept or some application-specific idea of stop. For instance,
some solutions simply identify the moments where the object
did not move, based on some thresholds, while others select the
stops that have a duration compatible with some specific task,
for instance discarding stops at a supermarket if their duration
is physically too short to be able to enter, buy and exit. However,
most existing solutions sufer from two important limitations:
(i) they are based on critical thresholds that the user needs to
choose accurately, and in most cases it is dificult to understand
what value is the best; (ii) such thresholds are global, i.e. the same
threshold value applies to all the moving individuals, irrespective
of any distinctive characteristics they might have. The reason of
the latter is that, while an overall evaluation might be performed
to guide the choice of a global threshold, doing that separately
for each individual might be impossible if their number is huge.</p>
      <p>In this work we try to overcome the limitations highlighted
above, providing a general methodology that inspects the
mobility of the individual, and identifies segmentation thresholds that
apparently match her mobility features. The process allows to
get rid of any input parameter, adapts thresholds to each single
individual and, most importantly, is completely automatic, thus
applicable to large pools of users.</p>
      <p>The paper is organized as follows: Section 2 discusses the
related works and how our proposal difers from existing solutions;
Section 3 provides some preliminary definitions; Section 4 defines
the problem we want to tackle; Section 5 introduces our proposed
method to solve the problem; Section 6 defines some evaluation
measures to quantify the quality of a segmentation; Section 7
provides empirical quantitative and qualitative evaluations of
results, also comparing against a few baselines; finally, Section
8 closes the paper with some conclusions and pointers towards
future developments.
2</p>
    </sec>
    <sec id="sec-2">
      <title>RELATED WORK</title>
      <p>
        Segmentation is a technique for decomposing a given sequence
into homogeneous and possibly meaningful pieces, or segments
such that the data in each segment describe a simple event or
structure. Segmentation methods are widely used for extracting
structures from sequences, and are applied in a large variety of
contexts [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]: time series [
        <xref ref-type="bibr" rid="ref4 ref9">4, 9</xref>
        ], genomic sequences [
        <xref ref-type="bibr" rid="ref15 ref17 ref18">15, 17, 18</xref>
        ],
and text [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], to cite a few.
      </p>
      <p>
        The segmentation of human trajectories is a very valuable task
as it enables the development of mobility data models [
        <xref ref-type="bibr" rid="ref19 ref7">7, 19</xref>
        ] and
applications like carpooling [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], or trajectory prediction [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
Various simple approaches are currently adopted in practice. In [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]
human trajectories are extracted adopting a predefined rule based
on a pair of spatio-temporal parameters regulating the end of a
trajectory and the start of the subsequent one. Similarly, in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
the trajectory is divided into subsequent trips if the time
interval of “nonmovement” exceeds a certain threshold. In [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] it is
described a change-point-based segmentation approach for GPS
trajectories according to the transportation means adopting a
universal threshold for determining whether a segment is “walk” or
“nonwalk”. The work in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] presents a theoretical framework that
computes an optimal segmentation by using several criteria (e.g.,
speed, direction, location disk) that are satisfied in each partition,
thus making the approach local, and applied computational
geometry methods. However, their methods are general and not
clearly applicable to the human trajectory context, where a trip
can be complex and not show the geometrical/movement
uniformity the methods look for. Finally, each criterion corresponds
to thresholds that the user must set, without clear guidelines on
how to choose them.
      </p>
      <p>
        The authors of [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] segment the trajectories in two steps.
The first segmentation is performed by means of simple policies
with respect to temporal and/or spatial predefined constraints.
Then, the trajectories are divided into stops and moves observing
variations of the speed of the object. If the variations of the speed
is below a speed threshold and there is a suficient number of
observations, then the portion of trajectory is annotated as a
stop. The speed threshold is not general but changes according
to the user behavior and also to the surrounding of the stop.
In [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] is defined a measure of the density of the points in the
neighbourhood of each trajectory point, the Spatio-Temporal
Kernel Window (STKW) statistics. To determine the start and end
points of segments, the algorithm looks for maximal changes in
STKW values. The focus of the approach is on capturing changes
of transportation mode, including stops, which are simply points
with low speed.
      </p>
      <p>
        In addition to those mentioned above, several other solutions
to the trajectory segmentation problem have been proposed in
literature, yet with objectives diferent from ours. For example,
cost-function based strategies were presented in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ][
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], while
clustering-based ones are introduced in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. All these
approaches are focused on splitting a movement into homogeneous
parts, rather than discovering significant stops, which is the
purpose of this paper.
      </p>
      <p>
        In this work we provide a segmentation method that, opposed
to most of the approaches mentioned above, is not based on fixed
space and/or time thresholds to be fixed by the user – this is
the case, for instance, of [
        <xref ref-type="bibr" rid="ref23 ref25 ref26 ref8">8, 23, 25, 26</xref>
        ]. Instead, we aim to make
the segmentation parameter-free and also adaptive to the single
user’s data, giving the opportunity to have diferent kinds of
segmentation over diferent users. Also, our approach is
complementary to the STKW-based one [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], as the latter aims to
diferentiate movements with diferent speed profiles, including
stops as a particular example, while we focus on stop timing
and try to understand which stops are actually significant (e.g.
not too short) for the user. A similar work was proposed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Here the authors proposed a new approach called Octal Window
Segmentation(OWS) for unsupervised trajectory segmentation.
The intuition behind their approach is that when a moving object
changes behavior, this shift may be detected using only its
geolocation over time. So the work focuses on finding these changes
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.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>SETTING THE STAGE</title>
      <p>We start by defining trajectory segmentation based on a spatial
and a temporal threshold, in a way similar to standard approaches
in literature.</p>
      <p>Definition 3.1 (Individual trajectory). Given a user u, her
Individual Trajectory Tu is the sequence of n points Tu = ⟨p1, . . . , pn ⟩
that describes her position in time, where each point p ∈ Tu is
defined as a triple p = (p.x, p.y, p.t ), representing its spatial
coordinates x and y and the corresponding timestamp t . Moreover,
points are in chronological order, i.e. ∀1 &lt; i ≤ n.pi−1.t &lt; pi .t .</p>
      <p>Definition 3.2 (Pseudo-stop duration). Given an individual
trajectory T = ⟨p1, . . . , pn ⟩ and a spatial threshold σ , the
Pseudostop duration associated to point pi is defined as SD(T , i) =
min{pj .t − pi .t |i &lt; j ≤ n ∧ d(pi , pj ) &gt; σ }, where d represents
the geometrical Euclidean or geographical distance.</p>
      <p>Notice that the last point pn will have SD(T , n) = min ∅ = ∞.</p>
      <p>Definition 3.3 (Segmented trajectory). Given a trajectory T =
⟨p1, . . . , pn ⟩, a spatial threshold σ and a temporal threshold τ ,
we define the (σ , τ )-segmentation of T as T σ ,τ = ⟨S1, . . . , Sm ⟩,
such that:
(i)
(ii)
(iii)
(iv)
∀1 ≤ i ≤ m.∃1 ≤ s &lt; e ≤ n : Si = ⟨ps , ps+1, . . . , pe ⟩
Ðm</p>
      <p>i=1 set(Si) = set(T )
∀1 ≤ i ≤ m.∀1 ≤ j ≤ |Si | : SD(Si , j) &gt; τ ⇔ j = |Si |
∀1 ≤ i ≤ m.Si is maximal
where set(I ) = {p ∈ I }.</p>
      <p>Conditions (i) and (ii) imply that the segments of the
segmented trajectory of T form a partitioning of the elements of T
in the strictly mathematical sense. Moreover, conditions (iii) and
(iv) state that all the points in a segment are movement points, i.e.
their pseudo-stop duration is smaller than the given threshold,
excepted the last point. Therefore, each point in T that has a high
pseudo-stop duration will act as a split point, and corresponds to
a distinct partition in T σ ,τ .
4</p>
    </sec>
    <sec id="sec-4">
      <title>PROBLEM FORMULATION</title>
      <p>Existing trajectory segmentation methods assume that the same
rules and the same parameters should apply to all moving objects.
Since diferent objects can show very diferent movement
characteristics, the above assumption leads to make choices that on
average fit best the dataset, yet potentially making sub-optimal
choices on single individuals.</p>
      <p>Our objective is to overcome this limitation, making the
segmentation process adaptive to the individual and taking into
consideration her overall mobility. Our problem statement extends
the traditional formulation of segmentation as a threshold-based
operation, thus the core issue is to find good parameter values
for each user.</p>
      <p>Definition 4.1 (Individual cut threshold problem). Given an
Individual Trajectory Tu , and a global spatial threshold σ , the problem
is to identify the temporal threshold τ that yields the optimal
segmentation T σ ,τ .</p>
      <p>Since the number of moving objects can be very large, the
process must be completely automatized and require no human
intervention. In Section 5 we will introduce a simple and efective
approach to solve the problem and thus find a suitable value of
τ for each user. In addition, some basic guidelines to choose a
value for the global spatial parameter will be provided.
5</p>
    </sec>
    <sec id="sec-5">
      <title>PROPOSED METHOD</title>
      <p>The proposed solution to the individual cut threshold problem
consists in fixing the spatial threshold to a global value (i.e. to be
used for all users) and then in studying the segmentations that we
would obtain by applying diferent temporal thresholds. We will
start describing the process for choosing the temporal threshold,
which is the central part of the solution, and later discuss how
the spatial one can be chosen.
5.1</p>
    </sec>
    <sec id="sec-6">
      <title>Self-Adaptive Trajectory Segmentation</title>
      <p>When very small values of τ are used, the segmentation obtained
will contain a huge number of very short segments, till the
extreme case where each point forms its own segment. As the
threshold is increased, more and more segments will merge
together, since some of the former splitting points will fall below
τ . The process is expected to gradually enlarge the trajectory
segments by first including simple slowdowns (i.e. not really stop
points), then temporary stops (e.g. at trafic lights), and so on.</p>
      <p>Our approach consists in (virtually) monitoring such
progression, and detect the moment where an anomalous increase in
the number of segments is observed, which represents a sort of
change of state. This follows the same kind of idea adopted in
various unsupervised classification contexts, such as the knee method
for deciding the number k of clusters for the k-means algorithm,
or analogous solutions to choose the radius for density-based
clustering (e.g. DBScan).</p>
      <p>
        In our solution, rather than relying on visual or similar
heuristic criteria, we will base the threshold selection on a statistical test.
In particular, we will adopt the Modified Thompson Tau Test [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
which, basically, checks whether a given value fits the
distribution of the rest of the data or not. Since we look for anomalous
values in a sequence, we apply the test iteratively, comparing
each value n(t ) (the number of segments obtained with τ = t )
against the values n(t ′) obtained for larger thresholds t ′.
      </p>
      <p>This process yields a set of thresholds that have an anomalous
number of partitions as compared to the successive thresholds.
Among them, we simply choose the smallest one, thus deciding
to select the segments that emerge at the first change of state,
also representing shorter and finer granularity movements.</p>
      <p>The procedure, named ats (self-Adaptive Trajectory
Segmentation) is summarized in Algorithm 1. Step 3 collects the
pseudostop durations SD of all the points i that make up the segment,
and step 4 computes the frequency F of each value, basically
representing the number of new segments obtained using that value
as τ w.r.t. the previous smaller thresholds. In our
implementation such frequency distribution is computed through smoothed
histograms, grouping values into bins of 1-minute width.
Figure 1(left) shows the frequency distribution of a sample trajectory,
the vertical line corresponding to a possible cut point. The
resulting set of segments obtained is described in Figure 1(right)
in terms of segments duration. Finally, step 5 selects the
frequency values that appear to be anomalous (based on the
Modiifed Thompson Tau Test) w.r.t. the frequency of larger thresholds,
and step 6 returns the earliest time threshold that has an
anomalous frequency.</p>
      <p>Computational complexity. The cost of Algorithm 1 is
dominated by step 3, since the computation of each pseudo-stop
duration (SD) could in principle require to scan all the remaining
points of the individual trajectory, thus yielding a O(n2) cost,
where n is the size of the individual trajectory. However, in
practical applications the trajectory portion needed for each SD is
relatively small, leading to a quasi-linear cost. The remaining
parts of the algorithm can be realized a linear time, including the
Modified Thompson Tau Test which can be computed for each
points through incremental updates.</p>
      <p>Algorithm 1: ATS(T , σ )
1 Input: Individual trajectory T , spatial threshold σ
2 Output: Cut threshold τ
3 S = ⟨ SD(T , i) | 1 ≤ i ≤ |T | ⟩;
4 F = frequency distribution of S values (F (a) = |{a ∈ S }|);
5 C = {t |t ∈ ranдe(F ) ∧ TT (F (t ), ⟨F (t ′)|t ′ &gt; t ⟩) = true };
// TT (a, B) = Modified Thompson Tau Test of a vs. set B
6 return min C
In our approach, the threshold σ represents the minimum
distance between two (consecutive) points that can be considered
as a movement, and the temporal parameter is indeed measured
as the time needed to make a movement. A simple way to fix
its value is to adopt the minimum value that, according to the
accuracy of our dataset, cannot be mistaken for a positioning
error, for instance due to GPS uncertainty. In our experiments we
adopt road vehicle GPS traces that are expected to have errors not
larger than 10 meters, therefore we could fix σ = 20 (the worst
case distance between two points that have the maximal error in
opposite directions). We decided to slightly increase it to 50 in
order to stay on the safe side, also to take into account that errors
are slightly higher than average in urban centers, which is the
application context where our experiments are performed. Since
we do not have data source from other kind of transport (ships,
planes, etc.) the selected threshold seems to meet our purposes.
However, empirical results confirm that the value of the global
parameter σ is not critical, as our approach shows a low
sensitivity to it. For this reason, the value we chose in our experiments
(50 meters) can be considered a good guess for generic vehicle
GPS data. Other data sources with a higher spatial uncertainty
might require larger values.
6</p>
    </sec>
    <sec id="sec-7">
      <title>EVALUATION MEASURES</title>
      <p>
        The reconstruction error generally used for evaluating
segmentation problems [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] just measures how well each segment can
be approximated with one value, and thus seems not to fit with
trajectory segmentation. Therefore, similarly to clustering
evaluation, we propose three internal evaluation measures [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Let
T be the sequence of n points and TS = ⟨S1, . . . , Sm ⟩ its
segmentation. We denote with At = duration(T ) = pn .t − p1.t the
total elapsed time from the first point of p1 ∈ T to the last point
pn ∈ T , and Ad = lenдth(T ) = Íin=−11 d(pi , pi+1) the total distance
covered by the trajectory, computed by considering every couple
of subsequent points in T . Let Mt = ÍSi ∈TS duration(Si ) be the
sum of the segments’ duration, i.e., the time spent driving, and
Md = ÍSi ∈TS lenдth(Si ) be the sum of the segments’ length, i.e.,
the distance traveled. Then, we define the following measures:
• time precision: TP = 1 − Mt /At
• distance coverage: DC = Md /Ad
• mobility f-measure: MF β = (1+β 2)·TP ·DC/((β 2 ·TP)+DC)
All measures range from zero to one. The higher the value the
better the result. The objective of these measures is to promote
segmentations capturing long stops (time precision) yet also
covering most of the overall distance (distance coverage). These two
objectives are conflictual, since making stops longer reduces the
number of points that contribute to the distance covered. The
mobility f-measure accounts for both aspects simultaneously. In
the experiments we adopt β = 0.25, which weighs time precision
much higher than distance coverage by augmenting the relevance
of missing precision in stop detection. The reason is that i) it is
relatively easy to guarantee an high distance coverage, and ii) the
main focus of the paper is on the temporal aspects of trajectory
partitioning.
7
      </p>
    </sec>
    <sec id="sec-8">
      <title>EXPERIMENTS</title>
      <p>We experimented the proposed self-adaptive trajectory
segmentation approach (ats) described above over a real dataset of GPS
vehicle traces. The results commented in the following refer to
2000 users of the area of Rome (Italy), and London (UK). The
means and standard deviations of the sampling rate for the users
analyzed are 12194.67 ± 22575.66 and 4385.76 ± 9359.14, for Rome
and London respectively. The high values and their high
variability is due to the presence of several long time gaps, typically due
to parking periods.</p>
      <p>
        In the following we first analyze the personal temporal
thresholds returned by ats, then we propose a quantitative and
qualitative evaluation of the results for understanding the benefits
of the novel method with respect to existing ones. We compare
ats against the trajectory segmentation method with fixed
parameters proposed in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] (ftstemp-thr). Moreover, we adopt as
baseline a random trajectory segmentation method that segments
the sequence of points T = ⟨p1, . . . , pn ⟩ into m equal-length
segments (i) with m randomly extracted between 2 and n/2 (rts1),
or (ii) with m set to the number of segments returned by the
proposed ats method (rts2).
7.1
      </p>
    </sec>
    <sec id="sec-9">
      <title>Self-Adaptive Temporal Threshold</title>
      <p>We observe in Figure 2 the distribution of the time thresholds
selected by ats for each user (vertical axis represents value
frequencies in log-scale).
837.34±854.52
592.26 ±652.78
746.28 ± 733.96
2094.85± 2472.36
899.59 ± 926.03</p>
      <p>
        Although every user has her own mobility behavior with its
own mix of regular and more erratic behaviours [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], we observe
two clear peaks in the distributions for both Rome and London.
This means that with respect to ats we mainly recognize two
diferent types of users regarding to the minimum duration of the
stops. This supports the intuition behind our approach, namely
to have a self-adaptive procedure selecting a personalized best
temporal threshold for each user. Selecting one single threshold
value for all the data might negatively afect the segmentation of
some users, partitioning their trajectories either too much or too
little. The first peak is at about 600 seconds ( ∼ 10 minutes), while
the second peak at 1200 seconds (∼ 20 minutes). These values
correspond to the temporal thresholds that the ats procedure
uses to cut each trajectory. There is also a minority of users
having values outside the two peeks.
In this section we compare the proposed self-adaptive trajectory
segmentation approach with the other methods taken into
account. In Tables 1 and 2 we report the results obtained with all the
methods. The first three columns show the evaluation measures
described above. The fourth column shows the ratio between the
average sampling period of movement points (thus discarding the
stop portions of the user’s trajectory) and the average sampling
period of the full trajectory, while in the last one the average
number of segments with its standard deviation is given. In
general, we can observe that the best results were obtained with the
ats and fts methods, both for Rome and London. Analyzing the
ratio (fourth column) we can see that values are low for both
ats and the fts ones, meaning that the long stops are ignored
(i.e. they are recognized as real stops) and just the short ones are
considered. On the contrary, with the random approaches the
ratio is bigger because the algorithm function evaluates all stops
in the same way. Looking at the number of segments it is possible
to note that fts and ats methods produce diferent quantities,
especially the fts120 result produces less segments in the Rome
case and much more in London. About the last two approaches,
the rts1 method works with a random number of segments, so
it is normal that the final result difers from the others, while the
rts2 takes as number of segments the same of the ats approach
so we aspect to achieve similar results.
      </p>
      <p>For the evaluation measures we can see that our new approach
reached the goal we expected, i.e., yielding a quality of results
which is always comparable or higher than fixed-threshold
approaches and more robust. Indeed, for both Rome and London the
values obtained by ats are compatible with the fts results, even
better in the MF .25 for Rome and in the distance coverage for
London. In particular, in the Rome example, having a high MF .25
values means that also the time precision and the distance
coverage are well correlated in a way that produce a satisfying result.
If we see the fts120 result we can note that the time precision is
high but the distance coverage is very low because the algorithm
builds short trajectories with few points. An analogous
reasoning can be done analyzing the fts1200 method which produces
an excellent distance coverage score but a lower time precision.
Our solution reaches a good balance, thanks to its self-adaptive
characteristic that allows to control and correct the trajectory
fragmentation, and all its evaluation measures are always either
the best or the second best of the group.</p>
      <p>To have a better understanding of the quality of our new
approach, the distribution of MF .25 values for the diferent
approaches on the two datasets is shown in Figure 3 through a
boxplot visualization. For the Rome case we can observe that
with the ats approach the median value is the highest (closest
to 1) and the inter-quartile range is smaller than the other two,
meaning that we have a smaller variabiliy and thus more robust
results. The London case appears to be diferent, and the best
MF .25 values are obtained with the fts1200, with a median similar
to ats and a slightly narrower box. This leaves room for future
improvements of our methodology.
7.3</p>
    </sec>
    <sec id="sec-10">
      <title>Comparison of Segmentation Statistics</title>
      <p>In the following we analyze other statistical indicators on the
trajectory segments extracted by the various methods. The next
plots want to show other significant features for the segmentation
problem in order to compare their distribution and try to infer
something more about the segmentation. In addiction discovering
some hidden correlations between trajectory features and the
segmentation approach could lead to a better understanding of
the problem and highlight other relevant aspects. In Figure 4
we report the distributions of the average number of points per
segment for Rome and London. For all methods, the majority of
segments have less than 20 points, probably meaning that most of
the trips take place within the city. However, in the distribution
tails some long trajectories with more points emerge. We observe
that the distribution peaks of ats place somehow in between the
peaks of the two fts variants (though closer to fts1200, especially
in London) thus finding a trade-of between them. Moreover we
can see that London and Rome distributions are diferent: London
has a wider distribution than Rome, meaning that the variety of
trips is greater in London.</p>
      <p>In Figure 5 are displayed the distributions of the average
number of segments per user. In London most of the users have less
than 20 trajectory segments. The peak of the distribution is
between 5 and 10 segments. Between 30 and 100 segments the
distribution remains stable at a small value larger than zero. In
Rome we observe a similar result with a peak between 15 and 20
trajectories. Also in this case, the peak of ats distribution tends
to stay in the middle of the fts ones.</p>
      <p>In Figure 6 we compare the distribution of average length and
average duration of the segments returned by ats (left) and fts
(right) for the area of Rome. With the ats method the peak value
is around 10km, thus confirming that most of the trips are short,
and likely to take place around the city. With the fts methods
the peak position depends on the temporal threshold imposed:
with a threshold of 1200 seconds the average distance is similar
to ats, while with 120 seconds it becomes lower and close to 5
km. The results for the rts methods are omitted, since their plots
are very similar to the fts ones. Also, the plots in London show
exactly the same kind of behaviour observed on Rome.</p>
      <p>In terms of segment duration, ats yields a distribution with a
peak around 1200 − 1500 seconds (∼ 20 − 25 minutes). With the
fts methods the peaks change: for fts120 the peak is around 500
seconds while for fts1200 the peak is centered in 1800 seconds.
Also in this case, the results on London are very similar and
omitted here.
7.4</p>
    </sec>
    <sec id="sec-11">
      <title>Case Study</title>
      <p>
        In this section we show qualitatively on a case study the
efectiveness of ats with respect to fts. In Figure 7 we report the
segmentation returned by fts1200 [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] (left) and by ats (right),
the user is travelling from south to north. fts1200 [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] returns
two trajectories (green and blue), while ats returns three
trajectories (green, orange and blue). The second line of plots report the
inter-leaving time between consecutive GPS points. The colors
match the trajectory segments, while stops are highlighted in
red. We observe how ats identifies the short stop of less than 15
minutes at the service area similarly to the subsequent longer
stop. On the other hand, fts1200 considers the first stop as part
of the green trajectory. The map in the bottom line of Figure 7
shows the service area which is very close to the GPS points
reported on the bottom right corner of the map. This case study
highlights how various existing stops under a certain predefined
threshold can be missed with a segmentation approach like fts,
while a more data-driven and self-adaptive method like ats is
able to take into account specific user behavior and return a
better result.
The paper presented a user adaptive method for solving the
trajectory segmentation problem, a very common and useful
task in mobility data mining, especially in preprocessing phases.
Though preliminary, the experiments show that it is possible to
derive user-adaptive cut thresholds, improving the performances
of the segmentation over less flexible solutions. This is an ongoing
work, and several improvements are being explored. Among
them, the future lines of research will aim to derive thresholds
for trajectory segmentation which are not only user-adaptive,
but also location-adaptive, thus considering the fact that a stop at
diferent places might require time intervals of diferent duration
to be considered a significant stay – and thus a trajectory cut
point. Also, we will study the possibility of exploiting the context
around the (moving) user, such as the mobility of other users and
the geographical area surrounding the candidate stops.
      </p>
    </sec>
    <sec id="sec-12">
      <title>ACKNOWLEDGMENTS</title>
      <p>This work is partially supported by the European Community
H2020 programme under the funding scheme Track &amp;Know (Big
Data for Mobility Tracking Knowledge Extraction in Urban
Areas), G.A. 780754, https://trackandknowproject.eu/.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Ella</given-names>
            <surname>Bingham</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Finding segmentations of sequences</article-title>
          .
          <source>In Inductive Databases and Constraint-Based Data Mining</source>
          . Springer,
          <fpage>177</fpage>
          -
          <lpage>197</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Ronald</given-names>
            <surname>Bremer</surname>
          </string-name>
          .
          <year>1995</year>
          .
          <article-title>Outliers in statistical data</article-title>
          .
          <source>Taylor &amp; Francis.</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Maike</given-names>
            <surname>Buchin</surname>
          </string-name>
          et al.
          <year>2010</year>
          .
          <article-title>An algorithmic framework for segmenting trajectories based on spatio-temporal criteria</article-title>
          .
          <source>In SIGSPATIAL. ACM</source>
          ,
          <volume>202</volume>
          -
          <fpage>211</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Harmen J Bussemaker</surname>
          </string-name>
          et al.
          <year>2000</year>
          .
          <article-title>Regulatory element detection using a probabilistic segmentation model</article-title>
          .
          <source>In Proceedings of the International Conference on Intelligent Systems for Molecular Biology</source>
          .
          <fpage>67</fpage>
          -
          <lpage>74</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Mohammad</given-names>
            <surname>Etemad</surname>
          </string-name>
          et al.
          <year>2019</year>
          .
          <article-title>A Trajectory Segmentation Algorithm Based on Interpolation-based Change Detection Strategies</article-title>
          . In EDBT/ICDT Workshops.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Riccardo</given-names>
            <surname>Guidotti</surname>
          </string-name>
          et al.
          <year>2017</year>
          .
          <article-title>Never drive alone: Boosting carpooling with network analysis</article-title>
          .
          <source>IS 64</source>
          (
          <year>2017</year>
          ),
          <fpage>237</fpage>
          -
          <lpage>257</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Riccardo</given-names>
            <surname>Guidotti</surname>
          </string-name>
          et al.
          <year>2017</year>
          .
          <article-title>There's a path for everyone: A data-driven personal model reproducing mobility agendas</article-title>
          .
          <source>In DSAA. IEEE</source>
          ,
          <fpage>303</fpage>
          -
          <lpage>312</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Sini</given-names>
            <surname>Guo</surname>
          </string-name>
          et al.
          <year>2018</year>
          .
          <article-title>GPS trajectory data segmentation based on probabilistic logic</article-title>
          .
          <source>International Journal of Approximate Reasoning</source>
          <volume>103</volume>
          (
          <year>2018</year>
          ),
          <fpage>227</fpage>
          -
          <lpage>247</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Johan</given-names>
            <surname>Himberg</surname>
          </string-name>
          et al.
          <year>2001</year>
          .
          <article-title>Time series segmentation for context recognition in mobile devices</article-title>
          .
          <source>In ICDM. IEEE</source>
          ,
          <fpage>203</fpage>
          -
          <lpage>210</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Amílcar</given-names>
            <surname>Soares</surname>
          </string-name>
          Júnior et al.
          <year>2015</year>
          .
          <article-title>GRASP-UTS: an algorithm for unsupervised trajectory segmentation</article-title>
          .
          <source>International Journal of Geographical Information Science</source>
          <volume>29</volume>
          ,
          <issue>1</issue>
          (
          <year>2015</year>
          ),
          <fpage>46</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Amílcar</given-names>
            <surname>Soares</surname>
          </string-name>
          Júnior et al.
          <year>2018</year>
          .
          <article-title>A semi-supervised approach for the semantic segmentation of trajectories</article-title>
          .
          <source>In 19th IEEE International Conference on Mobile Data Management (MDM)</source>
          .
          <volume>145</volume>
          -
          <fpage>154</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Victor</given-names>
            <surname>Lavrenko</surname>
          </string-name>
          et al.
          <year>2000</year>
          .
          <article-title>Mining of concurrent text and time series</article-title>
          .
          <source>In KDD Workshop on Text Mining</source>
          , Vol.
          <year>2000</year>
          .
          <volume>37</volume>
          -
          <fpage>44</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Jae-Gil Lee</surname>
          </string-name>
          et al.
          <year>2007</year>
          .
          <article-title>Trajectory Clustering: A Partition-and-Group Framework</article-title>
          .
          <source>In ACM SIGMOD. ACM</source>
          ,
          <volume>593</volume>
          -
          <fpage>604</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Luis</given-names>
            <surname>Leiva</surname>
          </string-name>
          and
          <string-name>
            <given-names>Enrique</given-names>
            <surname>Vidal</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Warped K-Means: An algorithm to cluster sequentially-distributed data</article-title>
          .
          <source>Information Sciences</source>
          <volume>237</volume>
          (
          <issue>07</issue>
          <year>2013</year>
          ),
          <fpage>196</fpage>
          -
          <lpage>210</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Wentian</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <year>2001</year>
          .
          <article-title>DNA Segmentation as a Model Selection Process</article-title>
          .
          <source>In Proceedings of the Fifth Annual International Conference on Computational Biology (RECOMB '01)</source>
          . ACM,
          <volume>204</volume>
          -
          <fpage>210</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Luca</given-names>
            <surname>Pappalardo</surname>
          </string-name>
          et al.
          <year>2015</year>
          .
          <article-title>Returners and explorers dichotomy in human mobility</article-title>
          .
          <source>Nature communications 6</source>
          (
          <year>2015</year>
          ),
          <fpage>8166</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Adam</given-names>
            <surname>Pavlıček</surname>
          </string-name>
          et al.
          <year>2002</year>
          .
          <article-title>A compact view of isochores in the draft human genome sequence</article-title>
          .
          <source>FEBS letters 511</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>3</lpage>
          (
          <year>2002</year>
          ),
          <fpage>165</fpage>
          -
          <lpage>169</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Vasily</surname>
            <given-names>E</given-names>
          </string-name>
          <string-name>
            <surname>Ramensky</surname>
          </string-name>
          et al.
          <year>2000</year>
          .
          <article-title>DNA segmentation through the Bayesian approach</article-title>
          .
          <source>Journal of Computational Biology</source>
          <volume>7</volume>
          ,
          <fpage>1</fpage>
          -
          <lpage>2</lpage>
          (
          <year>2000</year>
          ),
          <fpage>215</fpage>
          -
          <lpage>231</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Salvatore</given-names>
            <surname>Rinzivillo</surname>
          </string-name>
          et al.
          <year>2014</year>
          .
          <article-title>The purpose of motion: Learning activities from individual mobility networks</article-title>
          .
          <source>In DSAA. IEEE</source>
          ,
          <fpage>312</fpage>
          -
          <lpage>318</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Katarzyna</given-names>
            <surname>Siła-Nowicka</surname>
          </string-name>
          et al.
          <year>2016</year>
          .
          <article-title>Analysis of human mobility patterns from GPS trajectories and contextual information</article-title>
          .
          <source>IJGIS 30</source>
          ,
          <issue>5</issue>
          (
          <year>2016</year>
          ),
          <fpage>881</fpage>
          -
          <lpage>906</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Pang-Ning</surname>
            <given-names>Tan</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Steinbach</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Vipin</given-names>
            <surname>Kumar</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Introduction to data mining</article-title>
          .
          <source>Pearson Education India.</source>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>Evimaria</given-names>
            <surname>Terzi</surname>
          </string-name>
          and
          <string-name>
            <given-names>Panayiotis</given-names>
            <surname>Tsaparas</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Eficient algorithms for sequence segmentation</article-title>
          .
          <source>In SDM. SIAM</source>
          ,
          <fpage>316</fpage>
          -
          <lpage>327</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>Roberto</given-names>
            <surname>Trasarti</surname>
          </string-name>
          et al.
          <year>2011</year>
          .
          <article-title>Mining mobility user profiles for car pooling</article-title>
          .
          <source>In KDD. ACM</source>
          ,
          <volume>1190</volume>
          -
          <fpage>1198</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>Roberto</given-names>
            <surname>Trasarti</surname>
          </string-name>
          et al.
          <year>2017</year>
          .
          <article-title>Myway: Location prediction via mobility profiling</article-title>
          .
          <source>IS</source>
          <volume>64</volume>
          (
          <year>2017</year>
          ),
          <fpage>350</fpage>
          -
          <lpage>367</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Zhixian</given-names>
            <surname>Yan</surname>
          </string-name>
          et al.
          <year>2013</year>
          .
          <article-title>Semantic trajectories: Mobility data computation and annotation</article-title>
          .
          <source>ACM TIST 4</source>
          ,
          <issue>3</issue>
          (
          <year>2013</year>
          ),
          <fpage>49</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>Yu</given-names>
            <surname>Zheng</surname>
          </string-name>
          et al.
          <year>2011</year>
          .
          <article-title>Recommending friends and locations based on individual location history</article-title>
          .
          <source>ACM Transactions on the Web 5</source>
          ,
          <issue>1</issue>
          (
          <year>2011</year>
          ),
          <fpage>5</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>