DMMD_i: Main function of iterative DMMD algorithm

View source: R/DMMD_Iterative.R

DMMD_iR Documentation

Main function of iterative DMMD algorithm

Description

Main function of iterative DMMD algorithm

Usage

DMMD_i(
  X1,
  X2,
  r1 = NULL,
  r2 = NULL,
  rc = NULL,
  rr = NULL,
  angle_threshold = 90 * pi/180,
  variance1 = c("equal", "unequal"),
  variance2 = c("equal", "unequal"),
  method = c("PL", "ED"),
  tol = .Machine$double.eps^0.5,
  maxiter = 1000,
  verbose = FALSE
)

Arguments

X1

The first noisy data matrix

X2

The second noisy data matrix

r1

Total rank for X1. Default is NULL, meaning unknown, which will be estimated by rank estimation procedure determined by 'method'

r2

Total rank for X2. Default is NULL, meaning unknown, which will be estimated by rank estimation procedure determined by 'method'

rc

Joint column rank. Default is NULL, meaning unknown, which will be estimated by profile likelihood method

rr

Joint row rank. Default is NULL, meaning unknown, which will be estimated by profile likelihood method

angle_threshold

The threshold angle for principal angles. Principal angles greater than the threshold are not considered as joint signal. Default is 90 degree

variance1

Either "equal" or "unequal". Default is "equal". This argument is the variance assumption used in the profile likelihood method for determining the total rank

variance2

Either "equal" or "unequal". Default is "equal". This argument is the variance assumption used in the profile likelihood method for determining the joint rank

method

The method used for determining the total ranks r1 and r2. Either "PL" (profile likelihood) or "ED" (edge distribution). Default is "PL"

tol

The tolerance used to determine convergence. Default is the square root of the machine precision

maxiter

Maximum number of iterations allowed in the iterative algorithm. Default is 1000

verbose

Do you want to see the calculating progress of the function? Default is FALSE, which means the function stays silent.

Details

This function decomposed double-matched matrices according to Lemma 1 in Dongbang Yuan & Irina Gaynanova (2022) Double-Matched Matrix Decomposition for Multi-View Data, Journal of Computational and Graphical Statistics, DOI: 10.1080/10618600.2022.2067860. This function also updates the joint structures M and N compared to DMMD function.

Value

A list with the following elements:

r1

The estimated total rank for X1, if not specified

r2

The estimated total rank for X2, if not specified

rc

The estimated joint column rank for X1, if not specified

rr

The estimated joint row rank for X1, if not specified

A1

The estimated low-rank signal matrix of X1

A2

The estimated low-rank signal matrix of X2

E1

The noise matrix of X1,

X_1 = A_1 + E_1

E2

The noise matrix of X2,

X_2 = A_2 + E_2

Jc1

The estimated low-rank joint column signal for X1

Jc2

The estimated low-rank joint column signal for X2

Jr1

The estimated low-rank joint row signal for X1

Jr2

The estimated low-rank joint row signal for X2

Ic1

The estimated low-rank individual column signal for X1

Ic2

The estimated low-rank individual column signal for X2

Ir1

The estimated low-rank individual row signal for X1

Ir2

The estimated low-rank individual row signal for X2

obj_vec

A vector of objective values calculated at each iteration

Examples

data = DoubleDataGen(n = 20, p = 16, rank = c(4, 3), rc = 2, rr = 1, nrep = 1)
X1 = data$X1[[1]]
X2 = data$X2[[1]]
result = DMMD_i(X1,X2, verbose = TRUE)

justicesuker/DMMD_Package documentation built on Aug. 6, 2022, 12:34 p.m.