ESA(Y, r, X = NULL, center = F, niter = 3, svd.method = "fast")c(n, p)c(n, k) if any. Default is NULL (no known predictors).
k is the number of known covariates.fast.svd function in package corpcor to compute SVD, "propack" is using the propack.svdpc(n, r)rc(p, r)c(k, p).
Return NULL if the argument X is NULL.p. It's an estimate of $\mu$. Return
NULL if the argument center is False.X is given or centering the data is required (which is essentially
adding a known covariate with all $1$), the method will first use linear regression
to estimate the coefficients of the known covariates, and then estimate the latent factors
from the residuals, whose low-rank part is actually the proportion of the latent factors
that are orthogonal to X minus the noises that are projected to X. Thus,
to make the residuals still low rank, k should be a small number. Even though the
latent factors estimated from the residuals will be biased, the estimate of the whole
signal (factor) matrix S will still be OK.Y <- matrix(rnorm(100), nrow = 10) + 3 * rnorm(10) %*% t(rep(1, 10))
ESA(Y, 1)Run the code above in your browser using DataLab