Learn R Programming

EDMeasure (version 1.2.0)

mdm_test: Mutual Independence Tests

Description

mdm_test tests mutual independence of all components in X, where each component contains one variable (univariate) or more variables (multivariate). All tests are implemented as permutation tests.

Usage

mdm_test(X, dim_comp = NULL, num_perm = NULL, type = "comp_simp")

Arguments

X

A matrix or data frame, where rows represent samples, and columns represent variables.

dim_comp

The numbers of variables contained by all components in X. If omitted, each component is assumed to contain exactly one variable.

num_perm

The number of permutation samples drawn to approximate the asymptotic distributions of mutual dependence measures. If omitted, an adaptive number is used.

type

The type of mutual dependence measures, including

  • asym_dcov: asymmetric measure \(\mathcal{R}_n\) based on distance covariance \(\mathcal{V}_n\);

  • sym_dcov: symmetric measure \(\mathcal{S}_n\) based on distance covariance \(\mathcal{V}_n\);

  • comp: complete measure \(\mathcal{Q}_n\) based on complete V-statistics;

  • comp_simp: simplified complete measure \(\mathcal{Q}_n^\star\) based on incomplete V-statistics;

  • asym_comp: asymmetric measure \(\mathcal{J}_n\) based on complete measure \(\mathcal{Q}_n\);

  • asym_comp_simp: simplified asymmetric measure \(\mathcal{J}_n^\star\) based on simplified complete measure \(\mathcal{Q}_n^\star\);

  • sym_comp: symmetric measure \(\mathcal{I}_n\) based on complete measure \(\mathcal{Q}_n\);

  • sym_comp_simp: simplified symmetric measure \(\mathcal{I}_n^\star\) based on simplified complete measure \(\mathcal{Q}_n^\star\).

From experiments, asym_dcov, sym_dcov, comp_simp are recommended.

Value

mdm_test returns a list including the following components:

stat

The value of the mutual dependence measure.

pval

The p-value of the mutual independence test.

References

Jin, Z., and Matteson, D. S. (2017). Generalizing Distance Covariance to Measure and Test Multivariate Mutual Dependence. arXiv preprint arXiv:1709.02532. https://arxiv.org/abs/1709.02532.

Examples

Run this code
# NOT RUN {
# X is a 10 x 3 matrix with 10 samples and 3 variables
X <- matrix(rnorm(10 * 3), 10, 3)

# assume X = (X1, X2) where X1 is 1-dim, X2 is 2-dim
mdm_test(X, dim_comp = c(1, 2), type = "asym_dcov")

# assume X = (X1, X2) where X1 is 2-dim, X2 is 1-dim
mdm_test(X, dim_comp = c(2, 1), type = "sym_dcov")

# assume X = (X1, X2, X3) where X1 is 1-dim, X2 is 1-dim, X3 is 1-dim
mdm_test(X, dim_comp = c(1, 1, 1), type = "comp_simp")
# }

Run the code above in your browser using DataLab