Classifying According to Naturally Occurring Clusters
In contrast to the techniques that I’ve briefly outlined in the preceding sections, the second set of analytic techniques that this book discusses does not necessarily start out with reference samples that include actual category membership. Instead, it’s hoped that the categories (often termed clusters in these methods) will emerge from combinations of the measured variables, combinations established and assessed by the software you use.
Principal Components Analysis
The book moves back to genuinely multivariate analysis in Chapter 7, “Principal Components Analysis.” This approach dates back to the beginning of the twentieth century and is therefore the oldest of the analytic techniques discussed in this book. Principal components analysis is the precursor to factor analysis, both historically and procedurally. Factor analysis began to gain currency in the 1930s, roughly 25 years after Karl Pearson was doing early work on principal components. And factor analysis nearly always starts with a principal components analysis, although the numeric inputs might be slightly different and the purposes of the two techniques aren’t quite the same.
The idea behind principal components analysis is that it’s possible to combine several measured variables into a single principal component (or, equivalently, many measured variables into just a few principal components) without losing a significant amount of meaningful information. The result is a much simpler data set that the researcher can investigate more easily. The same is true for factor analysis, but there the emphasis is on understanding how a factor, or component, which is not directly observable or measurable is expressed in variables that, in contrast, can be measured.
So far as I can tell, principal components analysis was used in just this way until the mid-1960s, when researchers in various fields began to notice that principal components analysis might also be useful for the purpose of classification. It can happen—and Chapter 7 details a couple of examples—that when you extract a few principal components from a larger number of measured variables, the records cluster together in the space that’s defined by the principal components. Along with the Excel workbook for Chapter 7 you’ll find a file named Factor.xls, which runs a principal components analysis for you and performs a Varimax rotation of the components’ axes.
If those clusters make sense, you might well be onto a finding that’s really compelling. But great care is needed: Methods that work with data that includes no information about actual membership are particularly susceptible to nonsense results. And when the composition of the clusters conforms to what you expect, it’s even more important to have another data sample at hand so that you can validate your results.
If the first analysis results in ridiculous cluster assignments, you’re probably not tempted to think that you’re on to something. If the cluster assignments make sense, it’s incumbent on you to replicate the finding. (You don’t want to claim that you’ve achieved cold fusion on your kitchen table if you can’t do it more than once.)
But principal components analysis has another role to play in the classification of records. Among the characteristics of the components you extract from a raw data set are the following:
- The components are uncorrelated. This characteristic has several advantages. One relatively minor advantage is that the components are orthogonal—their axes are at right angles to one another, which can make the interpretation less ambiguous.
- Another, more important advantage is that because two uncorrelated components cannot share variance, it’s possible to set aside as irrelevant components that are extracted later in the process. Components have characteristics called eigenvalues that can tell you how much of the overall variance in the data set each component accounts for.
You can often remove components with low eigenvalues from subsequent analysis. Doing so tends to discard junk variation: measurement error, sampling error, variation that’s specific to a particular variable and therefore contrary to the notion of a “component.”
All this is consistent with the basic notion of principal components: to find combinations of variables that bring important, meaningful variation along with them and that leave irrelevant, misleading variation behind. You also wind up with (usually) many fewer components than there were measured variables, and that eases the task of making sense of the results.
When you get rid of irrelevant, nuisance variation, you can work instead with relatively clean components. That can make the groups subsequently derived by cluster analysis much clearer.
Unfortunately, even if the groups are clear, well separated, and distinct, it doesn’t necessarily follow that they mean anything. Again, the better the results look at first, the more important it is to replicate them, validate them, and verify them.
Among the techniques that are particularly improved by the use of principal components instead of the raw data are those that are collectively termed cluster analysis.
Cluster analysis is distinguished from other approaches to classification by the fact that it does not require you to know up front what category—that is, what cluster—each record in your data set belongs to. True, principal components analysis doesn’t either, but although it’s useful as a tool in classification, it’s not intended as a classification technique.
The two different branches of cluster analysis, the linkage methods and the centroid-based methods, are both designed to cause clusters to emerge from the variables (or, as I indicated in the previous section, the principal components) that you supply.
Methods such as discriminant analysis and logistic regression require you to supply a reference sample, one that separates a sample of records into the categories you’re interested in. You develop your classification equation using that data set. Later on you apply the equation to records that are as yet unclassified.
Cluster analysis works differently. The algorithms look for records that are similar to one another, and assign (and reassign) those records to the same clusters. Typically, the algorithms keep plugging away until no records are reassigned during an iteration through the loop.
One problem that arises early when you’re deciding on a clustering method is the question of what constitutes similarity. There are various ways to define similarity, and perhaps the most popular is by way of a distance measure: how far a given record is from another record, or from the center of a cluster.
It complicates matters that there are several types of distance. Ordinary Euclidean distance is one: The width of this sepal is 3.5 centimeters, and the width of that sepal is 3.75 centimeters. For various reasons, the Euclidean distance is usually squared: The squared Euclidean distance between the width of the two sepals is (3.75 – 3.5)2. After some further calculations, though, some analyses take the square root of the results to return to a simple Euclidean metric.
Another type of distance measure is the familiar Pearson correlation (although the larger the correlation, the closer the records). Using Pearson correlation as a distance measure forces the standardization of the measures, and so the effect of the scale of the original measurement is removed.
Yet another measure is Mahalanobis’ D2, which incorporates the variables’ covariances into the squared Euclidean distance, so that the variables are not necessarily and automatically regarded as orthogonal to one another.
Measures of similarity are not limited to distances, though. Agreement measures are sometimes used: “Both these people have studied calculus.” But the math involved in handling agreement measures is not as straightforward as it is for distance measures.
Furthermore, with agreement measures you have to watch what you’re using to indicate similarity. If two people both own 1920 Duesenberg autos, that’s likely a more meaningful index of similarity than if two people don’t own Duesenbergs.
Because squared Euclidean distances represent something of a standard method of measurement in cluster analysis, I stick with them as measures of similarity in this book’s examples (see Chapter 8, “Cluster Analysis: The Basics,” and Chapter 9, “Cluster Analysis: Further Issues”).
The two branches of cluster analysis that I mentioned earlier, linkage methods and centroid-based methods, frequently return different results. Because cluster analysis is at root an exploratory method, one that seeks to establish undefined clusters, you might want to consider running both methods to determine which, if either, results in clusters that make sense to you.
The linkage methods work from the ground up, starting with the two records that have the smallest distance between them and calling those two records a cluster. Then the record with the smallest distance to that cluster’s centroid is found, and that distance is compared to the smallest distance between that record and another single record. If the distance to the existing cluster is smaller, the third record is assigned to that cluster. But if the distance to another individual record is smaller, a new cluster is created. (Several different definitions of “smallest” distance exist in the linkage methods, including single linkage, complete linkage, and average linkage.)
The most popular of the centroid-based methods is k-means, where “k” simply refers to the number of continuous variables involved. K-means is more of a top-down approach than are the linkage methods. Further, you are expected to specify the number of clusters to establish. The centroids of each cluster are established randomly at the outset, and the process continues by assigning and reassigning individual records to their nearest cluster, updating the centroid values accordingly, until a journey through the loop causes no records to be reassigned to a different cluster.
The Excel workbooks available for download from the publisher’s website include a workbook with VBA code that performs k-means analysis for you.