Modeling Time-Series and Spatial Data for Recommendations and Other Applications