Learn R Programming

PEtests (version 0.1.0)

covtest.pe.comp: Two-sample PE covariance test for high-dimensional data via PE component

Description

This function implements the two-sample PE covariance test via the construction of the PE component. Let \(T_{LC}/\hat\sigma_{T_{LC}}\) denote the \(l_2\)-norm-based covariance test statistic (see covtest.lc for details). The PE component is constructed by $$J_c=\sqrt{p}\sum_{i=1}^p\sum_{j=1}^p T_{ij}\widehat\xi^{-1/2}_{ij} \mathcal{I}\{ \sqrt{2}T_{ij}\widehat\xi^{-1/2}_{ij} +1 > \delta_{cov} \}, $$ where \(\delta_{cov}\) is a threshold for the screening procedure, recommended to take the value of \(\delta_{cov}=4\log(\log (n_1+n_2))\log p\). The explicit forms of \(T_{ij}\) and \(\widehat\xi_{ij}\) can be found in Section 3.2 of Yu et al. (2022). The PE covariance test statistic is defined as $$T_{PE}=T_{LC}/\hat\sigma_{T_{LC}}+J_c.$$ With some regularity conditions, under the null hypothesis \(H_{0c}: \mathbf{\Sigma}_1 = \mathbf{\Sigma}_2\), the test statistic \(T_{PE}\) converges in distribution to a standard normal distribution as \(n_1, n_2, p \rightarrow \infty\). The asymptotic \(p\)-value is obtained by $$p\text{-value}=1-\Phi(T_{PE}),$$ where \(\Phi(\cdot)\) is the cdf of the standard normal distribution.

Usage

covtest.pe.comp(dataX,dataY,delta=NULL)

Value

stat the value of test statistic

pval the p-value for the test.

Arguments

dataX

an \(n_1\) by \(p\) data matrix

dataY

an \(n_2\) by \(p\) data matrix

delta

a scalar; the thresholding value used in the construction of the PE component. If not specified, the function uses a default value \(\delta_{cov}=4\log(\log (n_1+n_2))\log p\).

References

Yu, X., Li, D., Xue, L., and Li, R. (2022). Power-enhanced simultaneous test of high-dimensional mean vectors and covariance matrices with application to gene-set testing. Journal of the American Statistical Association, (in press):1–14.

Examples

Run this code
n1 = 100; n2 = 100; pp = 500
set.seed(1)
X = matrix(rnorm(n1*pp), nrow=n1, ncol=pp)
Y = matrix(rnorm(n2*pp), nrow=n2, ncol=pp)
covtest.pe.comp(X,Y)

Run the code above in your browser using DataLab