R: Correlations in NMF Models

basiscor {NMF} | R Documentation

## 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))

[Package NMF version 0.21.0 Index]