rssvd {rrpack} | R Documentation |
Reduced-rank regression with a sparse singular value decomposition
Description
Reduced-rank regression with a sparse singular value decomposition using the iterative exclusive extraction algorithm.
Usage
rssvd(
Y,
X,
nrank,
ic.type = c("BIC", "BICP", "AIC"),
orthX = FALSE,
control = list(),
screening = FALSE
)
Arguments
Y |
response matrix |
X |
covariate matrix |
nrank |
integer specification of the desired rank |
ic.type |
character specifying which information criterion to use to select the best: ‘BIC’, ‘BICP’, and ‘AIC’ |
orthX |
logical indicating if X is orthogonal, in which case a faster algorithm is used |
control |
a list of parameters controlling the fitting process |
screening |
If TRUE, marginal screening via glm is performed before srrr fitting. |
Details
The model fitting can be controled through argument control
.
The available elements include
maxit: maximum number of iterations.
epsilon: convergence tolerance.
innerMaxit: maximum number of iterations for inner steps.
innerEpsilon: convergence tolerance for inner steps.
nlambda: number of tuning parameters.
adaptive: if Ture, use adaptive penalization.
gamma0: power parameter for constructing adaptive weights.
minLambda: multiplicate factor to determine the minimum lambda.
niter.eea: the number of iterations in the iterative exclusive extraction algorithm.
df.tol: tolerance.
Value
S3 rssvd.path
object, a list consisting of
Upath |
solution path of U |
Vpath |
solution path of V |
Dpath |
solution path of D |
U |
estimated left singular matrix that is orthogonal |
V |
estimated right singular matrix that is orthogonal |
D |
estimated singular values such that C=UDVt |
rank |
estimated rank |
References
Chen, K., Chan, K.-S. and Stenseth, N. C. (2012) Reduced rank stochastic regression with a sparse singular value decomposition. Journal of the Royal Statistical Society: Series B, 74, 203–221.
Examples
library(rrpack)
## Simulate data from a sparse factor regression model
p <- 50; q <- 50; n <- 100; nrank <- 3
mydata <- rrr.sim1(n, p, q, nrank, s2n = 1, sigma = NULL,
rho_X = 0.5, rho_E = 0.3)
fit1 <- with(mydata, rssvd(Y, X, nrank = nrank + 1))
summary(fit1)
plot(fit1)