Fitted Matrix in NMF Models


Computes the estimated target matrix based on a given NMF model. The estimation depends on the underlying NMF model. For example in the standard model V ~ W H, the target matrix is estimated by the matrix product W H. In other models, the estimate may depend on extra parameters/matrix (cf. Non-smooth NMF in NMFns-class).


fitted(object, ...)

S4 (NMFstd)
`fitted`(object, W, H, ...)

S4 (NMFOffset)
`fitted`(object, W, H, offset = object@offset)

S4 (NMFns)
`fitted`(object, W, H, S, ...)


an object that inherit from class NMF
extra arguments to allow extension
a matrix to use in the computation as the basis matrix in place of basis(object). It must be compatible with the coefficient matrix used in the computation (i.e. number of columns in W = number of rows in H).
a matrix to use in the computation as the coefficient matrix in place of coef(object). It must be compatible with the basis matrix used in the computation (i.e. number of rows in H = number of columns in W).
offset vector
smoothing matrix to use instead of smoothing(object) It must be a square matrix compatible with the basis and coefficient matrices used in the computation.


the target matrix estimate as fitted by the model object


This function is a S4 generic function imported from fitted in the package stats. It is implemented as a pure virtual method for objects of class NMF, meaning that concrete NMF models must provide a definition for their corresponding class (i.e. sub-classes of class NMF). See NMF-class for more details.


  1. fittedsignature(object = "NMF"): Pure virtual method for objects of class NMF-class, that should be overloaded by sub-classes, and throws an error if called.

  2. fittedsignature(object = "NMFstd"): Compute the target matrix estimate in standard NMF models.

    The estimate matrix is computed as the product of the two matrix slots W and H:

    V ~ W H

  3. fittedsignature(object = "NMFOffset"): Computes the target matrix estimate for an NMFOffset object.

    The estimate is computed as:

     W H + offset 

  4. fittedsignature(object = "NMFns"): Compute estimate for an NMFns object, according to the Nonsmooth NMF model (cf. NMFns-class).

    Extra arguments in ... are passed to method smoothing, and are typically used to pass a value for theta, which is used to compute the smoothing matrix instead of the one stored in object.

  5. fittedsignature(object = "NMFfit"): Computes and return the estimated target matrix from an NMF model fitted with function nmf.

    It is a shortcut for fitted(fit(object), ...), dispatching the call to the fitted method of the actual NMF model.


# random standard NMF model
x <- rnmf(3, 10, 5)
all.equal(fitted(x), basis(x) %*% coef(x))
## [1] TRUE