# residuals: Residuals in NMF Models In NMF: Algorithms and Framework for Nonnegative Matrix Factorization (NMF)

## Description

The package NMF defines methods for the function `residuals` that returns the final residuals of an NMF fit or the track of the residuals along the fit process, computed according to the objective function associated with the algorithm that fitted the model.

`residuals<-` sets the value of the last residuals, or, optionally, of the complete residual track.

Tells if an `NMFfit` object contains a recorded residual track.

`trackError` adds a residual value to the track of residuals.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15``` ``` residuals(object, ...) ## S4 method for signature 'NMFfit' residuals(object, track = FALSE, niter = NULL, ...) residuals(object, ...)<-value ## S4 replacement method for signature 'NMFfit' residuals(object, ..., niter = NULL, track = FALSE)<-value hasTrack(object, niter = NULL) trackError(object, value, niter, force = FALSE) ```

## Arguments

 `object` an `NMFfit` object as fitted by function `nmf`, in single run mode. `...` extra parameters (not used) `track` a logical that indicates if the complete track of residuals should be returned (if it has been computed during the fit), or only the last value. `niter` specifies the iteration number for which one wants to get/set/test a residual value. This argument is used only if not `NULL` `value` residual value `force` logical that indicates if the value should be added to the track even if there already is a value for this iteration number or if the iteration does not conform to the tracking interval `nmf.getOption('track.interval')`.

## Details

When called with `track=TRUE`, the whole residuals track is returned, if available. Note that method `nmf` does not compute the residuals track, unless explicitly required.

It is a S4 methods defined for the associated generic functions from package `stats` (See residuals).

## Value

`residuals` returns a single numeric value if `track=FALSE` or a numeric vector containing the residual values at some iterations. The names correspond to the iterations at which the residuals were computed.

## Methods

residuals

`signature(object = "NMFfit")`: Returns the residuals – track – between the target matrix and the NMF fit `object`.

residuals

`signature(object = "NMFfitX")`: Returns the residuals achieved by the best fit object, i.e. the lowest residual approximation error achieved across all NMF runs.

## Note

Stricly speaking, the method `residuals,NMFfit` does not fulfill its contract as defined by the package `stats`, but rather acts as function `deviance`. The might be changed in a later release to make it behave as it should.

Other stats: `deviance`, `deviance,NMF-method`, `nmfDistance`