Skip to contents

Zhang et al. (2020)'s test for testing equality of two-sample high-dimensional mean vectors with assuming that two covariance matrices are the same.

Usage

ts_zzz2020(y1, y2)

Arguments

y1

The data matrix (\(p\) by \(n_1\)) from the first population. Each column represents a \(p\)-dimensional observation.

y2

The data matrix (\(p\) by \(n_2\)) from the first population. Each column represents a \(p\)-dimensional observation.

Value

A (list) object of S3 class htest containing the following elements:

p.value

the p-value of the test proposed by Zhang et al. (2020).

statistic

the test statistic proposed by Zhang et al. (2020).

df

estimated approximate degrees of freedom of Zhang et al. (2020)'s test.

Details

Suppose we have two independent high-dimensional samples: $$ \boldsymbol{y}_{i1},\ldots,\boldsymbol{y}_{in_i}, \;\operatorname{are \; i.i.d. \; with}\; \operatorname{E}(\boldsymbol{y}_{i1})=\boldsymbol{\mu}_i,\; \operatorname{Cov}(\boldsymbol{y}_{i1})=\boldsymbol{\Sigma},i=1,2. $$ The primary object is to test $$H_{0}: \boldsymbol{\mu}_1 = \boldsymbol{\mu}_2\; \operatorname{versus}\; H_{1}: \boldsymbol{\mu}_1 \neq \boldsymbol{\mu}_2.$$ Zhang et al.(2020) proposed the following test statistic: $$T_{ZZZ} = \frac{n_1n_2}{np}(\bar{\boldsymbol{y}}_1 - \bar{\boldsymbol{y}}_2)^\top \hat{\boldsymbol{D}}^{-1}(\bar{\boldsymbol{y}}_1 - \bar{\boldsymbol{y}}_2),$$ where \(\bar{\boldsymbol{y}}_{i},i=1,2\) are the sample mean vectors, \(\hat{\boldsymbol{D}}\) is the diagonal matrix of sample covariance matrix. They showed that under the null hypothesis, \(T_{ZZZ}\) and a chi-squared-type mixture have the same limiting distribution.

References

Zhang L, Zhu T, Zhang J (2020). “A simple scale-invariant two-sample test for high-dimensional data.” Econometrics and Statistics, 14, 131--144. doi:10.1016/j.ecosta.2019.12.002 .

Examples

set.seed(1234)
n1 <- 20
n2 <- 30
p <- 50
mu1 <- t(t(rep(0, p)))
mu2 <- mu1
rho <- 0.1
y <- (-2 * sqrt(1 - rho) + sqrt(4 * (1 - rho) + 4 * p * rho)) / (2 * p)
x <- y + sqrt((1 - rho))
Gamma <- matrix(rep(y, p * p), nrow = p)
diag(Gamma) <- rep(x, p)
Z1 <- matrix(rnorm(n1 * p, mean = 0, sd = 1), p, n1)
Z2 <- matrix(rnorm(n2 * p, mean = 0, sd = 1), p, n2)
y1 <- Gamma %*% Z1 + mu1 %*% (rep(1, n1))
y2 <- Gamma %*% Z2 + mu2 %*% (rep(1, n2))
ts_zzz2020(y1, y2)
#> 
#> 
#> 
#> data:  
#> statistic = 0.9246, df = 36.198, p-value = 0.5988
#>