Assessing and Comparing NMF Models

Description

The NMF package defines summary methods for different classes of objects, which helps assessing and comparing the quality of NMF models by computing a set of quantitative measures, e.g. with respect to their ability to recover known classes and/or the original target matrix.

The most useful methods are for classes NMF-class, NMFfit-class, NMFfitX-class and NMFList-class, which compute summary measures for, respectively, a single NMF model, a single fit, a multiple-run fit and a list of heterogenous fits performed with the function nmf.

Usage

summary(object, ...)

S4 (NMF)
`summary`(object, class, target)

Arguments

object
an NMF object. See available methods in section Methods.
...
extra arguments passed to the next summary method.
class
known classes/cluster of samples specified in one of the formats that is supported by the functions entropy and purity.
target
target matrix specified in one of the formats supported by the functions rss and evar

Details

Due to the somehow hierarchical structure of the classes mentionned in Description, their respective summary methods call each other in chain, each super-class adding some extra measures, only relevant for objects of a specific class.

Methods

  1. summarysignature(object = "NMF"): Computes summary measures for a single NMF model.

    The following measures are computed:

    1. sparsenessSparseness of the factorization computed by the function sparseness.
    2. entropyPurity of the clustering, with respect to known classes, computed by the function purity.
    3. entropyEntropy of the clustering, with respect to known classes, computed by the function entropy.
    4. RSSResidual Sum of Squares computed by the function rss.
    5. evarExplained variance computed by the function evar.

  2. summarysignature(object = "NMFfit"): Computes summary measures for a single fit from nmf.

    This method adds the following measures to the measures computed by the method summary,NMF:

    1. residualsResidual error as measured by the objective function associated to the algorithm used to fit the model.
    2. niterNumber of iterations performed to achieve convergence of the algorithm.
    3. cpuTotal CPU time required for the fit.
    4. cpu.allTotal CPU time required for the fit. For NMFfit objects, this element is always equal to the value in “cpu”, but will be different for multiple-run fits.
    5. nrunNumber of runs performed to fit the model. This is always equal to 1 for NMFfit objects, but will vary for multiple-run fits.

  3. summarysignature(object = "NMFfitX"): Computes a set of measures to help evaluate the quality of the best fit of the set. The result is similar to the result from the summary method of NMFfit objects. See NMF-class for details on the computed measures. In addition, the cophenetic correlation (cophcor) and dispersion coefficients of the consensus matrix are returned, as well as the total CPU time (runtime.all).