Trajectory Clustering. Teemu Pulkkinen

Samankaltaiset tiedostot
Trajectory Similarity and Clustering. Teemu Pulkkinen, Petteri Nurmi

Capacity Utilization

Efficiency change over time

Other approaches to restrict multipliers

16. Allocation Models

Alternative DEA Models

The CCR Model and Production Correspondence

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

Information on preparing Presentation

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

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

The Viking Battle - Part Version: Finnish

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

7. Product-line architectures

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

Bounds on non-surjective cellular automata

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

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

C++11 seminaari, kevät Johannes Koskinen

7.4 Variability management

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.

make and make and make ThinkMath 2017

Tietorakenteet ja algoritmit

TM ETRS-TM35FIN-ETRS89 WTG

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Metsälamminkankaan tuulivoimapuiston osayleiskaava

LYTH-CONS CONSISTENCY TRANSMITTER

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

AYYE 9/ HOUSING POLICY

Choose Finland-Helsinki Valitse Finland-Helsinki

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

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

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

Gap-filling methods for CH 4 data

Trajectory Analysis. Sourav Bhattacharya, Petteri Nurmi

Capacity utilization

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

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

TM ETRS-TM35FIN-ETRS89 WTG

TM ETRS-TM35FIN-ETRS89 WTG

Guidebook for Multicultural TUT Users

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

TM ETRS-TM35FIN-ETRS89 WTG

,0 Yes ,0 120, ,8

Statistical design. Tuomas Selander

TM ETRS-TM35FIN-ETRS89 WTG

I. Principles of Pointer Year Analysis

Miksi Suomi on Suomi (Finnish Edition)

Smart specialisation for regions and international collaboration Smart Pilots Seminar

T Statistical Natural Language Processing Answers 6 Collocations Version 1.0

anna minun kertoa let me tell you

TM ETRS-TM35FIN-ETRS89 WTG

( ,5 1 1,5 2 km

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

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

Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland

TM ETRS-TM35FIN-ETRS89 WTG

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

4x4cup Rastikuvien tulkinta

Hankkeen toiminnot työsuunnitelman laatiminen

TM ETRS-TM35FIN-ETRS89 WTG

TM ETRS-TM35FIN-ETRS89 WTG

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

Research plan for masters thesis in forest sciences. The PELLETime 2009 Symposium Mervi Juntunen

EUROOPAN PARLAMENTTI

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


Rakennukset Varjostus "real case" h/a 0,5 1,5

VAASAN YLIOPISTO Humanististen tieteiden kandidaatin tutkinto / Filosofian maisterin tutkinto

TM ETRS-TM35FIN-ETRS89 WTG

Valuation of Asian Quanto- Basket Options

TM ETRS-TM35FIN-ETRS89 WTG

Exercise 1. (session: )

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

Land-Use Model for the Helsinki Metropolitan Area

Travel Getting Around

EVALUATION FOR THE ERASMUS+-PROJECT, STUDENTSE

Transport climate policy choices in the Helsinki Metropolitan Area 2025

Kvanttilaskenta - 2. tehtävät

Miten koulut voivat? Peruskoulujen eriytyminen ja tuki Helsingin metropolialueella

TIETEEN PÄIVÄT OULUSSA

Digital Admap Native. Campaign: Kesko supermarket

ALOITUSKESKUSTELU / FIRST CONVERSATION

Kvanttilaskenta - 1. tehtävät

Moving Object Databases

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

TM ETRS-TM35FIN-ETRS89 WTG

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

Uusi Ajatus Löytyy Luonnosta 3 (Finnish Edition)

Operatioanalyysi 2011, Harjoitus 4, viikko 40

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Co-Design Yhteissuunnittelu

Alternatives to the DFT

Fighting diffuse nutrient load: Multifunctional water management concept in natural reed beds

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

Rotarypiiri 1420 Piiriapurahoista myönnettävät stipendit

HARJOITUS- PAKETTI A

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing Jan Nyman,

Alueellinen yhteistoiminta

Transkriptio:

Trajectory Clustering Teemu Pulkkinen 12.4.2014 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? 12.4.2014 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 12.4.2014 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 12.4.2014 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 12.4.2014 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 12.4.2014 6

Time series objects vs. trajectories Prior research affords a lot of 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) 12.4.2014 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 12.4.2014 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 12.4.2014 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 12.4.2014 10

Indexing, example: R-trees A tree structure that is especially suitable for storing location data Considered an extension of B-trees Locations make up the leaves in the tree Parents represent rectangular regions of locations in their children Specifically: MBR:s (Minimum Bounding Rectangles) Focus on minimizing the empty space a rectangle covers Regions can be queried from the tree If the region does not intersect the rectangle of a parent node, we know it will not intersect any of the children either 12.4.2014 11

R-trees, example Which restaurants are within 5 km from me? If the region we are looking for is within A, we only need to look through {a,b,c,d} (and their child nodes). A b a e f B C A B C D c d g abcd efgh h i D 12.4.2014 12

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 12.4.2014 13

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 12.4.2014 14

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 12.4.2014 15

Euclidean, visually A B 12.4.2014 16

Dynamic programming The concept of building a solution to a problem by combining the solutions of its subproblems In this case, the results of previous calculations are reused in future steps A matrix is usually used for storing intermediate values, maintaining a running estimate of the distance In addition to the total distance, this matrix contains the distances between all prefixes How the matrix is built and traversed is what separates most popular trajectory similarity measures 12.4.2014 17

Edit distance as an example of dynamic programming Familiar from the field of string processing Define the distance between two sequences of symbols (strings) as the amount of edits needed to transform one into the other: Insert Delete Transform The common approach to solving this distance is to use dynamic programming 12.4.2014 18

Edit distance, more formally The value for each element in the EDIT matrix is defined as follows: In addition to the trivial case where either string is empty: 12.4.2014 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 12.4.2014 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 metric 12.4.2014 21

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

DTW, visually A B 12.4.2014 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 12.4.2014 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. 12.4.2014 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 12.4.2014 26

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

Similarity measures: others 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 12.4.2014 28

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 clusterd 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. 12.4.2014 29

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 12.4.2014 30

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} 12.4.2014 31

K-medoids Related to the K-means approach from previous lectures 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 12.4.2014 32

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 12.4.2014 33

TRACLUS TRAjectory CLUStering A trajectory clustering approach that considers subtrajectories Parts of trajectories might match even when the trajectory as a whole doesn t Distance is measured between similar segments Trigonometric measures used for distance calculation (see Lecture IX, slide 23) 12.4.2014 34

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 12.4.2014 35

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 12.4.2014 36

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

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 12.4.2014 38

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 12.4.2014 39

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 12.4.2014 40