indep.test {energy}R Documentation

Energy Statistic Tests of Independence

Description

Computes a multivariate nonparametric test of independence. The default method implements the distance covariance test dcov.test.

Usage

indep.test(x, y, method = c("dcov","mvI"), index = 1, R = 199)

Arguments

x matrix: first sample, observations in rows
y matrix: second sample, observations in rows
method a character string giving the name of the test
index exponent on Euclidean distances
R number of replicates

Details

indep.test with the default method = "dcov" computes the distance covariance test of independence. index is an exponent on the Euclidean distances. Valid choices for index are in (0,2], with default value 1 (Euclidean distance). The arguments are passed to the dcov.test function. See the help topic dcov.test for the description and documentation and also see the reference (2007) below.

indep.test with method = "mvI" computes the coefficient I_n and performs a nonparametric E-test of independence. The arguments are passed to mvI.test. The index argument is ignored (index = 1 is applied). See the help topic mvI.test and also see the reference (2006) below for details.

The test decision is obtained via bootstrap, with R replicates. The sample sizes (number of rows) of the two samples must agree, and samples must not contain missing values.

These energy tests of independence are based on related theoretical results, but different test statistics. The dcov method is faster than mvI method by approximately a factor of O(n).

Value

indep.test returns a list with class htest containing

method description of test
statistic observed value of the test statistic n V_n^2 or n I_n^2
estimate V_n or I_n
estimates a vector [dCov(x,y), dCor(x,y), dVar(x), dVar(y)] (method dcov)
replicates replicates of the test statistic
p.value approximate p-value of the test
data.name description of data

Note

As of energy-1.1-0, indep.etest is deprecated and replaced by indep.test, which has methods for two different energy tests of independence. indep.test applies the distance covariance test (see dcov.test) by default (method = "dcov"). The original indep.etest applied the independence coefficient I_n, which is now obtained by method = "mvI".

Author(s)

Maria L. Rizzo mrizzo @ bgnet.bgsu.edu and Gabor J. Szekely gabors @ bgnet.bgsu.edu

References

Bakirov, N.K., Rizzo, M.L., and Szekely, G.J. (2006), A Multivariate Nonparametric Test of Independence, Journal of Multivariate Analysis 93/1, 58-80,
http://dx.doi.org/10.1016/j.jmva.2005.10.005

Szekely, G.J., Rizzo, M.L., and Bakirov, N.K. (2007), Measuring and Testing Dependence by Correlation of Distances, Annals of Statistics, Vol. 35 No. 6, pp. 2769-2794.
http://dx.doi.org/10.1214/009053607000000505

See Also

dcov.test mvI.test dcov mvI

Examples

 ## independent multivariate data
 x <- matrix(rnorm(60), nrow=20, ncol=3)
 y <- matrix(rnorm(40), nrow=20, ncol=2)
 indep.test(x, y, method = "dcov", R = 99)
 indep.test(x, y, method = "mvI", R = 99)
 
 ## dependent multivariate data
 library(MASS)
 Sigma <- matrix(c(1, .1, 0, 0 , 1, 0, 0 ,.1, 1), 3, 3)
 x <- mvrnorm(30, c(0, 0, 0), diag(3))
 y <- mvrnorm(30, c(0, 0, 0), Sigma) * x
 indep.test(x, y, R = 99)    #dcov method
 indep.test(x, y, method = "mvI", R = 99)
 
 ## Not run: 
 ## compare the computing time
 x <- mvrnorm(50, c(0, 0, 0), diag(3))
 y <- mvrnorm(50, c(0, 0, 0), Sigma) * x
 set.seed(123)
 system.time(indep.test(x, y, method = "dcov", R = 1000))
 set.seed(123)
 system.time(indep.test(x, y, method = "mvI", R = 1000))
 
## End(Not run)

 detach("package:MASS")

[Package energy version 1.1-0 Index]