Computes the dispersion coefficient of a -- consensus --
matrix object
, generally obtained from multiple
NMF runs.
dispersion(object, ...)
The dispersion coefficient is based on the consensus matrix (i.e. the average of connectivity matrices) and was proposed by Kim et al. (2007) to measure the reproducibility of the clusters obtained from NMF.
It is defined as:
\rho = \sum_{i,j=1}^n 4 (C_{ij} - \frac{1}{2})^2 , wheren
is the total number of samples.By construction,
0 \leq \rho \leq 1
and\rho = 1
only for a perfect consensus matrix, where all entries 0 or 1. A perfect consensus matrix is obtained only when all the connectivity matrices are the same, meaning that the algorithm gave the same clusters at each run. See Kim et al. (2007).
signature(object = "matrix")
:
Workhorse method that computes the dispersion on a given
matrix.
signature(object = "NMFfitX")
:
Computes the dispersion on the consensus matrix obtained
from multiple NMF runs.
Kim H and Park H (2007). "Sparse non-negative matrix
factorizations via alternating non-negativity-constrained
least squares for microarray data analysis."
_Bioinformatics (Oxford, England)_, *23*(12), pp.
1495-502. ISSN 1460-2059,