Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

basiscor

Correlations in NMF Models


Description

basiscor computes the correlation matrix between basis vectors, i.e. the columns of its basis matrix – which is the model's first matrix factor.

profcor computes the correlation matrix between basis profiles, i.e. the rows of the coefficient matrix – which is the model's second matrix factor.

Usage

basiscor(x, y, ...)

  profcor(x, y, ...)

Arguments

x

a matrix or an object with suitable methods basis or coef.

y

a matrix or an object with suitable methods basis or coef, and dimensions compatible with x. If missing the correlations are computed between x and y=x.

...

extra arguments passed to cor.

Details

Each generic has methods defined for computing correlations between NMF models and/or compatible matrices. The computation is performed by the base function cor.

Methods

basiscor

signature(x = "NMF", y = "matrix"): Computes the correlations between the basis vectors of x and the columns of y.

basiscor

signature(x = "matrix", y = "NMF"): Computes the correlations between the columns of x and the the basis vectors of y.

basiscor

signature(x = "NMF", y = "NMF"): Computes the correlations between the basis vectors of x and y.

basiscor

signature(x = "NMF", y = "missing"): Computes the correlations between the basis vectors of x.

profcor

signature(x = "NMF", y = "matrix"): Computes the correlations between the basis profiles of x and the rows of y.

profcor

signature(x = "matrix", y = "NMF"): Computes the correlations between the rows of x and the basis profiles of y.

profcor

signature(x = "NMF", y = "NMF"): Computes the correlations between the basis profiles of x and y.

profcor

signature(x = "NMF", y = "missing"): Computes the correlations between the basis profiles of x.

Examples

# generate two random NMF models
a <- rnmf(3, 100, 20)
b <- rnmf(3, 100, 20)

# Compute auto-correlations
basiscor(a)
profcor(a)
# Compute correlations with b
basiscor(a, b)
profcor(a, b)

# try to recover the underlying NMF model 'a' from noisy data
res <- nmf(fitted(a) + rmatrix(a), 3)

# Compute correlations with the true model
basiscor(a, res)
profcor(a, res)

# Compute correlations with a random compatible matrix
W <- rmatrix(basis(a))
basiscor(a, W)
identical(basiscor(a, W), basiscor(W, a))

H <- rmatrix(coef(a))
profcor(a, H)
identical(profcor(a, H), profcor(H, a))

NMF

Algorithms and Framework for Nonnegative Matrix Factorization (NMF)

v0.23.0
GPL (>= 2)
Authors
Renaud Gaujoux, Cathal Seoighe
Initial release
2020-07-30

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.