| indepTest {copula} | R Documentation |
Multivariate independence test based on the empirical copula process as proposed by Christian Genest and Bruno Rémillard. The test can be seen as composed of three steps: (i) a simulation step, which consists of simulating the distribution of the test statistics under independence for the sample size under consideration; (ii) the test itself, which consists of computing the approximate p-values of the test statistics with respect to the empirical distributions obtained in step (i); and (iii) the display of a graphic, called a dependogram, enabling to understand the type of departure from independence, if any. More details can be found in the articles cited in the reference section.
indepTestSim(n, p, m = p, N = 1000) indepTest(x, d, alpha=0.05) dependogram(test, pvalues = FALSE)
n |
Sample size when simulating the distribution of the test statistics under independence. |
p |
Dimension of the data when simulating the distribution of the test statistics under independence. |
m |
Maximum cardinality of the subsets of variables for which a test statistic
is to be computed. It makes sense to consider m << p especially when
p is large. |
N |
Number of repetitions when simulating under independence. |
x |
Data frame or data matrix containing realizations (one per line) of the random vector whose independence is to be tested. |
d |
Object of class "indepTestDist" as returned by
the function "indepTestSim". It can be regarded as the empirical distribution
of the test statistics under independence. |
alpha |
Significance level used in the computation of the critical values for the test statistics. |
test |
Object of class "indepTest" as return by the function indepTest. |
pvalues |
Logical indicating whether the dependogram should be drew from test statistics or the corresponding p-values. |
See the references below for more details, especially the third one.
The function "indepTestSim" returns an object of class
"indepTestDist" whose attributes are: sample.size,
data.dimension, max.card.subsets,
number.repetitons, subsets (list of the subsets for
which test statistics have been computed), subsets.binary
(subsets in binary 'integer' notation),
dist.statistics.independence (a N line matrix containing
the values of the test statistics for each subset and each repetition)
and dist.global.statistic.independence (a vector a length
N containing the values of the global Cramér-von Mises test
statistic for each repetition - see last reference p. 175).
The function "indepTest" returns an object of class
"indepTest" whose attributes are: subsets,
statistics, critical.values, pvalues,
fisher.pvalue (a p-value resulting from a combination à la
Fisher of the subset statistic p-values), tippett.pvalue (a p-value
resulting from a combination à la Tippett of the subset
statistic p-values),
alpha (global significance level of the test), beta
(1 - beta is the significance level per statistic),
global.statistic (value of the global Cramér-von Mises
statistic derived directly from the independence empirical copula
process - see last reference p. 175) and
global.statistic.pvalue (corresponding p-value).
P. Deheuvels (1979). La fonction de dépendance empirique et ses propriétés: un test non paramétrique d'indépendance, Acad. Roy. Belg. Bull. Cl. Sci., 5th Ser. 65:274–292.
P. Deheuvels (1981), A non parametric test for independence, Publ. Inst. Statist. Univ. Paris. 26:29–50.
C. Genest and B. Rémillard (2004), Tests of independence and randomness based on the empirical copula process. Test, 13:335–369.
C. Genest, J.-F. Quessy and B. Rémillard (2006). Local efficiency of a Cramer-von Mises test of independence, Journal of Multivariate Analysis, 97:274–294.
C. Genest, J.-F. Quessy and B. Rémillard (2007), Asymptotic local efficiency of Cramér-von Mises tests for multivariate independence. The Annals of Statistics, 35:166–191.
serialIndepTest,
multIndepTest,
multSerialIndepTest.
## Consider the following example taken from
## Genest and Remillard (2004), p 352:
x <- matrix(rnorm(500),100,5)
x[,1] <- abs(x[,1]) * sign(x[,2] * x[,3])
x[,5] <- x[,4]/2 + sqrt(3) * x[,5]/2
## In order to test for independence "within" x, the first step consists
## in simulating the distribution of the test statistics under
## independence for the same sample size and dimension,
## i.e. n=100 and p=5. As we are going to consider all the subsets of
## {1,...,5} whose cardinality is between 2 and 5, we set p=m=5.
## This may take a while...
d <- indepTestSim(100,5)
## The next step consists of performing the test itself:
test <- indepTest(x,d)
## Let us see the results:
test
## Display the dependogram:
dependogram(test)
## We could have tested for a weaker form of independence, for instance,
## by only computing statistics for subsets whose cardinality is between 2
## and 3. Consider for instance the following data:
y <- matrix(runif(500),100,5)
## and perform the test:
d <- indepTestSim(100,5,3)
test <- indepTest(y,d)
test
dependogram(test)
## NB: In order to save d for future use, the save function can be used.