3
$\begingroup$

I have a matrix with $U$ rows and $N$ columns where:

  • $U$ is the number of users on a website.
  • $N$ is the set of possible actions when a user participates (one per participation)
  • The position $u\times n$ of the matrix indicates how many times user $u$ has chosen action $n$.
  • Thus, the sum of values in column $u$ is the total number of participations for $u$.

Note that the choices of $n$ are mutually exclusive, that is, users can only choose one type of participation at a time.

I would like to cluster users according to their choices.

What alternatives do I have?

I'm thinking of a couple of ways:

  • (a) Normalise the rows so that they become multinomial distributions (and so that I can compare users even if some participated more than others). Then apply some standard method like hierarchical clustering, using Pearson correlation as my similarity metric.

  • (b) Normalise the rows and, since I have now probability distributions, cluster them (how?)

I can do (a) easily, but I got thinking that, since rows are multinomial distributions, I might be doing it wrong if I ignore this.

I'm tempted to consider a Bayesian approach: putting Multinomial distributions over the counts and a common Dirichlet prior over the Multinomials, but unless there is some R library for that case, I'd prefer something out the of box.

Question: Is (a) correct? What other options do I have?

$\endgroup$
1
  • 1
    $\begingroup$ Every two users form a 2xN frequency table. So you are free to compute any coefficient that is able to serve as their dissimilarity. Such as sqrt(chi-square), phi. etc. These are nice distances for counts. $\endgroup$
    – ttnphns
    Commented Aug 15, 2016 at 20:39

1 Answer 1

2
$\begingroup$

Consider every time a user did something equivalent to the user writing a word. "page1 page2 submit page1 ..." Then you can usual text analysis approaches.

In particular, you can use the vector space model and TF-IDF for similarity. Then try hierarchical 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.