Learn R Programming

itdr (version 2.0.1)

d.test: Dimension Selection Testing Methods for the Central Mean Subspace.

Description

The ``d.test()'' function provides p-values for the hypothesis tests for the dimension of the subpsace. It employs three test statistics: Cook's test, Scaled test, and Adjusted test, using Fourier transform approach for inverse dimension reduction method.

Usage

d.test(y,x,m)

Value

The d.test() function returns a table of p-values for each test.

Arguments

y

The n-dimensional response vector.

x

The design matrix of the predictors with dimension n-by-p.

m

An integer specifying the dimension of the central mean reduction subspace to be tested.

Details

The null and alternative hypothesis are

$$H_0: d=m$$ $$H_a: d>m$$

1. Weighted Chi-Square test statistics (Weng and Yin, 2018): $$\hat{\Lambda}=n\sum_{j=m+1}^{p}\hat{\lambda}_j,$$ where \(\lambda_j\)'s are the eigenvalues of \(\widehat{\textbf{V}}\), defined under the ``invFM()'' function.

2. Scaled test statistic (Bentler and Xie, 2000): $$\overline{T}_m=[trace(\hat{\Omega}_n)/p^{\star}]^{-1}n\sum_{j=m+1}^{p}\hat{\lambda}_j \sim \mathcal{X}^2_{p^{\star}},$$ where \(\hat{\Omega}_n\) is a covariance matrix, and \(p^{\star} = (p-m)(2t-m)\).

3. Adjusted test statistic (Bentler and Xie, 2000): $$\tilde{T}_m=[trace(\hat{\Omega}_n)/d^{\star}]^{-1}n\sum_{j=m+1}^{p}\hat{\lambda}_j \sim \mathcal{X}^2_{d^{\star}},$$ where \(d^{\star} = [trace(\hat{\Omega}_n)]^{2}/trace(\hat{\Omega}_n^2)\) .

References

Bentler P. M., and Xie, J. (2000). Corrections to Test Statistics in Principal Hessian Directions. Statistics and Probability Letters. 47, 381-389.

Weng J., and Yin X. (2018). Fourier Transform Approach for Inverse Dimension Reduction Method. Journal of Nonparametric Statistics. 30, 4, 1029-0311.

Examples

Run this code
data(pdb)
colnames(pdb) <- NULL
p <- 15
df <- pdb[, c(79, 73, 77, 103, 112, 115, 124, 130, 132, 145, 149, 151, 153, 155, 167, 169)]
dff <- as.matrix(df)
planingdb <- dff[complete.cases(dff), ]
y <- planingdb[, 1]
x <- planingdb[, c(2:(p + 1))]
x <- x + 0.5
xt <- cbind(
  x[, 1]^(.33), x[, 2]^(.33), x[, 3]^(.57), x[, 4]^(.33), x[, 5]^(.4),
  x[, 6]^(.5), x[, 7]^(.33), x[, 8]^(.16), x[, 9]^(.27), x[, 10]^(.5),
  x[, 11]^(.5), x[, 12]^(.33), x[, 13]^(.06), x[, 14]^(.15), x[, 15]^(.1)
)
m <- 1
W <- sapply(1, rnorm)
d.test(y, x, m)

Run the code above in your browser using DataLab