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 class
MinimumVarianceLinkage.Par
Class parameterizer.
-
Field Summary
Fields Modifier and Type Field Description static MinimumVarianceLinkage
STATIC
Static instance of class.
-
Constructor Summary
Constructors Constructor Description MinimumVarianceLinkage()
Deprecated.use the static instanceSTATIC
instead.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
combine(int sizex, double dx, int sizey, double dy, int sizej, double dxy)
Compute combined linkage for two clusters.double
initial(double d, boolean issquare)
Initialization of the distance matrix.double
restore(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 instanceSTATIC
instead.Constructor.
-
-
Method Detail
-
initial
public double initial(double d, boolean issquare)
Description copied from interface:Linkage
Initialization of the distance matrix.
-
restore
public double restore(double d, boolean issquare)
Description copied from interface:Linkage
Restore 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:Linkage
Compute combined linkage for two clusters.- Specified by:
combine
in 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
-
-