Learn R Programming

rrpack (version 0.1-13)

srrr: Row-sparse reduced-eank regresssion

Description

Row-sparse reduced-rank regresssion for a prespecified rank; produce a solution path for selecting predictors

Usage

srrr(
  Y,
  X,
  nrank = 2,
  method = c("glasso", "adglasso"),
  ic.type = c("BIC", "BICP", "AIC", "GCV", "GIC"),
  A0 = NULL,
  V0 = NULL,
  modstr = list(),
  control = list(),
  screening = FALSE
)

Arguments

Y

response matrix

X

covariate matrix

nrank

prespecified rank

method

group lasso or adaptive group lasso

ic.type

information criterion

A0

initial value

V0

initial value

modstr

a list of model parameters controlling the model fitting

control

a list of parameters for controlling the fitting process

screening

If TRUE, marginal screening via glm is performed before srrr fitting.

Value

A list of fitting results

Details

Model parameters controlling the model fitting can be specified through argument modstr. The available elements include

  • lamA: tuning parameter sequence.

  • nlam: number of tuning parameters; no effect if lamA is specified.

  • minLambda: minimum lambda value, no effect if lamA is specified.

  • maxLambda: maxmum lambda value, no effect if lamA is specified.

  • WA: adaptive weights. If NULL, the weights are constructed from RRR.

  • wgamma: power parameter for constructing adaptive weights.

Similarly, the computational parameters controlling optimization can be specified through argument control. The available elements include

  • epsilon: epsilonergence tolerance.

  • maxit: maximum number of iterations.

  • inner.eps: used in inner loop.

  • inner.maxit: used in inner loop.

References

Chen, L. and Huang, J. Z. (2012) Sparse reduced-rank regression for simultaneous dimension reduction and variable selection. Journal of the American Statistical Association. 107:500, 1533--1545.

Examples

Run this code
# NOT RUN {
library(rrpack)
p <- 100; n <- 100; nrank <- 3
mydata <- rrr.sim2(n, p, p0 = 10,q = 50, q0 = 10, nrank = 3,
                   s2n = 1, sigma = NULL, rho_X = 0.5, rho_E = 0)
fit1 <- with(mydata, srrr(Y, X, nrank = 3))
summary(fit1)
coef(fit1)
plot(fit1)
# }

Run the code above in your browser using DataLab