In statistics, Gower's distance between two mixed-type objects is a similarity measure that can handle different types of data within the same dataset and is particularly useful in cluster analysis or other multivariate statistical techniques.
Data can be binary, ordinal, or continuous variables.
It works by normalizing the differences between each pair of variables and then computing a weighted average of these differences.
The distance was defined in 1971 by Gower[1] and it takes values between 0 and 1 with smaller values indicating higher similarity.
For two objects
descriptors, the similarity
is defined as:
{\displaystyle S_{ij}={\frac {\sum _{k=1}^{p}w_{ijk}s_{ijk}}{\sum _{k=1}^{p}w_{ijk}}},}
are non-negative weights usually set to
is the similarity between the two objects regarding their
If the variable is binary or ordinal, the values of
are 0 or 1, with 1 denoting equality.
If the variable is continuous,
being the range of
-th variable and thus ensuring
As a result, the overall similarity
{\displaystyle S_{ij}}
between two objects is the weighted average of the similarities calculated for all their descriptors.
[3] In its original exposition, the distance does not treat ordinal variables in a special manner.
In the 1990s, first Kaufman and Rousseeuw[4] and later Podani[5] suggested extensions where the ordering of an ordinal feature is used.
For example, Podani obtains relative rank differences as
being the ranks corresponding to the ordered categories of the
Many programming languages and statistical packages, such as R, Python, etc., include implementations of Gower's distance.
The implementations may follow Kaufmann and Rousseeuw's extensions, which change the similarity for continuous variables to