predict.lsvd {logisticPCA} | R Documentation |
Predict Logistic SVD left singular values or reconstruction on new data
Description
Predict Logistic SVD left singular values or reconstruction on new data
Usage
## S3 method for class 'lsvd'
predict(object, newdata, quiet = TRUE, max_iters = 1000,
conv_criteria = 1e-05, random_start = FALSE, start_A, type = c("PCs",
"link", "response"), ...)
Arguments
object |
logistic SVD object |
newdata |
matrix with all binary entries. If missing, will use the
data that |
quiet |
logical; whether the calculation should give feedback |
max_iters |
number of maximum iterations |
conv_criteria |
convergence criteria. The difference between average deviance in successive iterations |
random_start |
logical; whether to randomly inititalize the parameters. If |
start_A |
starting value for the left singular vectors |
type |
the type of fitting required. |
... |
Additional arguments |
Details
Minimizes binomial deviance for new data by finding the optimal left singular vector
matrix (A
), given B
and mu
. Assumes the columns of the right
singular vector matrix (B
) are orthonormal.
Examples
# construct a low rank matrices in the logit scale
rows = 100
cols = 10
set.seed(1)
loadings = rnorm(cols)
mat_logit = outer(rnorm(rows), loadings)
mat_logit_new = outer(rnorm(rows), loadings)
# convert to a binary matrix
mat = (matrix(runif(rows * cols), rows, cols) <= inv.logit.mat(mat_logit)) * 1.0
mat_new = (matrix(runif(rows * cols), rows, cols) <= inv.logit.mat(mat_logit_new)) * 1.0
# run logistic PCA on it
lsvd = logisticSVD(mat, k = 1, main_effects = FALSE, partial_decomp = FALSE)
A_new = predict(lsvd, mat_new)