# Using random walks to predict behavior rather than matrix decomposition

I want to create a model that tries to predict a user's behavior based on the random walks of similar users. The problem is similar to Netflix's recommendation challenge. One of the popular solutions was to use singular value decomposition to find movies that user would most likely like to see.

My question is more like this: what genre of a movie would a user like to see on a particular day? You move to each state with a probability, and one state could be "watching no movie". Does it make sense or even is it even feasible to approach the problem as a Markov process? How has this been done before?

I took only one class on Markov chains in college. Thanks.

-

You might want to take a look at the BelKor solution to the Netflix Grand Prize, where they found that specific movie recommendations tend to heavily rely only on more recent movies rather than in the distant past. However, their methodology used neural networks. You could try a simple n'th order Bayesian transition model, where you store transition probabilities for given sequences of movie genres. The $n$ here denotes how far into the past you look. For example, if you have the user's history of genres, you can try to predict when they want to watch "horror" films as follows: parse their past viewing history and you'll get some time sequence of genres, say, "documentary, horror, drama, cartoon, horror..." For each instance of "horror" you'll look back $n=4$ genres, in this case "documentary, horror, drama,cartoon." If you have $G$ genres, then there are $G^n$ possible combinations and this will give you the transition probabilities for watching a horror movie next. In essence, any given sequence of $n$ genres gives you a probability distribution for what the next genre will be.

-

The issue with treating this approach is that in a Markov process the probabilities of the user's potential films tomorrow would depend on the user's film today, and not on what happened before today, something called the Markov property.

So your model would throw away all previous information except for the current state. This does not seem likely to be a particularly successful approach.

-