Class MinimumVarianceLinkage
- java.lang.Object
-
- elki.clustering.hierarchical.linkage.MinimumVarianceLinkage
-
- All Implemented Interfaces:
Linkage
@Reference(authors="J. Podani",title="New Combinatorial Clustering Methods",booktitle="Vegetatio 81(1/2)",url="https://doi.org/10.1007/978-94-009-2432-1_5",bibkey="doi:10.1007/978-94-009-2432-1_5") @Reference(authors="E. Diday, J. Lemaire, J. Pouget, F. Testu",title="Elements d\'analyse de donnees",booktitle="",bibkey="books/misc/DidayLPT85") @Alias("variance") public class MinimumVarianceLinkage extends java.lang.Object implements Linkage
Minimum increase in variance (MIVAR) linkage.This is subtly different from Ward's method (
WardLinkage, MISSQ), because variance is normalized by the cluster size; and Ward minimizes the increase in sum of squares (without normalization). \[d_{\text{MIVAR}}(A\cup B,C)= \left(\tfrac{|A|+|C|}{|A|+|B|+|C|}\right)^2 d(A,C) + \left(\tfrac{|B|+|C|}{|A|+|B|+|C|}\right)^2 d(B,C) - \tfrac{|C|\cdot(|A|+|B|)}{(|A|+|B|+|C|)^2} d(A,B)\] or equivalently: \[d_{\text{MIVAR}}(A\cup B,C)=\tfrac{(|A|+|C|)^2 d(A,C) + (|B|+|C|)^2 d(B,C) - |C|\cdot(|A|+|B|) d(A,B)}{(|A|+|B|+|C|)^2}\]Reference:
J. Podani
New Combinatorial Clustering Methods
Vegetatio 81(1/2)attributes this to (but we did not verify):
E. Diday, J. Lemaire, J. Pouget, F. Testu
Elements d'analyse de donnees- Since:
- 0.7.5
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMinimumVarianceLinkage.ParClass parameterizer.
-
Field Summary
Fields Modifier and Type Field Description static MinimumVarianceLinkageSTATICStatic instance of class.
-
Constructor Summary
Constructors Constructor Description MinimumVarianceLinkage()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.doubleinitial(double d, boolean issquare)Initialization of the distance matrix.doublerestore(double d, boolean issquare)Restore a distance to the original scale.
-
-
-
Field Detail
-
STATIC
public static final MinimumVarianceLinkage STATIC
Static instance of class.
-
-
Constructor Detail
-
MinimumVarianceLinkage
@Deprecated public MinimumVarianceLinkage()
Deprecated.use the static instanceSTATICinstead.Constructor.
-
-
Method Detail
-
initial
public double initial(double d, boolean issquare)Description copied from interface:LinkageInitialization of the distance matrix.
-
restore
public double restore(double d, boolean issquare)Description copied from interface:LinkageRestore a distance to the original scale.
-
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
-
-