Measuring Multivariate Dependence Using Distance Multivariance

Distance multivariance is a measure of dependence which can be used to detect and quantify dependence. The necessary functions are implemented in this packages, and examples are given. For the theoretic background we refer to the papers: B. Böttcher, M. Keller-Ressel, R.L. Schilling, Detecting independence of random vectors: generalized distance covariance and Gaussian covariance. VMSTA, 2018, Vol. 5, No. 3, 353-383. . B. Böttcher, M. Keller-Ressel, R.L. Schilling, Distance multivariance: New dependence measures for random vectors. . B. Böttcher, Dependence and Dependence Structures: Estimation and Visualization Using Distance Multivariance. . G. Berschneider, B. Böttcher, On complex Gaussian random fields, Gaussian quadratic forms and sample distance multivariance. .


New Features

  • 'independence.test' is now also implemented with type "pearson_approx". Providing the fast p-value approximation developed in arXiv:1808.07280. For this also the functions 'pearson.qf' (a Gaussian quadratic form estimate based on mean, variance and skewness) and 'pearson.pvalue' (the corresponding p-value estimate based on new moment estimators) are introduced.
  • In "cmd" one can now explicitly specify the use of "isotropic" continuous negative definite functions. This speeds up the calculation for this case by a factor of about 100.


  • the option "squared" works now also for multivariance with option "correlation=TRUE".
  • 'multivariances.all' returns NA for 3-multivariance if only two variables are given.


  • speed up of various functions
  • various typos corrected

Changes in Version 1.1.0

New Features

  • 'm.multivariance' a function to calculate the m-multivariance
  • 'multivariances.all' a function to calculate standard/total/m-multivariance simultaneously
  • 'resample.multivariance' implements the resampling method which can be used to get less conservative tests than the distribution-free methods
  • 'dependence.structure' a function to generate a graphical model of the dependence structure
  • various examples of the use of 'dependence.structure'


  • The standard output of 'multivariance' is now (distance multivariance squared) scaled by the sample size. Use 'Nscale = FALSE' to get the value without this scaling. The reason for this was twofold: 1. it is now the same setting as for 'total.multivariance'. 2. This is the only value which can (roughly) be interpreted without further calculations.


  • improved documentation. In particular, it is now cleary stated that the squared values are the standard output of 'multivariance' and 'total.multivariance'
  • some speed up

Changes in Version 1.0.5 2017-11-01


  • Initial public release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.0.0 by Björn Böttcher, 12 days ago

Browse source code at

Authors: Björn Böttcher [aut, cre] , Martin Keller-Ressel [ctb]

Documentation:   PDF Manual  

GPL-3 license

Imports igraph, graphics, stats, Rcpp, microbenchmark

Suggests testthat

Linking to Rcpp

See at CRAN