Learn R Programming

ICtest (version 0.3-7)

SIRboot: Testing the Subspace Dimension for Sliced Inverse Regression Using Bootstrapping.

Description

Using the two scatter matrices approach (SICS) for sliced inversion regression (SIR) the function tests if the last p-k components have zero eigenvalues, where p is the number of explaining variables. Hence the assumption is that the first k components are relevant for modelling the response y and the remaining components are not. The function performs bootstrapping to obtain a p-value.

Usage

SIRboot(X, y, k, h = 10, n.boot = 200, ...)

Value

A list of class ictest inheriting from class htest containing:

statistic

the value of the test statistic.

p.value

the p-value of the test.

parameter

the number of boostrapping samples used to compute the p-value.

method

character string which test was performed.

data.name

character string giving the name of the data.

alternative

character string specifying the alternative hypothesis.

k

the number of non-zero eigenvalues used in the testing problem.

W

the transformation matrix to the underlying components.

S

data matrix with the centered underlying components.

D

the underlying eigenvalues.

MU

the location of the data which was substracted before calculating the components.

Arguments

X

a numeric data matrix of explaining variables.

y

a numeric vector specifying the response.

k

the number of relevant components under the null hypothesis.

h

the number of slices used in SIR. Passed on to function covSIR.

n.boot

number of bootstrapping samples.

...

other arguments passed on to covSIR.

Author

Klaus Nordhausen

Details

Under the null hypthesis the last p-k eigenvalue as given in D are zero. The test statistic is then the sum of these eigenvalues.

Denote W as the transformation matrix to the supervised invariant coordinates (SIC) \(s_i\), \(i=1,\ldots,n\), i.e. $$s_i = W (x_i-MU),$$ where MU is the location.

Let \(S_1\) be the submatrix of the SICs which are relevant and \(S_2\) the submatrix of the SICs which are irrelevant for the response y under the null.

The boostrapping has then the following steps:

  1. Take a boostrap sample \((y^*, S_1^*)\) of size \(n\) from \((y, S_1)\).

  2. Take a boostrap sample \(S_2^*\) of size \(n\) from \(S_2\).

  3. Combine \(S^*=(S_1^*, S_2^*)\) and create \(X^*= S^* W\).

  4. Compute the test statistic based on \(X^*\).

  5. Repeat the previous steps n.boot times.

References

Nordhausen, K., Oja, H. and Tyler, D.E. (2022), Asymptotic and Bootstrap Tests for Subspace Dimension, Journal of Multivariate Analysis, 188, 104830. <doi:10.1016/j.jmva.2021.104830>.

See Also

covSIR, SIRasymp

Examples

Run this code
X <- matrix(rnorm(1000), ncol = 5)
eps <- rnorm(200, sd = 0.1)
y <- 2 + 0.5 * X[, 1] + 2 * X[, 3] + eps
  
SIRboot(X, y, k = 0) 
SIRboot(X, y, k = 1)    

Run the code above in your browser using DataLab