Learn R Programming

SHT (version 0.1.9)

mean2.2014CLX: Two-sample Test for High-Dimensional Means by Cai, Liu, and Xia (2014)

Description

Given two multivariate data \(X\) and \(Y\) of same dimension, it tests $$H_0 : \mu_x = \mu_y\quad vs\quad H_1 : \mu_x \neq \mu_y$$ using the procedure by Cai, Liu, and Xia (2014) which is equivalent to test $$H_0 : \Omega(\mu_x - \mu_y)=0$$ for an inverse covariance (or precision) \(\Omega\). When \(\Omega\) is not given and known to be sparse, it is first estimated with CLIME estimator. Otherwise, adaptive thresholding estimator is used. Also, if two samples are assumed to have different covariance structure, it uses weighting scheme for adjustment.

Usage

mean2.2014CLX(
  X,
  Y,
  precision = c("sparse", "unknown"),
  delta = 2,
  Omega = NULL,
  cov.equal = TRUE
)

Value

a (list) object of S3 class htest containing:

statistic

a test statistic.

p.value

\(p\)-value under \(H_0\).

alternative

alternative hypothesis.

method

name of the test.

data.name

name(s) of provided sample data.

Arguments

X

an \((n_x \times p)\) data matrix of 1st sample.

Y

an \((n_y \times p)\) data matrix of 2nd sample.

precision

type of assumption for a precision matrix (default: "sparse").

delta

an algorithmic parameter for adaptive thresholding estimation (default: 2).

Omega

precision matrix; if NULL, an estimate is used. Otherwise, a \((p\times p)\) inverse covariance should be provided.

cov.equal

a logical to determine homogeneous covariance assumption.

References

cai_twosample_2014SHT

Examples

Run this code
## CRAN-purpose small example
smallX = matrix(rnorm(10*3),ncol=3)
smallY = matrix(rnorm(10*3),ncol=3)
mean2.2014CLX(smallX, smallY, precision="unknown")
mean2.2014CLX(smallX, smallY, precision="sparse")

if (FALSE) {
## empirical Type 1 error 
niter   = 100
counter = rep(0,niter)  # record p-values
for (i in 1:niter){
  X = matrix(rnorm(50*5), ncol=10)
  Y = matrix(rnorm(50*5), ncol=10)
  
  counter[i] = ifelse(mean2.2014CLX(X, Y)$p.value < 0.05, 1, 0)
}

## print the result
cat(paste("\n* Example for 'mean2.2014CLX'\n","*\n",
"* number of rejections   : ", sum(counter),"\n",
"* total number of trials : ", niter,"\n",
"* empirical Type 1 error : ",round(sum(counter/niter),5),"\n",sep=""))
}

Run the code above in your browser using DataLab