What makes a place or a location interesting for you? Well, your favorite bars, clubs or public places may cross your mind right now and you’ll think further to unique spots or sights in your local area or popular places around the globe. All theses places have one thing in common: you having a great experience and a great time. If you think one step further, in many cases, it’s not about you enjoying these places. But rather, it’s about you enjoying to be with other great people who happen to meet at these places.
In urban locations, especially in big cities, you’ll find a vast variety of different locations. And people are attracted by different locations. A lot of effort is invested into local guides that describe these locations in structured (e.g., set of attributes, ratings) or even unstructured ways (e.g., location descriptions, reviews). And in recent years, many online location guides, location recommender systems, and mobile apps popped up and provide you with location recommendations. It seems straightforward. But none of these care about the people that are there. None of these care about you joining these people. In conclusion, none of these guides or location recommender systems consider other people to be the reason a place becomes interesting. And you know what? None of these care about being at the right place at the right time! For instance, there might be special events (e.g., over 30 parties, single events) recurring on the same day of week.
Today, nearly everyone has a mobile phone and mobile access to the Internet. There are great mobile apps with which you can virtually check-in (e.g., Foursquare) to a place or which use your current location based on GPS or any other location triangulation technique to provide you recommendation of interesting locations that are close. Anyways, you can be located and hence other people can be located too.
Let’s assume that people enjoy to be with other people who share with them common interests or have similar preferences. What if we can show people the current location of other people with similar preferences or common interests? What if we can even predict where these people will be in an hour, in few hours, in days? If we can built an app for that, then people will know where to go and having a great time with people sharing common interests. They don’t have to rely on location information and hope for the best that there will be the right people to have a great time.
Well, I wouldn’t write a blog post about this topic if we didn’t built it and demonstrated that it’s possible and useful. Thomas Maurer, a master student of mine, had this assignment for his master’s thesis. He developed an iPhone app called Environs that tracks people’s location and synchronizes it with a central server. Based on the location history data, knowing where people frequently are, he created clusters of people who are frequently in the same are at the same time. We assume this clusters to be people with common interests. Another approach can be to combine location history data with structured information about the locations to create preference profiles. These profiles can be used to identify people with similar preferences. Since the period for a master’s thesis is quite short, we used the MilanoByNight dataset from the EveryWare laboratory at the Department of Computer Science at the University of Milano, Italy. The dataset consists of over 100k agents who drive around and rest at different locations.
To predict where people with similar people are, he used the location history data as time-series to detect seasonal effects. In other words, he identified the locations where people constantly go to and when (e.g., hour of day, day of week).
In the mobile app, Google Maps is used to visualize the current location of people with similar preferences. We used blurry red dots for the people’s location because it has an interesting property. When several blurry dots are painted in a narrow area, they form a cloud-like shape. We used this property to highlight ares of interests. Note that we highlight areas and not points! Further, based on the weather map metaphor used by weather forecast services, we added an overlay on top of Google Maps that showed the predicted value of areas over the next few hours. This is similar to the weather forecast and the visualization of the predicted movement of clouds. A side note: the similarity to forecasting cloud movements led as to the concept of recommendation clouds which are predicted locations of interests and certain time.
We had synthetic data from an agent simulation who virtually drive around Milano. We evaluated our approach to collaborative filtering and recommendation approaches and demonstrated that our approaches significantly outperformed the others. However, this is based on a synthetic dataset for which we have now knowledge how it was built. And every statistician, data miner and data scientist knows that even in random data, statistics and algorithms will find patterns and random correlations. Therefore, there is no quantitative evidence yet.
Recommender systems are a type of information retrieval and filtering systems that try to propose items to users according to their individual preferences. Collaborative Filtering is a method to implement such a recommender system through the prediction of ratings for items based on the social environment of the user. In a location recommender system the recommended items are locations, places or areas of interest. Commonly such location recommendations focus only on the current location of the user leaving out other important contextual factors such as time and the locations of other users.
This thesis builds on the assumption that users might be interested in places or areas where other users with similar preferences currently are situated. We developed a visualization following the metaphor of a heatmap – e.g. used of precipitation radar images – where the locations of users are drawn on a map and shape clouds which recommend areas of interest visually. In addition, we develop an abstracted view of the cloud visualization called projection which recommends areas and places depending on hour, weekday and user preferences. We present our implementation of such a location recommender system, in particular the visualizations. Finally, we evaluate our visualization recommendation approach with a synthetic data set against other collaborative filtering algorithms and can present eligible results.
Credit goes to my master student Thomas Maurer who did all the great work.
Thomas Maurer: Environs: visualization of recommendation clouds on the iPhone, University of Zurich, Faculty of Economics, 2010. (Master Thesis)