12. A computer-readable non-transitory storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising: receiving a request from a user for one or more recommendations; determining a location distribution from historical location information associated with the user, wherein the location distribution indicates one or more probability distributions for one or more locations; determining a time distribution from historical context information associated with the user, wherein the time distribution indicates one or more probability distributions for one or more contexts, wherein a respective context includes contextual variables corresponding to at least one of: a location; a time; a weather condition; and a venue type; determining a joint distribution of two or more of the contextual variables that are based on the location distribution and the time distribution, wherein the joint distribution comprises statistical attributes that characterize dependent relationships between the two or more of the contextual variables, the statistical attributes including one or more of: a mean value; a median value; a mode; a maximum value; and a minimum value of the contextual variables; determining a hypothetical context based on the statistical attributes of the joint distribution and a current context, wherein the hypothetical context indicates one or more user preferences that are outside of the user's current context and explicit historical contexts; producing one or more recommendations for the user based on the hypothetical context; constructing a mapping function that maps a user context to a hypothetical context, wherein constructing the mapping function involves using one or more of: historical contexts associated with the request; prior hypothetical contexts; and the user's interactions associated with the user's past requests for a recommendation; and providing the one or more recommendations to the user.
12. A computer-readable non-transitory storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising: receiving a request from a user for one or more recommendations; determining a location distribution from historical location information associated with the user, wherein the location distribution indicates one or more probability distributions for one or more locations; determining a time distribution from historical context information associated with the user, wherein the time distribution indicates one or more probability distributions for one or more contexts, wherein a respective context includes contextual variables corresponding to at least one of: a location; a time; a weather condition; and a venue type; determining a joint distribution of two or more of the contextual variables that are based on the location distribution and the time distribution, wherein the joint distribution comprises statistical attributes that characterize dependent relationships between the two or more of the contextual variables, the statistical attributes including one or more of: a mean value; a median value; a mode; a maximum value; and a minimum value of the contextual variables; determining a hypothetical context based on the statistical attributes of the joint distribution and a current context, wherein the hypothetical context indicates one or more user preferences that are outside of the user's current context and explicit historical contexts; producing one or more recommendations for the user based on the hypothetical context; constructing a mapping function that maps a user context to a hypothetical context, wherein constructing the mapping function involves using one or more of: historical contexts associated with the request; prior hypothetical contexts; and the user's interactions associated with the user's past requests for a recommendation; and providing the one or more recommendations to the user. 21. The computer-readable non-transitory storage medium of claim 12 , wherein the method further comprises saving the hypothetical context to a calendar to facilitate subsequent hypothetical context determinations.