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

View source: R/mean2_2014CLX.R

mean2.2014CLXR Documentation

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 : μ_x = μ_y\quad vs\quad H_1 : μ_x \neq μ_y

using the procedure by Cai, Liu, and Xia (2014) which is equivalent to test

H_0 : Ω(μ_x - μ_y)=0

for an inverse covariance (or precision) Ω. When Ω 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
)

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.

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.

References

\insertRef

cai_twosample_2014SHT

Examples

## 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")

## Not run: 
## 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=""))

## End(Not run)


kisungyou/SHT documentation built on Oct. 15, 2022, 3:18 p.m.