Similarity measure between groups

Imagine there is a group of people numbered 1-100, each of which have a few numerical attributes e.g. height, weight, age.

There is a small sub-group (A) which consists of 10 people from the bigger group, say 1-10. The group does not necessarily have anything in common in terms of the attributes.

What I would like to do is find a new sub-group (B), also 10 people among the rest of the group (11-100) that are most similar to the group (A) in terms of the attributes height, weight, age.

What approach would you take on this?

I thought of doing some euclidian distance matrix person-person, and then matching them up 1 to 1 - but is that really the way to go?

BACKSTORY: In lack of an actual experiment - group A is a set of users who did something and I want to have a group B which were similar to A but did not do that something, i.e. a "control"-group of sorts to estimate the effect of what A did.

• what about PCA and MCA? – Metariat Sep 8 '15 at 12:47

The literature on hierarchical clustering deals with similarity measures between groups. The most popular measures of group similarity are perhaps the single linkage, complete linkage, and average linkage.

Single linkage defines the group distance according to the two nearest members. Complete linkage uses the two most distant members. Average linkage uses the distance between the group averages.

Agglomerative hierarchical clustering:

1. Put every observation into a cluster of its own
2. Find the pair of two most similar clusters
3. Make a new cluster of the two most similar ones
4. Go back to step 2 until there is only one cluster left
5. Slice the dendrogram (tree of the clustering decisions) at the desired level.

Finding the two most similar clusters is done like @JohnRos suggests.

Of course, it may happen that you don't get a cluster of 10 people.

• The suggestion by Xuan is a good one; you might be able to make the problem really simple by checking what you get with PCA. – user88977 Sep 8 '15 at 14:19