Learn R Programming

edrGraphicalTools (version 2.2)

edrUnderdet: EDR space estimation for underdetermined cases.

Description

Gathers several procedures to estimate the effective dimension regression (EDR) space when the number of explanatory variables is greater than the sample size. Creates an object of class edr.

Usage

edrUnderdet(Y, X, H, K, method, initEDR=NULL, maxIter=NULL, 
regulParam=NULL, sMin=1e-16, sChg=10, btspSamp=NULL)

Arguments

Y

A numeric vector representing the dependent variable (a response vector).

X

A matrix representing the quantitative explanatory variables (bind by column).

H

When method="SR-SIR" or method="RSIR", the chosen number of slices. When method="SIR-QZ", a vector with various numbers of slices.

K

The chosen dimension K.

method

This character string specifies the method of fitting. It should be either "SIR-QZ", "RSIR" or "SR-SIR".

initEDR

When method="SR-SIR", a \(p\) x \(K\) matrix which contains initial values for the iterative algorithm that estimates EDR directions.

maxIter

When method="SR-SIR", a maximum number of iterations after which the algorithm stops.

regulParam

When method="SR-SIR" or method="RSIR", a vector containing possible values of the regularization parameter, from which the optimal one will be chosen.

sMin

When method="SIR-QZ", the smallest regularization parameter to test.

sChg

When method="SIR-QZ", a positive real by which a regularization parameter is multiplied to produce the next one to consider.

btspSamp

When method="RSIR", the bootstrap sample size for estimating the mean squared error.

Value

edrUnderdet returns an object of class edr, with some of the following attributes, depending on the value of method:

matEDR

A matrix spanning the estimated EDR space.

indices

The estimated indices from the "SIR-QZ" method.

eigvalEDR

The eigenvalues of a matrix of interest.

K

The chosen dimension.

H

The chosen number(s) of slices.

n

The sample size.

method

The dimension reduction method used.

X

The matrix of the quantitative explanatory variables (bind by column).

Y

The numeric vector of the dependent variable (a response vector).

s

The optimal regularization parameter(s) found by the chosen method.

estMSE

For each tested regularization parameter, the estimated mean squared error from the "RSIR" method.

testedEDR

For each tested regularization parameter, a matrix spanning the estimated EDR space from the "SR-SIR" method.

iter

For each tested regularization parameter, the number of iterations needed for the alternating least squares algorithm from the "SR-SIR" method to converge.

gcv

For each tested regularization parameter, the corresponding generalized cross-validation criterion from the "SR-SIR" method.

Details

The "SIR-QZ" method estimates the indices rather than the EDR directions. It makes use of several estimations from several numbers of slices. It tries to find a minimal regularization of the covariance matrix of \(X\). The "RSIR" procedure uses a bootstrap estimator of the mean squared error of regularized estimates of the EDR directions. It was translated from a Matlab code made by Peng Zeng. The "SR-SIR" procedure relies on a generalized cross-validation criterion and on an alternating least squares algorithm to find an optimal regularization parameter. It was written using a R code made by Lexin Li.

References

Coudret, R., Liquet, B. and Saracco, J. Comparison of sliced inverse regression approaches for underdetermined cases. Journal de la Soci<U+00E9>t<U+00E9> Fran<U+00E7>aise de Statistique, in press.

Li, L. and Yin, X. (2008). Sliced inverse regression with regularizations. Biometrics, 64(1):124-131.

Zhong, W., Zeng, P., Ma, P., Liu, J. S., and Zhu, Y. (2005). RSIR: regularized sliced inverse regression for motif discovery. Bioinformatics, 21(22):4169-4175.

See Also

edr, sliceMat

Examples

Run this code
# NOT RUN {
n <- 100
p <- 200
K <- 2
H <- 3:8
beta1 <- c(1,1,1,1,rep(0,p-4))
beta2 <- c(rep(0,p-4), 1,1,1,1)
X <- rmvnorm(n,sigma=diag(p))
eps <- rnorm(n,sd=10)
Y <- (X%*%beta1)^3 + (X%*%beta2)^3+eps
result <- edrUnderdet(Y,X,H,K,"SIR-QZ")
summary(result)
plot(result)
# }

Run the code above in your browser using DataLab