Learn R Programming

ICtest (version 0.3-5)

SIRasymp: Testing the Subspace Dimension for Sliced Inverse Regression.

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.

Usage

SIRasymp(X, y, k, h = 10, ...)

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.

other arguments passed on to covSIR.

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 degrees of freedom of the test.

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.

Details

Under the null the first k eigenvalues contained in D are non-zero and the remaining p-k are zero.

For a sample of size \(n\), the test statistic \(T\) is then n times the sum of these last p-k eigenvalue and has under the null a chisquare distribution with \((p-k)(h-k-1)\) degrees of freedom, therefore it is required that \(k < h-1\).

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, SIRboot

Examples

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

Run the code above in your browser using DataLab