I have a problem of the form "what is the probability that a user will 'like' a certain movie?" For a bunch of users, I know the movies each has watched historically, and the movies each has liked. Additionally, for each movie I know the name of the director.
I calibrated a logistic regression for each user of the form:
glm(liked_by_user_1 ~ liked_by_user_2 + ... + liked_by_user_k + factor(director), family=binomial, data = subset(MovieWatchings, user_id == 1))
But my problem is: say that in the past, user 1 has watched movies from directors
DM, but next month
U1 watches a movie directed by
DN? In that case the R
predict() function will give an error, because the glm model for user 1 doesn't have an estimated parameter for the case of
director = DN. But I must know something about
U1's probability of liking the new movie, because I still know which other users have seen and liked this movie, and that has some predictive power.
How can I set up my model so that I can take into account other users' liking behavior, AND user 1's director preferences, but still have sensible predictions when user 1 sees his first movie from a new director? Is logistic regression even the right type of model for this case?