2
$\begingroup$

I am currently collecting mobile device data about user location and the time at which an app is being used for a cohort of users and apps. I am trying to predict which apps are likely to be used at a given time by a given user.

Which model should i use in order to predict the apps that are likely to be used by a particular user? For example, should I collect data for 5 days a week then use the 3 days for training and then the other 2 days for testing? Given location, time of day, and day, what model should I use to predict which app is likely to be used?

$\endgroup$
5
  • $\begingroup$ Human behaviour is often related to the day of the week so allocating entire days to either training or test doesn't not seem initially to be an optimal choice. $\endgroup$ Commented Aug 19, 2015 at 16:07
  • $\begingroup$ However would you suggest to make classifier for each app ? In order to predict the possibility of an app to be used at a location combined with time of day and also day of week ? For example logistic regression trained only on app1, logistic regression trained only for app2 etc...and then after collecting data for 2 weeks. Train these classifiers with the data from the first week and test my predictions on the second week? Is logistic regression for each app a good approach ? that is what i am actually askiing.. $\endgroup$ Commented Aug 19, 2015 at 17:34
  • $\begingroup$ 1 v All classification schemes, such as you suggest, can be effective, or you could just use a classifier that can deal with multiple classes such as RandomForest or MultiLayerPerceptrons. Two weeks doesn't sound like a lot of data, but if that's all you've got, then it sounds reasonable. Though weeks in August won't be like those in December. I"d look at a range of classifiers not just one, that's the best way to explore the function solution space. $\endgroup$ Commented Aug 19, 2015 at 18:18
  • $\begingroup$ "Spatio Temporal Statistics" $\endgroup$ Commented Aug 19, 2015 at 22:25
  • $\begingroup$ image_doctor. Do you believe Kohenes neural network is a good approach to use in my case? $\endgroup$ Commented Aug 25, 2015 at 3:00

1 Answer 1

1
$\begingroup$

Much depends on the data available to you. Perhaps you can be more specific about the scale and scope.

Modelling time is the straightforward bit. To understand how to conceptualise time as useful features, see this excellent answer on Machine learning - features engineering from date/time data

Modelling the user is more complicated. You will likely not have enough data on each user, but you can build some user models. (Too few, then the system will make similar predictions for all users, without nuance. Too many and there will be sparsity, overfitting, and generally the same problems as having no profile models at all, ie one model per actual user.)

This can be done supervised or unsupervised, finding representative clusters.
(Search for user profile categorisation, user models, user model clustering)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.