Class WeightedAverageLinkage
- java.lang.Object
-
- elki.clustering.hierarchical.linkage.WeightedAverageLinkage
-
- All Implemented Interfaces:
Linkage
@Reference(authors="R. R. Sokal, C. D. Michener", title="A statistical method for evaluating systematic relationship", booktitle="University of Kansas science bulletin 28", url="https://archive.org/details/cbarchive_33927_astatisticalmethodforevaluatin1902", bibkey="journals/kansas/SokalM1902") @Alias({"wpgma","WPGMA"}) @Priority(-1) public class WeightedAverageLinkage extends java.lang.Object implements Linkage
Weighted average linkage clustering method (WPGMA).This is somewhat a misnomer, as it actually ignores that the clusters should likely be weighted differently according to their size when computing the average linkage. See
GroupAverageLinkagefor the UPGMA method that uses the group size to weight the objects the same way. Because of this, it is sometimes also called "simple average".There does not appear to be a closed form distance for this clustering, but it is only defined recursively on the previous clusters simply by \[d_{\text{WPGMA}}(A\cup B,C):=\tfrac{1}{2}d(A,C)+\tfrac{1}{2}d(B,C)\]
MedianLinkage(WPGMC) is similar in the sense that it is ignoring the cluster sizes, and therefore the weight of points decreases with the depth of the tree. The method is "weighted" in the sense that the new members get the weight adjusted to match the old cluster members.Reference:
R. R. Sokal, C. D. Michener
A statistical method for evaluating systematic relationship
University of Kansas science bulletin, 28, 1409-1438. (1958)- Since:
- 0.6.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classWeightedAverageLinkage.ParClass parameterizer.
-
Field Summary
Fields Modifier and Type Field Description static WeightedAverageLinkageSTATICStatic instance of class.
-
Constructor Summary
Constructors Constructor Description WeightedAverageLinkage()Deprecated.use the static instanceSTATICinstead.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublecombine(int sizex, double dx, int sizey, double dy, int sizej, double dxy)Compute combined linkage for two clusters.
-
-
-
Field Detail
-
STATIC
public static final WeightedAverageLinkage STATIC
Static instance of class.
-
-
Constructor Detail
-
WeightedAverageLinkage
@Deprecated public WeightedAverageLinkage()
Deprecated.use the static instanceSTATICinstead.Constructor.
-
-
Method Detail
-
combine
public double combine(int sizex, double dx, int sizey, double dy, int sizej, double dxy)Description copied from interface:LinkageCompute combined linkage for two clusters.- Specified by:
combinein interfaceLinkage- Parameters:
sizex- Size of first cluster x before mergingdx- Distance of cluster x to j before mergingsizey- Size of second cluster y before mergingdy- Distance of cluster y to j before mergingsizej- Size of candidate cluster jdxy- Distance between clusters x and y before merging- Returns:
- Combined distance
-
-