cv.mrrr | R Documentation |
Mixed-response reduced-rank regression with rank selected by cross validation
cv.mrrr( Y, X, is.pca = NULL, offset = NULL, ctrl.id = c(), family = list(gaussian(), binomial(), poisson()), familygroup = NULL, maxrank = min(ncol(Y), ncol(X)), penstr = list(), init = list(), control = list(), nfold = 5, foldid = NULL, nlam = 20, warm = FALSE )
Y |
response matrix |
X |
covariate matrix |
is.pca |
If TRUE, mixed principal component analysis with X=I |
offset |
matrix of the same dimension as Y for offset |
ctrl.id |
indices of unpenalized predictors |
family |
a list of family functions as used in |
familygroup |
a list of family indices of the responses |
maxrank |
integer giving the maximum rank allowed. |
penstr |
a list of penalty structure of SVD. |
init |
a list of initial values of kappaC0, kappaS0, C0, and S0 |
control |
a list of controling parameters for the fitting |
nfold |
number of folds in cross validation |
foldid |
to specify the folds if desired |
nlam |
number of tuning parameters; not effective when using rank constrained estimation |
warm |
if TRUE, use warm start in fitting the solution paths |
S3 mrrr
object, a list containing
fit |
the output from the selected model |
dev |
deviance measures |
## Not run: library(rrpack) simdata <- rrr.sim3(n = 100, p = 30, q.mix = c(5, 20, 5), nrank = 2, mis.prop = 0.2) Y <- simdata$Y Y_mis <- simdata$Y.mis X <- simdata$X X0 <- cbind(1,X) C <- simdata$C family <- simdata$family familygroup <- simdata$familygroup svdX0d1 <- svd(X0)$d[1] init1 = list(kappaC0 = svdX0d1 * 5) offset = NULL control = list(epsilon = 1e-4, sv.tol = 1e-2, maxit = 2000, trace = FALSE, gammaC0 = 1.1, plot.cv = TRUE, conv.obj = TRUE) fit.cv.mrrr <- cv.mrrr(Y_mis, X, family = family, familygroup = familygroup, maxrank = 20, penstr = list(penaltySVD = "rankCon", lambdaSVD = c(1 : 6)), control = control, init = init1, nfold = 10, nlam = 50) summary(fit.cv.mrrr) coef(fit.cv.mrrr) fit.mrrr <- fit.cv.mrrr$fit ## plot(svd(fit.mrrr$coef[- 1,])$d) plot(C ~ fit.mrrr$coef[- 1, ]) abline(a = 0, b = 1) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.