2
$\begingroup$

I have a dataset I would like to analyze and plot It consists of 100 binary variables (0/1) for about 2,000,000 observations There is absolutely no quantitative variable, nor anything I could use as an explained variable for a regression analysis.

Actually, the dataset represents the patronage of 2 billion customers for 100 stores. It equals 1 if the consumer go to the store, 0 if he doesn't. With no further information. Consumers can of course visit several stores.

As the variable look like factors (0/1), I thought I could go for a Mutliple Correspondence Analysis (MCA). However, the resulting plot consists of 2 points for each variable (one for 1 and one for 0) which is not easily interpretable. (or is there a method for not plotting certain points in MCA? - in R)

I also tried to consider my dataset as a bipartite network (consumer-store). However, the plot is not really insightful, as I am especially looking for links between stores. (kind of "if a consumer go to that store, he probably also goes to this one...")

So, I have a simple question: which method you would choose for computing and plotting the links between a set of binary variable?

$\endgroup$
4
  • 1
    $\begingroup$ Are your variables really 0-1 dummy or simply 0-1 binary? $\endgroup$
    – ttnphns
    Commented Feb 11, 2014 at 9:42
  • $\begingroup$ To add a bit more to the above comment, a dummy variable refers to a set of mutually excluive categories, each coded as a 0/1. For example, if I have a variable called religion and there are 4 mutually exclusive levels coded as [1,2,3,4], I can turn that into four 0/1 dummy variables. This isn't what you mean, since clearly a person can go to more than one store, so you should edit your question appropriately, by replacing the word dummy with binary, or dichotomous. $\endgroup$
    – D L Dahly
    Commented Feb 11, 2014 at 10:06
  • $\begingroup$ Two billions is 2,000,000,000. The number in the 1st paragraph, 2,000,000, is two millions. Is that a typo or you have 2 billion customers, but only 2 million visits? $\endgroup$ Commented Feb 11, 2014 at 13:39
  • $\begingroup$ What is it you are hoping to find out in this study? $\endgroup$ Commented Feb 13, 2014 at 19:09

3 Answers 3

2
$\begingroup$

I would start by making a matrix of stores*stores (this would be 100*100, but you only need a "triangle" of the data, so it's really less than half that size). In each cell, I would put 1) the number of people who went to both stores. 2) The expected number of people in that cell if stores were unrelated. (Row marginal*column marginal/total). This, by itself, may give some insight.

For a more analytic approach, I would look into social network analysis. This would allow you to find more complex patterns in the data (e.g. are there groups of stores that tend to be visited by the same people?) It's a whole field in and of itself. I used to be up on the literature, but it has been a decade since I looked at it. There are packages in R that do a nice job; there are also stand alone programs (some of them shareware, some low cost, some quite pricey).

$\endgroup$
2
  • $\begingroup$ Thanks Peter Flom, The contingency table was my first lead. And the Chi2 test is highly significant indeed. But I'm looking also for a way to plot the result. I tried the image() function in R, but I'm not really happy with it, I would like to be able to plot it on axes (factorial maybe) and see which stores are closed one to another in terms of patronage. For the network approach, I managed to get a plot, but it's too crowded to be insightfull. I will try the clustering methods of SNA, may be a good way to go. $\endgroup$
    – Sylvain
    Commented Feb 11, 2014 at 11:42
  • $\begingroup$ Yeah, look for cliques and things like that $\endgroup$
    – Peter Flom
    Commented Feb 11, 2014 at 12:02
0
$\begingroup$

Actually, frequent itemset mining may be a better choice than clustering on such data.

The usual vector-oriented set of algorithms does not make a lot of sense. K-means for example will produce means that are no longer binary.

$\endgroup$
0
$\begingroup$

I recently suggested latent class analyisis for a similar question. See here, for more details. If you specific questions, leave a comment, and I'll edit this accordimgly.

$\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.