UPGMA (unweighted pair group method with arithmetic mean) is a simple agglomerative (bottom-up)
hierarchical clustering
In data mining and statistics, hierarchical clustering (also called hierarchical cluster analysis or HCA) is a method of cluster analysis that seeks to build a hierarchy of clusters. Strategies for hierarchical clustering generally fall into tw ...
method. The method is generally attributed to
Sokal and
Michener.
The UPGMA method is similar to its ''weighted'' variant, the
WPGMA method.
Note that the unweighted term indicates that all distances contribute equally to each average that is computed and does not refer to the math by which it is achieved. Thus the simple averaging in WPGMA produces a weighted result and the proportional averaging in UPGMA produces an unweighted result (''
see the working example'').
Algorithm
The UPGMA algorithm constructs a rooted tree (
dendrogram
A dendrogram is a diagram representing a tree. This diagrammatic representation is frequently used in different contexts:
* in hierarchical clustering, it illustrates the arrangement of the clusters produced by the corresponding analyses.
...
) that reflects the structure present in a pairwise
similarity matrix (or a
dissimilarity matrix).
At each step, the nearest two clusters are combined into a higher-level cluster. The distance between any two clusters
and
, each of size (''i.e.'',
cardinality
In mathematics, the cardinality of a set is a measure of the number of elements of the set. For example, the set A = \ contains 3 elements, and therefore A has a cardinality of 3. Beginning in the late 19th century, this concept was generalized ...
)
and
, is taken to be the average of all distances
between pairs of objects
in
and
in
, that is, the mean distance between elements of each cluster:
::
In other words, at each clustering step, the updated distance between the joined clusters
and a new cluster
is given by the proportional averaging of the
and
distances:
The UPGMA algorithm produces rooted dendrograms and requires a constant-rate assumption - that is, it assumes an
ultrametric tree in which the distances from the root to every branch tip are equal. When the tips are molecular data (''i.e.'',
DNA,
RNA
Ribonucleic acid (RNA) is a polymeric molecule essential in various biological roles in coding, decoding, regulation and expression of genes. RNA and deoxyribonucleic acid ( DNA) are nucleic acids. Along with lipids, proteins, and carbohydra ...
and
protein
Proteins are large biomolecules and macromolecules that comprise one or more long chains of amino acid residues. Proteins perform a vast array of functions within organisms, including catalysing metabolic reactions, DNA replication, respon ...
) sampled at the same time, the
ultrametricity assumption becomes equivalent to assuming a
molecular clock
The molecular clock is a figurative term for a technique that uses the mutation rate of biomolecules to deduce the time in prehistory when two or more life forms diverged. The biomolecular data used for such calculations are usually nucleo ...
.
Working example
This working example is based on a
JC69 genetic distance matrix computed from the
5S ribosomal RNA sequence alignment of five bacteria: ''
Bacillus subtilis
''Bacillus subtilis'', known also as the hay bacillus or grass bacillus, is a Gram-positive, catalase-positive bacterium, found in soil and the gastrointestinal tract of ruminants, humans and marine sponges. As a member of the genus '' Baci ...
'' (
), ''
Bacillus stearothermophilus'' (
), ''
Lactobacillus viridescens'' (
), ''
Acholeplasma modicum'' (
), and ''
Micrococcus luteus'' (
).
First step
* First clustering
Let us assume that we have five elements
and the following matrix
of pairwise distances between them :
In this example,
is the smallest value of
, so we join elements
and
.
* First branch length estimation
Let
denote the node to which
and
are now connected. Setting
ensures that elements
and
are equidistant from
. This corresponds to the expectation of the
ultrametricity hypothesis.
The branches joining
and
to
then have lengths
(''
see the final dendrogram'')
* First distance matrix update
We then proceed to update the initial distance matrix
into a new distance matrix
(see below), reduced in size by one row and one column because of the clustering of
with
.
Bold values in
correspond to the new distances, calculated by averaging distances between each element of the first cluster
and each of the remaining elements:
Italicized values in
are not affected by the matrix update as they correspond to distances between elements not involved in the first cluster.
Second step
* Second clustering
We now reiterate the three previous steps, starting from the new distance matrix
Here,
is the smallest value of
, so we join cluster
and element
.
* Second branch length estimation
Let
denote the node to which
and
are now connected. Because of the ultrametricity constraint, the branches joining
or
to
, and
to
are equal and have the following length:
We deduce the missing branch length:
(''
see the final dendrogram'')
* Second distance matrix update
We then proceed to update
into a new distance matrix
(see below), reduced in size by one row and one column because of the clustering of
with
. Bold values in
correspond to the new distances, calculated by proportional averaging:
Thanks to this proportional average, the calculation of this new distance accounts for the larger size of the
cluster (two elements) with respect to
(one element). Similarly:
Proportional averaging therefore gives equal weight to the initial distances of matrix
. This is the reason why the method is ''unweighted'', not with respect to the mathematical procedure but with respect to the initial distances.
Third step
* Third clustering
We again reiterate the three previous steps, starting from the updated distance matrix
.
Here,
is the smallest value of
, so we join elements
and
.
* Third branch length estimation
Let
denote the node to which
and
are now connected.
The branches joining
and
to
then have lengths
(''
see the final dendrogram'')
* Third distance matrix update
There is a single entry to update, keeping in mind that the two elements
and
each have a contribution of
in the average computation:
Final step
The final
matrix is:
So we join clusters
and
.
Let
denote the (root) node to which
and
are now connected.
The branches joining
and
to
then have lengths:
We deduce the two remaining branch lengths:
The UPGMA dendrogram

The dendrogram is now complete.
It is ultrametric because all tips (
to
) are equidistant from
:
The dendrogram is therefore rooted by
, its deepest node.
Comparison with other linkages
Alternative linkage schemes include
single linkage clustering,
complete linkage clustering, and
WPGMA average linkage clustering. Implementing a different linkage is simply a matter of using a different formula to calculate inter-cluster distances during the distance matrix update steps of the above algorithm. Complete linkage clustering avoids a drawback of the alternative single linkage clustering method - the so-called ''chaining phenomenon'', where clusters formed via single linkage clustering may be forced together due to single elements being close to each other, even though many of the elements in each cluster may be very distant to each other. Complete linkage tends to find compact clusters of approximately equal diameters.
Uses
* In
ecology
Ecology () is the study of the relationships between living organisms, including humans, and their physical environment. Ecology considers organisms at the individual, population, community, ecosystem, and biosphere level. Ecology overl ...
, it is one of the most popular methods for the classification of sampling units (such as vegetation plots) on the basis of their pairwise similarities in relevant descriptor variables (such as species composition). For example, it has been used to understand the trophic interaction between marine bacteria and protists.
* In
bioinformatics
Bioinformatics () is an interdisciplinary field that develops methods and software tools for understanding biological data, in particular when the data sets are large and complex. As an interdisciplinary field of science, bioinformatics combin ...
, UPGMA is used for the creation of
phenetic trees
In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are ...
(phenograms). UPGMA was initially designed for use in
protein electrophoresis studies, but is currently most often used to produce guide trees for more sophisticated algorithms. This algorithm is for example used in
sequence alignment procedures, as it proposes one order in which the sequences will be aligned. Indeed, the guide tree aims at grouping the most similar sequences, regardless of their evolutionary rate or phylogenetic affinities, and that is exactly the goal of UPGMA
* In
phylogenetics
In biology, phylogenetics (; from Greek φυλή/ φῦλον [] "tribe, clan, race", and wikt:γενετικός, γενετικός [] "origin, source, birth") is the study of the evolutionary history and relationships among or within groups ...
, UPGMA assumes a constant rate of evolution (
molecular clock hypothesis
The molecular clock is a figurative term for a technique that uses the mutation rate of biomolecules to deduce the time in prehistory when two or more life forms diverged. The biomolecular data used for such calculations are usually nucleotid ...
) and that all sequences were sampled at the same time, and is not a well-regarded method for inferring relationships unless this assumption has been tested and justified for the data set being used. Notice that even under a 'strict clock', sequences sampled at different times should not lead to an ultrametric tree.
Time complexity
A trivial implementation of the algorithm to construct the UPGMA tree has
time complexity, and using a heap for each cluster to keep its distances from other cluster reduces its time to
. Fionn Murtagh presented an
time and space algorithm.
See also
*
Neighbor-joining
*
Cluster analysis
Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense) to each other than to those in other groups (clusters). It is a main task of ...
*
Single-linkage clustering
In statistics, single-linkage clustering is one of several methods of hierarchical clustering. It is based on grouping clusters in bottom-up fashion (agglomerative clustering), at each step combining two clusters that contain the closest pair of e ...
*
Complete-linkage clustering
Complete-linkage clustering is one of several methods of agglomerative hierarchical clustering. At the beginning of the process, each element is in a cluster of its own. The clusters are then sequentially combined into larger clusters until all ...
*
Hierarchical clustering
In data mining and statistics, hierarchical clustering (also called hierarchical cluster analysis or HCA) is a method of cluster analysis that seeks to build a hierarchy of clusters. Strategies for hierarchical clustering generally fall into tw ...
*
Models of DNA evolution
A number of different Markov models of DNA sequence evolution have been proposed. These substitution models differ in terms of the parameters used to describe the rates at which one nucleotide replaces another during evolution. These models are ...
*
Molecular clock
The molecular clock is a figurative term for a technique that uses the mutation rate of biomolecules to deduce the time in prehistory when two or more life forms diverged. The biomolecular data used for such calculations are usually nucleo ...
References
External links
UPGMA clustering algorithm implementation in Ruby (AI4R)Example calculation of UPGMA using a similarity matrixExample calculation of UPGMA using a distance matrix
{{Phylogenetics
Bioinformatics algorithms
Computational phylogenetics
Cluster analysis algorithms
Phylogenetics