NMFOffset-class {NMF}R Documentation

Nonnegative Matrix Factorization with Offset

Description

Class that implements the Nonnegative Matrix Factorization with Offset model, required by the NMF with Offset algorithm.

The NMF with Offset algorithm is defined by Badea (2008) as a modification of Lee & Seung's euclidean based NMF algorithm (see section Details and references below). It aims at obtaining 'cleaner' factor matrices, by the introduction of an offset matrix, explicitly modelling a feature specific baseline – constant across samples.

Objects from the Class

Object of class NMFOffset can be created using the standard way with operator new

However, as for all the classes that extend class NMFstd, objects of class NMFOffset should be created using factory method newNMF :

new('NMFOffset')

newNMF(model='NMFOffset')

newNMF(model='NMFOffset', W=w, offset=rep(1, nrow(w)))

See newNMF for more details on how to use the factory method.

Slots

Class NMFOffset extends NMF adding a single slot:

offset:
A "numeric" vector to handle the common baseline for each feature. Its length will always be equal to the number of features, i.e. the number of rows in slot W.

Extends

Class "NMF", directly.

Methods

fitted
signature(object = "NMFOffset"): returns the estimated target matrix according to the NMF with Offset model object:

\hat{V} = W H + offset

Note that this method is part of the minimum interface for NMF model, as defined by class NMF.

initialize
initialize method for class NMFOffset. It ensures consistency between slots W and slot offset.
offset
signature(object = "NMFOffset"): return the value of slot offset.
random
returns the object with slots W, H and offset filled with random values drawn from a uniform distribution. This method first calls method random for NMF object to set the entries of slots W and H, then sets the entries in slot offset within the interval [0, max(max(W),max(H))].
show
signature(object = "NMFOffset"): standard generic show method for objects of class NMFOffset. It calls the parent class show method (i.e. for class NMF) and add the value of vector offset to the display (only the first five elements are displayed).

Author(s)

Renaud Gaujoux renaud@cbio.uct.ac.za

References

Badea (2008). Extracting Gene Expression Profiles Common To Colon And Pancreatic Adenocaricinoma Using Simultaneous Nonnegative Matrix Factorization. In Pacific Symposium on Biocomputing , 13, 279-290

See Also

NMF, nmf-methods

Examples


# create a completely empty NMF object
new('NMFOffset')

# create a NMF object based on random (compatible) matrices
n <- 50; r <- 3; p <- 20
w <- matrix(runif(n*r), n, r) 
h <- matrix(runif(r*p), r, p)
newNMF(model='NMFOffset', W=w, H=h, offset=rep(0.5, nrow(w)))

# apply Nonsmooth NMF algorithm to a random target matrix
V <- matrix(runif(n*p), n, p)
## Not run: nmf(V, r, 'offset')


[Package NMF version 0.2.4 Index]