Learning Significant Locations and Predicting User Movement with GPS Daniel Ashbrook and Thad Starner Avinash Parnandi Learning Significant Locations and Predicting User Movement with GPS: • Learning Significant Locations: Significant Locations are those locations which we commonly visit & spend time, over a period of time(say one semester). e.g. Home, Work, KOH, Leavey, DRB-Lab, Smart-Final… etc. • Predicting User Movement: After collecting the GPS data and analyzing it, it uses Markov Model to predict user movement and answer queries like: – right now the user is at home, what is the likely place she`ll go next? -- how likely is he to stop at the grocery store on way from school to home. • Location is one of the most commonly used context. Given this other information can inferred i.e. what are you doing(Stadium-Match, Classroom-Studying, Movie Hall- Movie etc.) Applications: Single User Associate a To-Do list or Reminders with location. So the • reminders will pop up depending on your location e.g. Vegetables” when you are near a grocery store. “Buy This is where Prediction spices up the system… Early reminders --- Suppose you`ve a library book to return & the • phone predicts that you`ll be taking the library route today so it`ll prompt a reminder before you leave your home instead of reminding you near the library. • Location prediction abilities could allow a wearable computer to optimize its transmissions based on availability of service in various locations and the knowledge of how its user moves throughout the day. Applications: Multi User • Simplest example : “Will I see Bob today?“ • Another application is scheduling a meeting of several people depending on their calendar. • Serendipitous meeting. • Intelligent Interruption: Location models can be used to make an intelligent guess about whether the user is interruptible or not. Suppose your location says that you are in a lecture or at your workplace and cannot be disturbed so it`ll automatically take your phone into silent mode. Requires sharing of information.Various mechanisms are available central server, sharing only with trusted associates etc. Here issues needs to be taken care of. like privacy Implementation • • • • • Hardware: Collects the data using a GPS receiver & data logger. Software: Processes the data, then by using a Markov Model prediction about user movements based upon this data. makes Duration of experiment: 4 months Data logger recorded the output from the GPS receiver at an interval of one second, but only if the receiver was moving at one mile an hour or greater. This helps pre-process the data. Limitation of GPS: Accuracy of the GPS receiver was 15 meters; this means that the same physical location will have a different GPS coordinate from day to day. Significant Locations We are interested in the places where the user spends time and by looking at the time gaps in the GPS data we can find these significant locations. Time gaps will occur when the data logger is not logging which happens when either you are stationary(less than 1mph) in an open place or you are in a building with no GPS signal. Both these cases mean that you spend your time here. The value of time gap is an important parameter. Whenever a point is found that has more than a certain time ‘t’ between it and the previous point, we conclude that the point marks a significant location. ◦ So now we`ve the significant locations…… Determining places & Clustering Because GPS measurements taken in the same physical location can vary by as much as 15 meters, the logger may record different point for a location even if the user stops at precisely the same point . Hence create clusters of some radius ‘r’ . All GPS locations inside a cluster are now recognized by the cluster ID. So original hundreds of thousands of GPS coordinates are now just a few significant locations. Clustering done by a variant of K-mean clustering Algorithm. K Mean Clustering 1. 2. 3. 4. Take one place point and a radius. All the points within this radius of the place are marked, and the mean of these points is found. The mean is then taken as the new centre point, and the process is repeated. This continues until the mean stops changing. When the mean no longer moves, all points within its radius are placed in its cluster and removed from consideration To determine the Radius: knee Radius of a Cluster: Identifying Sub-locations Problem with radius of the cluster-- Large R— small transits like SSL-RTH wont be predicted. All it`ll say is – ‘campus’, which is a cluster. Small R—Many locations will be individual clusters which is exactly what we want to avoid by clustering. Also broader trips will not be predicted. Variable R – Sub-locations inside a cluster, Campus a cluster & RTH, SSL, Lyon can be sub- locations. can be So now we have our locations, what next?? Prediction!!!! Prediction A Markov Model is created for each location in the map with transition to other locations. What is a Markov Model? ◦ Markov Models are State Transition models with the nodes being the states & with corresponding state transition between the nodes. probabilities ◦ It follows the Markov Rule i.e. future state depends on the current state and observational data & independent of past states . A simple random walk is an example of Markov Chain. How does it work? This model predicts user movement. Given current location, it reads out transition probabilities for all possible locations from this location and the one with the highest probability is accepted and taken as the next move. Probability here is the relative frequency of transitions. If no transition ever occurs between two nodes then the transition probability between those nodes is zero. Future Work & Limitations: Future Work: This project was for single user, so the next obvious step is Multi-User collaboration . Design a Markov Model to support time based prediction. Can predict where someone will go next but not when. Limitations: Changes in schedule may take a long time to be reflected in the model. Does not update the user models in real time. Related Work: Multi-User: Learning locations & Prediction Work done by the same group. Mostly similar work, few changes to the approach. The data collected was implemented for multi user collaborative applications. Still does not support time prediction. Adaptive mobility prediction for location management using mobile positioning Location management scheme for mobile wireless networks is presented The mobile periodically compares its current location (GPS) with the predicted location and sends an autonomous location update whenever the prediction error exceeds a certain threshold. Related Work: • Learning Significant Locations from GPS Data with Time Window: (Tang Jian , Meng Lingkui 2006) • They identify significant locations but no prediction. Distinguishes the location of the same place where the user went at different time i.e. OHE at 11 AM is different from OHE at 3:30 PM. They make use of the fact that every GPS point is acquired with a time stamp. Can be the basis for time based prediction . • • • References: Learning Significant Locations and Predicting User Movement with GPS & Using GPS to learn significant locations and predict movement across multiple users: Daniel Ashbrook and Thad Starner Learning Significant Locations from GPS Data with Time Window: Tang Jian, Meng Lingkui. Adaptive mobility prediction for location management using mobile positioning: Zhang Rui , Bassiouni Mostafa A . http://intoverflow.wordpress.com/2008/05/27/what-is-a-hiddenmarkov-model/ Thanks!!! Questions ?????