Learn R Programming

energy (version 1.6.2)

indep.test: 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

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

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 references 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).

References

Szekely, G.J. and Rizzo, M.L. (2009), Brownian Distance Covariance, Annals of Applied Statistics, Vol. 3 No. 4, pp. 1236-1265. (Also see discussion and rejoinder.) http://dx.doi.org/10.1214/09-AOAS312 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 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

See Also

dcov.test mvI.test dcov mvI

Examples

Run this code
 ## 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)
 
 ## Not run: 
#  ## dependent multivariate data
#  if (require(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)
#   }
#  ## End(Not run)
 
 ## 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)

Run the code above in your browser using DataLab