Methods are provided for modeling mobility based on one or more devices of the user. Methods may include: receiving at least a portion of a first mobility model from a first device, where the first mobility model may be established based on learning algorithms performed on the first device; updating a shared mobility model to become a first shared mobility model based on the at least a portion of the first mobility model; providing the first shared mobility model to the first device; receiving at least a portion of a second mobility model from a second device, where the second mobility model may be established based on learning algorithms performed on the second device; updating the first shared mobility model to become a second shared mobility model based on the at least a portion of the second mobility model; and providing the second shared mobility model to the second device.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: receiving at least a portion of a first mobility model from a first device, wherein the first mobility model is established based on learning algorithms performed on the first device; updating a shared mobility model to become a first shared mobility model based on the at least a portion of the first mobility model; providing the first shared mobility model to the first device; receiving at least a portion of a second mobility model from a second device, wherein the second mobility model is established based on learning algorithms performed on the second device; updating the first shared mobility model to become a second shared mobility model based on the at least a portion of the second mobility model; and providing the second shared mobility model to the second device. 2. The method of claim 1, wherein the at least a portion of the first mobility model is determined based on portions of the first mobility model that have been changed since last receipt of a prior shared mobility model. 3. The method of claim 1, wherein updating a shared mobility model based on the at least a portion of the first mobility model comprises: comparing the at least a portion of the first mobility model with a respective portion of the shared mobility model, and updating the shared mobility model in response to a confidence score of the at least a portion of the first mobility model being greater than a confidence score of the respective portion of the shared mobility model. 4. The method of claim 3, wherein the confidence score of the at least a portion of the first mobility model is calculated based on at least one of: an amount of data used to infer at least one location, at least one transition, or at least one route of the at least a portion of the first mobility model; an accuracy of data points of at least one location, at least one transition, or along at least one route of the at least a portion of the first mobility model; an amount of time spent proximate at least one location; or an age of data points of at least one location, at least one transition, or along at least one route of the at least a portion of the first mobility model. 5. The method of claim 1, wherein the at least a portion of the first mobility model comprises one or more transitions and a time table matrix, wherein a time of the one or more transitions and a day of the week of the one or more transitions are used to update a time table matrix of the shared mobility model. 6. The method of claim 5, wherein the at least one transition comprises a route between a first location and a second location, wherein the route comprises one or more of: mode of transport data; shape of route data; confidence score data; or time along route data. 7. The method of claim 1, wherein updating a shared mobility model based on the at least a portion of the first mobility model and the at least a portion of a second mobility model comprises merging the at least a portion of the first mobility model and the at least a portion of the second mobility model with the shared mobility model to generate the second shared mobility model. 8. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least perform: receive at least a portion of a first mobility model from a first device, wherein the first mobility model is established based on learning algorithms performed on the first device; update a shared mobility model to become a first shared mobility model based on the at least a portion of the first mobility model; provide the first shared mobility model to the first device; receive at least a portion of a second mobility model from a second device, wherein the second mobility model is established based on learning algorithms performed on the second device; update the first shared mobility model to become a second shared mobility model based on the at least a portion of the second mobility model; and provide the second shared mobility model to the second device. 9. The apparatus of claim 8, wherein the at least a portion of the first mobility model is determined based on portions of the first mobility model that have been changed since last receipt of a prior shared mobility model. 10. The apparatus of claim 8, wherein causing the apparatus to update a shared mobility model based on the at least a portion of the first mobility model comprises causing the apparatus to: compare the at least a portion of the first mobility model with a respective portion of the shared mobility model, and update the shared mobility model in response to a confidence score of the at least a portion of the first mobility model being greater than a confidence score of the respective portion of the shared mobility model. 11. The apparatus of claim 10, wherein the confidence score of the at least a portion of the first mobility model is calculated based on at least one of: an amount of data used to infer at least one location, at least one transition, or at least one route of the at least a portion of the first mobility model; an accuracy of data points of at least one location, at least one transition, or along at least one route of the at least a portion of the first mobility model; an amount of time spent proximate at least one location; or an age of data points of at least one location, at least one transition, or along at least one route of the at least a portion of the first mobility model. 12. The apparatus of claim 8, wherein the at least a portion of the first mobility model comprises one or more transitions and a time table matrix, wherein a time of the one or more transitions and a day of the week of the one or more transitions are used to update a time table matrix of the shared mobility model. 13. The apparatus of claim 12, wherein the at least one transition comprises a route between a first location and a second location, wherein the route comprises one or more of: mode of transport data; shape of route data; confidence score data; or time along route data. 14. The apparatus of claim 8, wherein causing the apparatus to update a shared mobility model based on the at least a portion of the first mobility model and the at least a portion of a second mobility model comprises causing the apparatus to merge the at least a portion of the first mobility model and the at least a portion of the second mobility model with the shared mobility model to generate the second shared mobility model. 15. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising: program code instructions for receiving at least a portion of a first mobility model from a first device, wherein the first mobility model is established based on learning algorithms performed on the first device; program code instructions for updating a shared mobility model to become a first shared mobility model based on the at least a portion of the first mobility model; program code instructions for providing the first shared mobility model to the first device; program code instructions for receiving at least a portion of a second mobility model from a second device, wherein the second mobility model is established based on learning algorithms performed on the second device; program code instructions for updating the first shared mobility model to become a second shared mobility model based on the at least a portion of the second mobility model; and program code instructions for providing the second shared mobility model to the second device. 16. The computer program product of claim 15, wherein the at least a portion of the first mobility model is determined based on portions of the first mobility model that have been changed since last receipt of a prior shared mobility model. 17. The computer program product of claim 15, wherein the program code instructions for updating a shared mobility model based on the at least a portion of the first mobility model comprises: program code instructions for comparing the at least a portion of the first mobility model with a respective portion of the shared mobility model, and program code instructions for updating the shared mobility model in response to a confidence score of the at least a portion of the first mobility model being greater than a confidence score of the respective portion of the shared mobility model. 18. The computer program product of claim 17, wherein the confidence score of the at least a portion of the first mobility model is calculated based on at least one of: an amount of data used to infer at least one location, at least one transition, or at least one route of the at least a portion of the first mobility model; an accuracy of data points of at least one location, at least one transition, or along at least one route of the at least a portion of the first mobility model; an amount of time spent proximate at least one location; or an age of data points of at least one location, at least one transition, or along at least one route of the at least a portion of the first mobility model. 19. The computer program product of claim 15, wherein the at least a portion of the first mobility model comprises one or more transitions and a time table matrix, wherein a time of the one or more transitions and a day of the week of the one or more transitions are used to update a time table matrix of the shared mobility model. 20. The computer program product of claim 15, wherein the program code instructions for updating a shared mobility model based on the at least a portion of the first mobility model and the at least a portion of a second mobility model comprises program code instructions for merging the at least a portion of the first mobility model and the at least a portion of the second mobility model with the shared mobility model to generate the updated shared mobility model.