Provided is a process of inferring a user's reason for movement between geolocations sensed by a mobile device of the user, the process including: obtaining a history of time-stamped geolocations of a user; selecting a plurality of geographic areas based on each of the selected geographic areas including at least one of the time-stamped geolocations; obtaining a probabilistic model specifying parameters comprising: a plurality of candidate user events, each candidate user event being an underlying potential reason why the user moved between geographic locations; probabilities of the user transitioning between each pair of the candidate user events; and probabilities of obtaining a geolocation reported by the computing devices associated with the user in each of the plurality of geographic areas following occurrence of each of the candidate user events; inferring, with one or more processors, one of the candidate user events.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method of inferring a user's reason for movement between geolocations sensed by a mobile device of the user, the method comprising: obtaining a history of time-stamped geolocations of a user, the time-stamped geolocations being obtained based on data from one or more computing devices associated with the user and reported to one or more remote server systems; selecting a plurality of geographic areas based on each of the selected geographic areas including at least one of the time-stamped geolocations; associating the selected geographic areas with the time-stamp of the included geolocation to establish a time series sequence of the geographic areas; obtaining a probabilistic model specifying parameters comprising: a plurality of candidate user events, each candidate user event being an underlying potential reason why the user moved between geographic locations; probabilities of the user transitioning between each pair of the candidate user events; and probabilities of obtaining a geolocation reported by the computing devices associated with the user in each of the plurality of geographic areas following occurrence of each of the candidate user events; inferring a reason why the user transitioned between a given sequential pair of the geographic areas in the time series sequence of geographic areas based on the model, wherein the reason comprises one of the candidate user events; and storing the inferred reason in memory. 2. The method of claim 1, wherein: the geographic areas include at least three geographic areas; the geographic areas are obtained by clustering geolocations in the history of time-stamped geolocations of the user; the history of time-stamped geolocations of the user comprise 20 or more geolocations having time-stamps spanning a duration of more than one hour; the model includes a two dimensional probability matrix with at least N(N-1) of the probabilities of the user transitioning between each pair of the candidate user events, where N is a number of the candidate user events; the model includes at least N(M-1) of the probabilities of obtaining the geolocation reported by the computing devices associated with the user, where M is a number of the plurality of geographic areas; inferring the reason why the user transitioned between the given sequential pair of the geographic areas comprises, inferring a sequence of two or more of the candidate user events that account for why the user transitioned between three consecutive geographic areas in the time series sequence of geographic areas by performing operations comprising: for a given one of inferred events: calculating most probable candidate sequences of the events that lead to a respective sequentially previous candidate event in the inferred sequence for each of the candidate events; and selecting the given one of the inferred events based on the calculated probabilities of the most probably candidate sequences for the previous candidate events, respective probabilities of transitioning to each candidate event for the given one of the inferred events, and respective probabilities of obtaining a geolocation in the history in the geographic area corresponding temporally to the given one of the inferred events. 3. The method of claim 1, wherein: the obtained geolocations are tiles in which the user was determined to be located. 4. The method of claim 1, wherein: the obtained geolocations are businesses in which the user was determined to be located. 5. The method of claim 1, wherein: the obtained geolocations are polygons in which the user was determined to be located. 6. The method of claim 1, wherein: obtaining the geographic areas comprises geographically clustering at least some geolocations in the history of time-stamped geolocations of the user. 7. The method of claim 6, wherein: geographically clustering at least some geolocations in the history comprises: determining that a subset of the at least some geolocations have at least a threshold number of other geolocations in the subset within a threshold geographic distance to define core geolocations. 8. The method of claim 7, comprising: determining that another subset of the at least some geolocations are within the threshold distance from a core geolocation to define reachable geolocations. 9. The method of claim 8, comprising: grouping subsets of the core geolocations by determining that respective core geolocations in respective subsets form a connected graph in which each core geolocation in the connected graph is within the threshold distance of another core geolocation in the connected graph; and for each subset, adding reachable geolocations within the threshold distance to a core geolocation in the respective subset to the respective subset to define a respective cluster, wherein at least some of the geographic areas correspond to a convex hull of a respective cluster. 10. The method of claim 1, comprising: obtaining survey results of users in which survey participants identify sequences of the candidate events and geolocations the survey participants visited following the candidate events; and constructing the model, at least in part, by calculating, based on the survey results: the probabilities of the user transitioning between each pair of the candidate user events; and the probabilities of obtaining a geolocation reported by the computing devices associated with the user in each of the plurality of geographic areas following each of the candidate user events. 11. The method of claim 1, comprising: obtaining an initial set of probabilities for the model; obtaining a training set of one or more sequences the geographic areas; calculating the probabilities of the model by repeatedly performing steps comprising: estimating the probabilities of the user transitioning between each pair of the candidate user events based on the training set and the initial set of probabilities or a revised set of probabilities if the revised set is available; normalizing the estimated probabilities of the user transitioning between each pair of the candidate user events to form revised probabilities of the user transitioning between each pair of the candidate user events; estimating the probabilities of obtaining a geolocation reported by the computing devices associated with the user based on the training set and the revised probabilities of the user transitioning between each pair of the candidate user events; normalizing the estimated probabilities of obtaining a geolocation reported by the computing devices associated with the user to form revised probabilities of obtaining a geolocation reported by the computing devices associated with the user, wherein the revised set of probabilities includes both the revised probabilities of the user transitioning between each pair of the candidate user events and the revised probabilities of obtaining a geolocation reported by the computing devices associated with the user. 12. The method of claim 11, comprising: determining that an amount of change between consecutive sets of revised probabilities is less than a threshold amount; and in response to determining that the amount of change between consecutive sets of revised probabilities is less than the threshold amount, ceasing to repeatedly perform the steps. 13. The method of claim 11, wherein estimating the probabilities of the user transitioning between each pair of the candidate user events based on the initial set of probabilities or a revised set of probabilities if available comprises: for each of the probabilities of the user transitioning between each pair of the candidate user events, performing steps comprising: for each of a plurality of pairs of sequential geographic areas in the training set, calculating a component probability of the user transitioning between the respective pair of candidate user events and a highest probability of the respective pair of sequential geographic areas based on the initial set of probabilities or the revised set of probabilities if the revised set of probabilities is available; and dividing a sum of the component probabilities by a sum of the highest probabilities to form an estimated probability of the user transitioning between the respective pair of the candidate user events. 14. The method of claim 11, wherein estimating the probabilities of obtaining a geolocation reported by the computing devices associated with the user comprises: for each given geographic area in the training set, for each given candidate user event, and for each of a plurality of pairs of sequential geographic areas in the training set, calculating a component probability of the respective pair of sequential geographic areas assuming the respective given geographic area followed the respective given candidate user event and a highest probability of the respective pair of sequential geographic areas occurring in the set based on the initial set of probabilities or a revised set of probabilities if the revised set of probabilities is available; and dividing a sum of the component probabilities by a sum of the highest probabilities to form an estimated probability of obtaining a geolocation reported by the computing devices associated with the user in the respective given geographic area assuming the respective given candidate user event occurred. 15. The method of claim 1, wherein the model comprises: probabilities of the user transitioning to each candidate event following each two candidate events permutation of the candidate user events. 16. The method of claim 1, wherein the model comprises: a two dimensional probability matrix with at least N(N-1) of the probabilities of the user transitioning between each pair of the candidate user events. 17. The method of claim 1, comprising: receiving, via a network, a request for content, the request including an identifier of the user; and selecting the content based on the inferred reason. 18. The method of claim 1, comprising: bidding in an auction for an opportunity to present an advertisement to the user based on the inferred reason. 19. The method of claim 1, comprising: inferring respective reasons why a plurality of users each transitioned between geographic areas, wherein the reasons for each respective users are inferred concurrently on different processors, wherein each of the processors is coupled to system memory storing parameters for different geographic areas. 20. The method of claim 1, wherein inferring the reason why the user transitioned between the given sequential pair of the geographic areas comprises, inferring a sequence of two or more of the candidate user events that account for why the user transitioned between three consecutive geographic areas in the time series sequence of geographic areas. 21. The method of claim 20, comprising for a given one of inferred events: calculating most probable candidate sequences of the events that lead to a respective sequentially previous candidate event in the inferred sequence for each of the candidate events; and selecting the given one of the inferred events based on the calculated probabilities of the most probably candidate sequences for the previous candidate events, respective probabilities of transitioning to each candidate event for the given one of the inferred events, and respective probabilities of obtaining a geolocation in the history in the geographic area corresponding temporally to the given one of the inferred events. 22. A system, comprising: one or more processors; and memory storing instructions that when executed by at least some of the processors effectuate operations comprising: obtaining a history of time-stamped geolocations of a user, the time-stamped geolocations being obtained based on data from one or more computing devices associated with the user and reported to one or more remote server systems; selecting a plurality of geographic areas based on each of the selected geographic areas including at least one of the time-stamped geolocations; associating the selected geographic areas with the time-stamp of the included geolocation to establish a time series sequence of the geographic areas; obtaining a probabilistic model specifying parameters comprising: a plurality of candidate user events, each candidate user event being an underlying potential reason why the user moved between geographic locations; probabilities of the user transitioning between each pair of the candidate user events; and probabilities of obtaining a geolocation reported by the computing devices associated with the user in each of the plurality of geographic areas following occurrence of each of the candidate user events; inferring, with one or more processors, a reason why the user transitioned between a given sequential pair of the geographic areas in the time series sequence of geographic areas based on the model, wherein the reason comprises one of the candidate user events; and storing the inferred reason in memory.