Trajectory Similarity and Clustering. Teemu Pulkkinen, Petteri Nurmi

Samankaltaiset tiedostot
Trajectory Clustering. Teemu Pulkkinen

Capacity Utilization

Efficiency change over time

Other approaches to restrict multipliers

16. Allocation Models

Information on preparing Presentation

Alternative DEA Models

The CCR Model and Production Correspondence

The Viking Battle - Part Version: Finnish

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

Results on the new polydrug use questions in the Finnish TDI data

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

7.4 Variability management

Bounds on non-surjective cellular automata

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Statistical design. Tuomas Selander

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

7. Product-line architectures

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Gap-filling methods for CH 4 data

make and make and make ThinkMath 2017

Capacity utilization

Trajectory Analysis. Sourav Bhattacharya, Petteri Nurmi

Choose Finland-Helsinki Valitse Finland-Helsinki

The role of 3dr sector in rural -community based- tourism - potentials, challenges

Tarua vai totta: sähkön vähittäismarkkina ei toimi? Satu Viljainen Professori, sähkömarkkinat

LYTH-CONS CONSISTENCY TRANSMITTER

AYYE 9/ HOUSING POLICY

Use of Stochastic Compromise Programming to develop forest management alternatives for ecosystem services

Guidebook for Multicultural TUT Users

Mat Seminar on Optimization. Data Envelopment Analysis. Economies of Scope S ysteemianalyysin. Laboratorio. Teknillinen korkeakoulu

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Use of spatial data in the new production environment and in a data warehouse

anna minun kertoa let me tell you

Tietorakenteet ja algoritmit

Miksi Suomi on Suomi (Finnish Edition)

Metsälamminkankaan tuulivoimapuiston osayleiskaava

TM ETRS-TM35FIN-ETRS89 WTG

Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland

C++11 seminaari, kevät Johannes Koskinen

Kvanttilaskenta - 1. tehtävät

Tynnyrivaara, OX2 Tuulivoimahanke. ( Layout 9 x N131 x HH145. Rakennukset Asuinrakennus Lomarakennus 9 x N131 x HH145 Varjostus 1 h/a 8 h/a 20 h/a

WindPRO version joulu 2012 Printed/Page :47 / 1. SHADOW - Main Result

TM ETRS-TM35FIN-ETRS89 WTG

Valuation of Asian Quanto- Basket Options

( ( OX2 Perkkiö. Rakennuskanta. Varjostus. 9 x N131 x HH145

TM ETRS-TM35FIN-ETRS89 WTG

TM ETRS-TM35FIN-ETRS89 WTG

S Sähkön jakelu ja markkinat S Electricity Distribution and Markets

Huom. tämä kulma on yhtä suuri kuin ohjauskulman muutos. lasketaan ajoneuvon keskipisteen ympyräkaaren jänteen pituus

,0 Yes ,0 120, ,8

HARJOITUS- PAKETTI A

4x4cup Rastikuvien tulkinta

T Statistical Natural Language Processing Answers 6 Collocations Version 1.0

Operatioanalyysi 2011, Harjoitus 4, viikko 40

ECVETin soveltuvuus suomalaisiin tutkinnon perusteisiin. Case:Yrittäjyyskurssi matkailualan opiskelijoille englantilaisen opettajan toteuttamana

TM ETRS-TM35FIN-ETRS89 WTG

TU-C2030 Operations Management Project. Introduction lecture November 2nd, 2016 Lotta Lundell, Rinna Toikka, Timo Seppälä

RINNAKKAINEN OHJELMOINTI A,

Kvanttilaskenta - 2. tehtävät

TM ETRS-TM35FIN-ETRS89 WTG

WindPRO version joulu 2012 Printed/Page :42 / 1. SHADOW - Main Result

TM ETRS-TM35FIN-ETRS89 WTG

I. Principles of Pointer Year Analysis


TM ETRS-TM35FIN-ETRS89 WTG

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

Characterization of clay using x-ray and neutron scattering at the University of Helsinki and ILL

Land-Use Model for the Helsinki Metropolitan Area

Skene. Games Refueled. Muokkaa perustyyl. for Health, Kuopio

EUROOPAN PARLAMENTTI

Hankkeen toiminnot työsuunnitelman laatiminen

( ,5 1 1,5 2 km

Alternatives to the DFT

TM ETRS-TM35FIN-ETRS89 WTG

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

TM ETRS-TM35FIN-ETRS89 WTG

TM ETRS-TM35FIN-ETRS89 WTG

EVALUATION FOR THE ERASMUS+-PROJECT, STUDENTSE

Ajettavat luokat: SM: S1 (25 aika-ajon nopeinta)

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Sisällysluettelo Table of contents

MUSEOT KULTTUURIPALVELUINA

toukokuu 2011: Lukion kokeiden kehittämistyöryhmien suunnittelukokous

Oma sininen meresi (Finnish Edition)

Genome 373: Genomic Informatics. Professors Elhanan Borenstein and Jay Shendure

A DEA Game II. Juha Saloheimo S ysteemianalyysin. Laboratorio. Teknillinen korkeakoulu

VAASAN YLIOPISTO Humanististen tieteiden kandidaatin tutkinto / Filosofian maisterin tutkinto

Integration of Finnish web services in WebLicht Presentation in Freudenstadt by Jussi Piitulainen

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) ( (Finnish Edition)

FIS IMATRAN KYLPYLÄHIIHDOT Team captains meeting

Curriculum. Gym card

1. Liikkuvat määreet

Counting quantities 1-3

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

MEETING PEOPLE COMMUNICATIVE QUESTIONS

Transkriptio:

Trajectory Similarity and Clustering Teemu Pulkkinen, Petteri Nurmi 30.11.2016 1

Questions What can we gain from clustering trajectories? How can we determine if two trajectories are similar? What are the benefits and problems of the different similarity measures? How can we use similarity measures for clustering? 30.11.2016 2

Introduction Proliferation of GPS devices and indoor positioning brings about opportunities for collecting trajectories E.g., vehicles, but also animals and even phenomena like hurricanes It is safe to assume that objects that move in a similar way have similar guiding principles If we can detect this similarity, it is likely that we can discover interesting trends 30.11.2016 3

Motivation Tracking animals and analyzing their trajectories, we can discover migratory behavior Understanding hurricane trajectories helps establish early warning systems Tracking customers in a supermarket carries several benefits for both researchers and retailers: Find hot/coldspots in the store; areas that suffer from congestion or are rarely visited 30.11.2016 4

Motivation Detect common routes people take Customers that move in similar patterns are likely looking for the same things, or are working under the same constraints Plan displays accordingly Sometimes the motivation can even seem counterintuitive: Retailers want people to spend time in their stores, and expose them to shopping opportunities A lot of shops reflect this in their layouts 30.11.2016 5

Preliminaries Trajectories can be considered a special case of time series, in 3 dimensions Coordinates + time Time series analysis is a well-defined, and wellresearched, topic E.g., in marketing, this is used to analyze the development of stocks over time Most common approach is to analyze the shape of the actual time series object 30.11.2016 6

Time series objects vs. trajectories Prior research provides many tools for comparing time series This translates nicely to the analysis of trajectories A popular approach is to consider the trajectory as a sequence of symbols In other words, we can see it as a string object We can then compare two trajectories using approaches very similar to edit distance (or Levenshtein distance) 30.11.2016 7

Similarity measures, features Several different approaches to comparing trajectories Most choose to focus on a specific set of problems Pros and cons in all approaches Metricity Distance measure that is metric is easier to use for indexing Proper indexing speeds up clustering Proofs of convergence, time complexity, etc. usually easier to justify 30.11.2016 8

Metricity, in detail To be considered a metric, a distance measure has to satisfy 4 conditions:, non-negativity, identity of indiscernibles, symmetry, triangle inequality 30.11.2016 9

Indexing Previous lecture mentioned storing trajectory data in location databases A metric distance measure allows for efficient indexing of trajectories We can make assumptions about distances since we know they satisfy metricity conditions Searching is efficient since we can ignore parts of the data that is justifiably irrelevant 30.11.2016 10

Similarity measures, more features Completeness Most distance measures force a comparison between all elements in both trajectories A significant difference in only one section might overshadow the similarity in others Comparing only sections that are similar means we avoid outliers Efficiency Dynamic programming approach is usually demanding 30.11.2016 11

Similarity measures, more features Time dilation Similar trends might take place over different periods of time Factor out speed as a variable; consider the overall shape Robustness Systematic noise (e.g. from measurements) might have a cumulative effect Outliers might have a significant impact on the total distance 30.11.2016 12

Similarity measures: Euclidean The simplest possible measure between two timeseries objects Compare the values in the objects at the same time instance, + Simple to implement, intuitive approach + Fastest approach - Naive approach means that no time dilation is taken into consideration - Any offset between objects has a cumulative effect - Noise is detrimental 30.11.2016 13

Euclidean, visually A B 30.11.2016 14

Dynamic programming Method for solving complex problems by breaking them into simpler sub-problems General technique applicable to any problem with optimal substructure and overlapping sub-problems Optimal substructure: solution to given problem can be obtained as a solution to its sub-problems Overlapping sub-problems: problem can be broken into sub-problems which can be reused Divide-and-conquer used when sub-problems are non-overlapping General form has O(n 2 ) runtime Teemu Pulkkinen/ Trajectory clustering 30.11.2016 15

Dynamic programming Solving dynamic programming tasks involves three steps: 1. Define sub-problems 2. Write recurrence that relates sub-problems 3. Identify and solve base cases Dynamic programming algorithms typically specified by Recurrence equation (sub-problem solution) Initialization conditions (base case) Most trajectory (and time-series) distance measures calculated using dynamic programming Teemu Pulkkinen/ Trajectory clustering 30.11.2016 16

Edit Distance Dissimilarity measure for two strings, defined as the minimum number of operations needed to transform one string into the other Levenshtein distance: edit distance with three allowed string manipulation operations Insert: adding a symbol Delete: remove a symbol Substitution: changing a symbol to another The common approach to solving this distance is to use dynamic programming 30.11.2016 17

Edit distance: recursion The value for each element in the EDIT matrix (i.e., the recursion equation) is defined as follows: Additionally the trivial case where either string is empty: 30.11.2016 18

Edit distance: pseudo-code (adapted from matlab) initialization recursion for i=0:m edit(i+1,1) = i; end for j=0:n edit(1,j+1) = j; end for i=2:m+1 for j=2:n+1 if A(i) ~= B(i) penalty = 1; else penalty = 0; end contenders = [edit(i-1,j)+1,edit(i,j-1)+1,edit(i-1,j-1)+penalty]; edit(i,j) = min(contenders); end distance = edit(m+1,n+1); Teemu Pulkkinen/ Trajectory clustering 30.11.2016 19

Edit distance, example s n o r e 0 1 2 3 4 5 b 1 1 2 3 4 5 o 2 2 2 2 3 4 r 3 3 3 3 2 3 e 4 4 4 4 3 2 d 5 5 5 5 4 3 transform insert/delete same 30.11.2016 20

Similarity measures: DTW Dynamic Time Warping A dynamic programming approach to time series analysis Behaves like edit distance most of the time, but carries a dynamic penalty: Instead of adding 1 as a cost, consider the actual distance between the elements + Time differences are taken into account + Provides a better match than Euclidean measure - Mapping between all objects in both trajectories means every discrepancy is considered and added to the penalty - Not a metric (not satisfy triangle inequality) - But there are works that have looked into deriving bounds on the distances which can be used for indexing 30.11.2016 21

DTW, more formally DTW calculation nearly identical to edit distance: where 30.11.2016 22

DTW, visually A B 30.11.2016 23

Similarity measures: LCSS Longest Common SubSequence Inverts the problem: which parts of the trajectory are similar Similar dynamic programming approach Increase similarity when elements match Matching can be defined by a distance threshold + Ignores parts that don t match + Good with noise and outliers (because of the above) + Allows for time distortion - Not metric 30.11.2016 24

LCSS, formally LCSS in its traditional form is actually a similarity measure: But we can easily express this as a distance (or dissimilarity) measure: where n and m are the lengths of and, respectively. 30.11.2016 25

LCSS, example s n o r e 0 0 0 0 0 0 b!=s b!=n etc. b 0 0 0 0 0 0 o 0 o!=s 0 0 o=o 1 o!=r 1 1 r 0 0 0 1 2 2 e 0 0 0 1 2 3 d 0 0 0 1 2 3 Different character: max([i-1,j],[i,j-1]) Same character, add 1 to score 30.11.2016 26

LCSS, visually Outlier is ignored Similarity = total length of common subsections 30.11.2016 27

Similarity measures: variants of DTW and Edit Distance EDR: Edit Distance on Real sequence Relaxes equality requirement + Good with noise + More accurate than LCSS - Not metric ERP: Edit distance with Real Penalty Considers distance between elements like DTW, but compares them to fixed value instead of each other + Handles distortion + Metric - Not as good with noise 30.11.2016 28

Fréchet distance Shape-based similarity metric for curves Minimum length of a leash required to connect a dog and its owner, constrained on two separate paths Velocity of dog and owner can change, but backtracking is not allowed Dog leash distance Teemu Pulkkinen/ Trajectory clustering 30.11.2016 29

Calculating Fréchet distance Can be approximated using discrete Fréchet distance Considers only positions of the leash where endpoints are located at vertices of polygonal curves Also called coupling distance as examines couplings of discrete points Can be solved using dynamic programming Teemu Pulkkinen/ Trajectory clustering 30.11.2016 30

Clustering Once we have determined the similarity between trajectories, we can cluster them into meaningful groups The intuition is that trajectories in a cluster will exhibit similar characteristics Traditional clustering approaches often define a centroid around which objects are clustered Not always clear what this means in terms of trajectories A common approach to clustering once the distance between all points is known is agglomerative (or hierarchical) clustering. 30.11.2016 31

Agglomerative clustering Some approaches described in earlier lectures Start with every object in its own cluster Merge clusters that are close enough to each other (based on some criteria) Determine a cutoff threshold where clustering is considered complete E.g., maximum/minimum/average distance between elements of each cluster (distance threshold) Pre-defined limit for the number of clusters 30.11.2016 32

Agglomerative clustering, example Cutoff threshold A B C D E F G H I Resulting clusters Increasing distance between clusters BC DE BCDEF DEF {A,B,C,D,E,F,G,H,I} {A,B,C,(DE),F,G,H,I} {A,(BC),(DEF),G,H,I} {A,(BCDEF),G,H,I} 30.11.2016 33

Agglomerative clustering: linkage Similarity measures covered thus far provide pairwise similarity To merge points, a similarity for sets of objects is required This is called a linkage Examples of linkages: Name Formula Complete-linkage max { d(a,b) : a A, b B} Single-linkage min { d(a,b) : a A, b B} Mean linkage Centroid linkage c A c B ( A B ) -1 d(a,b) Teemu Pulkkinen/ Trajectory clustering 30.11.2016 34

K-medoids Related to the K-means approach from earlier lecture Cluster points around a medoid instead of the center point of the elements Usually the most centrally located object, i.e. the one with the smallest average distance to the rest of the cluster members More robust than K-means Minimizes pairwise dissimilarities instead of sum of squared Euclidean distances Outliers have lesser effect Has a well-defined representative of the cluster that is actually an object (trajectory) itself 30.11.2016 35

K-medoids, example 15 15 10 10 5 5 medoid 0 0 medoid -5-5 medoid -10-10 -15-15 -10-5 0 5 10 15-15 -15-10 -5 0 5 10 15 30.11.2016 36

TRACLUS TRAjectory CLUStering A trajectory clustering approach that considers subtrajectories Parts of trajectories might match even when the trajectory as a whole does not Distance is measured between similar segments Trigonometric measures used for distance calculation 30.11.2016 37

TRACLUS The MDL principle is used to define characteristic points in the trajectory: Balance between preciseness 1 and conciseness 2 1 Difference between original trajectory and model should not be too large 2 To be beneficial, the model should be smaller than the trajectory it is modelling Segments between characteristic points then become the target for clustering Clustering performed using DBSCAN Lines instead of points, but Epsilon neighborhoods etc. remain 30.11.2016 38

TRACLUS, example True s i+1 s i+2 False s i+3 False s i s i+4 = s j Characteristic point Trajectory partition 30.11.2016 39

TRACLUS, example 1. Partition trajectories 2. Calculate weighted sum of distances between them 3. Apply DBSCAN 4. Define representative trajectory 30.11.2016 40

Case Study: Retail Analytics Task: identify different shopping styles from customer pathways Museum visitors have been shown to have 4 different styles, how many styles have customers of supermarkets? Measurements: indoor positioning measurements collected from tags installed on handlebars of shopping carts Preprocessing: Path extraction / segmentation: identifying when a shopping visit starts or ends Based on various temporal and spatial heuristics Considering opening times, entrance and cashier areas Data cleaning: Removing erroneous measurements and paths containing insufficient amount of measurements Teemu Pulkkinen/ Trajectory clustering 30.11.2016 41

Case Study: Retail Analytics Feature extraction: original path converted into percentile paths Length percentile: calculate the length of a 1% of the overall path and replace measurements with points that are closest to each i% First point entry to shop, last cashier Second point measurement that closest to 1% length of the shopping route Time percentile: similar to the length percentile but uses time instead If a path lasts 100minutes, the 2 nd point is the measurement that is 1 minute along the path Teemu Pulkkinen/ Trajectory clustering 30.11.2016 42

Case Study: Retail Analytics Original Length percentile Time percentile 30.11.2016 43

Case Study: Retail Analytics Shopping styles determined by performing trajectory clustering on the resulting percentile pathways K-medoids using Euclidean distance Euclidean distance can be used thanks to the percentile conversion before clustering The number of shopping styles corresponds to the optimal value of k Cluster count determined using the KL criterion Teemu Pulkkinen/ Trajectory clustering 30.11.2016 44

Case Study: Retail Analytics KL Scree 30.11.2016 45

Case Study: Retail Analytics Best results obtained using a hierarchical clustering scheme Paths manually split into short (14), medium (5), and long (12) duration paths Based on predefined temporal thresholds Selected from an earlier study 17 clusters when all data considered together Teemu Pulkkinen/ Trajectory clustering 30.11.2016 46

Case Study: Retail Analytics Centroids of different clusters 30.11.2016 47

Summary Trajectories can exhibit trends when clustered together Useful for analysis The distance between trajectories is usually calculated with a dynamic programming approach Main difference between approaches is how they calculate the matrix DTW: consider the distance between elements LCSS: compare sections that are similar 30.11.2016 48

Summary Hierarchical clustering can use a distance matrix to define clusters based on the distances between the elements in them Some approaches consider partitions of trajectories TRACLUS combines MDL simplification with a modified version of DBSCAN 30.11.2016 49

Literature ERP: Chen, L. & Ng, R.: On the marriage of Lp-norms and edit distance Proceedings of the Thirtieth international conference on Very large data bases - Volume 30, VLDB Endowment, 2004, 792-803 EDR: Chen, L.; Özsu, M. T. & Oria, V.: Robust and Fast Similarity Search for Moving Object Trajectories Proceedings of the ACM SIGMOD International Conference on Management of Data, ACM, 2005, 491-502 TRACLUS: Lee, J.-G.; Han, J. & Whang, K.-Y.: Trajectory clustering: a partition-and-group framework Proceedings of the 2007 ACM SIGMOD international conference on Management of data (SIGMOD), ACM, 2007, 593-604 30.11.2016 50