Learning Significant Locations and Predicting User Movement with GPS Daniel Ashbrook and Thad Starner Contextual Computing Group http://www.cc.gatech.edu/ccg College of Computing, GVU Center Georgia Institute of Technology Atlanta, GA USA Georgia Tech
Motivation • Location is a very common form of context – easy to collect – infer other pieces of context • Most applications rely only on user’s current location Georgia Daniel Ashbrook and Thad Starner Tech
Motivation • How can we improve location context? • Look for patterns of movement and learn user’s daily schedule – predict where user is going based on where user has been • Goal: computer can act as agent – offer suggestions at appropriate times – enable collaboration between colleagues Georgia Daniel Ashbrook and Thad Starner Tech
Applications • Potential applications for location prediction • Single–user applications – system only knows about one user’s movements • Multi–user applications – system combines predictions for several people Georgia Daniel Ashbrook and Thad Starner Tech
Applications • Single user: Pre–emptive Reminders – remind user at an appropriate time – example: library book •try to determine if user will pass library today •only then remind user to take book before leaving home Georgia Daniel Ashbrook and Thad Starner Tech
Applications • Single user: Wireless caching – wireless networks often unavailable •lack of infrastructure •radio shadows (buildings, subway) – hide lack of connectivity by caching – predict when caching will be insufficient •warn user •suggest alternative routes Georgia Daniel Ashbrook and Thad Starner Tech
Applications • Single user: Wireless caching – cache even when network is available •transmission power can increase with 4 th power of distance in complex environments (i.e., city) •cost can vary with network used, time of day – prediction can allow savings •of battery power •of money Georgia Daniel Ashbrook and Thad Starner Tech
Applications • Multi–user: Enabling collaboration – “Will I see Bob today?” •compare the user’s and Bob’s schedules •give yes or no answer – Scheduling many–person meetings •find when most people are free and suggest a time •also discover most convenient place to meet Georgia Daniel Ashbrook and Thad Starner Tech
Applications • Multi–user: Favor exchange – remotely coordinate favor trading – example: FedEx/UPS package trading Georgia Daniel Ashbrook and Thad Starner Tech
Related Work • Bhattacharya — cell phone prediction • Davis — prediction with ad–hoc networks • Kortuem — Walid • Marmasse — comMotion • Liu — predictively caching network architecture • Orwant — Doppelgänger • Sparacino — Museum Wearable • Wolf — travel diaries Georgia Daniel Ashbrook and Thad Starner Tech
Hardware • Garmin GPS model 35-LVS • GeoStats data logger – 1 MPH recording limit Georgia Daniel Ashbrook and Thad Starner Tech
Hardware • Preliminary data collected in Atlanta Sep-Dec 2001 • Data currently being collected from multiple users in Zürich, Switzerland Preliminary data—Atlanta, GA Georgia Daniel Ashbrook and Thad Starner Tech
Software • Preliminary implementation – finds points of possible significance – creates probabilistic model of user’s movements •Markov model – using model, simple queries are possible: •“The user is at home. Where will she go next?” •“How likely is the user to visit the grocery store today?” Georgia Daniel Ashbrook and Thad Starner Tech
Software • Markov model – collection of nodes Georgia Daniel Ashbrook and Thad Starner Tech
Software • Markov model – collection of nodes – transitions between nodes Georgia Daniel Ashbrook and Thad Starner Tech
Software • Markov model – collection of nodes – transitions between nodes – each transition has a probability of occurring Georgia Daniel Ashbrook and Thad Starner Tech
Software • Markov model – collection of nodes – transitions between nodes – each transition has a probability of occurring – can also have self– transitions Georgia Daniel Ashbrook and Thad Starner Tech
Software • Our Markov model – nodes are significant locations – transitions are trips between those locations Georgia Daniel Ashbrook and Thad Starner Tech
Software • Significance – how do we determine if a particular GPS coordinate might have some meaning to the user? Georgia Daniel Ashbrook and Thad Starner Tech
Software • Places – logged GPS coordinates with more than time t of “resting time” Georgia Daniel Ashbrook and Thad Starner Tech
Software • How to pick t ? Georgia Daniel Ashbrook and Thad Starner Tech
Software • How to pick t ? – try lots of values – graph number of places found for each value Georgia Daniel Ashbrook and Thad Starner Tech
Software • How to pick t ? – try lots of values – graph number of places found for each value – but relationship is nearly linear! Georgia Daniel Ashbrook and Thad Starner Tech
Software • How to pick t ? – try lots of values – graph number of places found for each value – but relationship is nearly linear! – so we pick an arbitrary value: t = 10 minutes Georgia Daniel Ashbrook and Thad Starner Tech
Software All data All data Georgia Daniel Ashbrook and Thad Starner Tech
Software All data All data Onl Only places places , with th t = 10 = 10m Georgia Daniel Ashbrook and Thad Starner Tech
Software • Locations – problem: too many places •GPS inaccuracy •different exit points from buildings Georgia Daniel Ashbrook and Thad Starner Tech
Software • Locations – problem: too many places •GPS inaccuracy •different exit points from buildings – solution: cluster places to form locations •all places within a radius r of a particular place form a single location Georgia Daniel Ashbrook and Thad Starner Tech
Software All data All data Onl Only places places , with th t = 10 = 10m Georgia Daniel Ashbrook and Thad Starner Tech
Software All data All data Onl Only places places , Onl Only locations locations with th t = 10 = 10m Georgia Daniel Ashbrook and Thad Starner Tech
Software • How to pick radius r ? Georgia Daniel Ashbrook and Thad Starner Tech
Software • How to pick radius r ? – too large value • too few clusters • unrelated places together – too small value • too many clusters Georgia Daniel Ashbrook and Thad Starner Tech
Software • How to pick radius r ? – too large value • too few clusters • unrelated places together – too small value • too many clusters • Solution: – try various values for r – find knee in graph Georgia Daniel Ashbrook and Thad Starner Tech
Software • Clustering places into locations – pick one place (•) – find all places within radius r (•) Georgia Daniel Ashbrook and Thad Starner Tech
Software • Clustering places into locations – pick one place (•) – find all places within radius r (•) – find the mean of those places (x) Georgia Daniel Ashbrook and Thad Starner Tech
Software • Clustering places into locations – pick one place (•) – find all places within radius r (•) – find the mean of those places (x) – repeat with x as the new center Georgia Daniel Ashbrook and Thad Starner Tech
Software • Clustering places into locations – pick one place (•) – find all places within radius r (•) – find the mean of those places (x) – repeat with x as the new center – continue until the mean stops changing Georgia Daniel Ashbrook and Thad Starner Tech
Software • Clustering places into locations – pick one place (•) – find all places within radius r (•) – find the mean of those places (x) – repeat with x as the new center – continue until the mean stops changing – start again with another place – repeat until no more places Georgia Daniel Ashbrook and Thad Starner Tech
Software • Sublocations – problem: subsuming smaller-scale paths Georgia Daniel Ashbrook and Thad Starner Tech
Software • Sublocations – solution: create – problem: subsuming sublocations within smaller-scale paths larger clusters Georgia Daniel Ashbrook and Thad Starner Tech
Software • How to determine if sublocations exist? Georgia Daniel Ashbrook and Thad Starner Tech
Software • How to determine if sublocations exist? – use same knee & graph algorithm on each location – if no knee exists, not enough points to form sublocations Georgia Daniel Ashbrook and Thad Starner Tech
Software • Sublocations can have multiple scales – Country level Georgia Daniel Ashbrook and Thad Starner Tech
Software • Sublocations can have multiple scales – Country level – State level Georgia Daniel Ashbrook and Thad Starner Tech
Software • Sublocations can have multiple scales – Country level – State level – City level Georgia Daniel Ashbrook and Thad Starner Tech
Recommend
More recommend