The NMF package defines methods for the generic
deviance
from the package stats
, to compute
approximation errors between NMF models and matrices,
using a variety of objective functions.
nmfDistance
returns a function that computes the
distance between an NMF model and a compatible matrix.
deviance(object, ...) S4 (NMF) `deviance`(object, y, method = c("", "KL", "euclidean"), ...) nmfDistance(method = c("", "KL", "euclidean")) S4 (NMFfit) `deviance`(object, y, method, ...) S4 (NMFStrategy) `deviance`(object, x, y, ...)
object
, i.e. y
must have the same dimension
as fitted(object)
.(x="NMF", y="matrix", ...)
that
implements a distance measure between an NMF model
x
and a target matrix y
, i.e. an objective
function to use to compute the deviance. In
deviance
, it is passed to nmfDistance
to
get the function that effectively computes the deviance.y
.deviance
returns a nonnegative numerical value
nmfDistance
returns a function with least two
arguments: an NMF model and a matrix.
signature(object = "NMF")
:
Computes the distance between a matrix and the estimate
of an NMF
model.
signature(object = "NMFfit")
:
Returns the deviance of a fitted NMF model.
This method returns the final residual value if the
target matrix y
is not supplied, or the
approximation error between the fitted NMF model stored
in object
and y
. In this case, the
computation is performed using the objective function
method
if not missing, or the objective of the
algorithm that fitted the model (stored in slot
'distance'
).
If not computed by the NMF algorithm itself, the value is
automatically computed at the end of the fitting process
by the function nmf
, using the objective
function associated with the NMF algorithm, so that it
should always be available.
signature(object = "NMFfitX")
:
Returns the deviance achieved by the best fit object,
i.e. the lowest deviance achieved across all NMF runs.
signature(object = "NMFStrategy")
:
Computes the value of the objective function between the
estimate x
and the target y
.