primePCA: primePCA algorithm

Description Usage Arguments Value Examples

View source: R/code_full_new.R

Description

primePCA algorithm

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
primePCA(
  X,
  K,
  V_init = NULL,
  thresh_sigma = 10,
  max_iter = 1000,
  thresh_convergence = 1e-05,
  thresh_als = 1e-10,
  trace.it = F,
  prob = 1,
  save_file = "",
  center = T,
  normalize = F
)

Arguments

X

an n-by-d data matrix with NA values

K

the number of the principal components of interest

V_init

an initial estimate of the top K eigenspaces of the covariance matrix of X. By default, primePCA will be initialized by the inverse probability method.

thresh_sigma

used to select the "good" rows of X to update the principal eigenspaces σ_* in the paper).

max_iter

maximum number of iterations of refinement

thresh_convergence

The algorithm is halted if the Frobenius-norm sine-theta distance between the two consecutive iterates

thresh_als

This is fed into thresh in svd.als of softImpute. is less than thresh_convergence.

trace.it

report the progress if trace.it = TRUE

prob

probability of reserving the "good" rows. prob == 1 means to reserve all the "good" rows.

save_file

the location that saves the intermediate results, including V_cur, step_cur and loss_all, which are introduced in the section of returned values. The algorithm will not save any intermediate result if save_file == "".

center

center each column of X if center == TRUE. The default value is TRUE.

normalize

normalize each column of X such that its sample variance is 1 if normalize == TRUE. The default value is False.

Value

a list is returned, with components V_cur, step_cur and loss_all. V_cur is a d-by-K matrix of the top K eigenvectors. step_cur is the number of iterations. loss_all is an array of the trajectory of MSE.

Examples

1
2
3
4
X <- matrix(1:30 + .1 * rnorm(30), 10, 3)
X[1, 1] <- NA
X[2, 3] <- NA
v_tilde <- primePCA(X, 1)$V_cur

primePCA documentation built on Aug. 5, 2021, 5:06 p.m.

Related to primePCA in primePCA...