# multicorrelation: distance multicorrelation In multivariance: Measuring Multivariate Dependence Using Distance Multivariance

## Description

Computes various types of sample distance multicorrelation as defined and discussed in [3,4,6].

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19``` ```multicorrelation( x, vec = 1:ncol(x), type = "total.upper.lower", multicorrelation.type = "normalized", estimator.type = "bias.corrected", squared = TRUE, ... ) Mcor( x, vec = 1:ncol(x), type = "total.upper.lower", multicorrelation.type = "normalized", estimator.type = "bias.corrected", squared = TRUE, ... ) ```

## Arguments

 `x` either a data matrix or a list of doubly centered distance matrices `vec` if x is a matrix, then this indicates which columns are treated together as one sample; if x is a list, these are the indexes for which the multivariance is calculated. The default is all columns and all indexes, respectively. `type` default: "total.lower.upper", for details and other options see below `multicorrelation.type` one of `"normalized","unnormalized"` `estimator.type` one of `"biased","bias.corrected"` `squared` if `FALSE` it returns the actual multivariance, otherwise the squared multivariance (less computation) `...` these are passed to `cdms` (which is only invoked if `x` is a matrix)

## Details

There exist many variants of distance multicorrelation as discussed in  – and only in specific cases a direct comparison of the values is meaningful.

The implemented options are:

• `total.upper.lower normalized bias.corrected`: default; bounded by 1; fast; population limit characterizes independence by 0

• `pairwise normalized bias.corrected`: bounded by 1; fast; population limit characterizes pairwise independence by 0

• `total.upper normalized biased`: biased versions of the above

• `total.lower normalized biased`

• `pairwise normalized biased`

• `multi normalized biased`: population limit characterizes only in case of lower independence the independence of all variables by 0

• `m.multi.3 normalized biased`: population limit characterizes only in case of pairwise independence the 3-independence of all variables by 0

• `pairwise unnormalized biased` population limit characterizes pairwise independence by 0 and relation by similarity transforms by 1

• `multi unnormalized biased`: population limit characterizes only in case of lower independence the independence of all variables by 0 and relation by similarity transforms by 1

• `m.multi.3 unnormalized biased`: population limit characterizes only in case of pairwise independence the 3-independence of all variables by 0 and relation by similarity transforms by 1

Further details:

The `"bias.corrected"` versions require a data matrix, since they compute bias corrected centered distance matricies.

For `"multi"` the unnormalized and normalized version coincide if an even number of variables is considered. They usually differ if an odd number of variables is considered. If all variables are related by similarity transforms the unnormalized `"unnormalized"` multicorrelations are 1.

For `"pairwise"` an alias is `"m.multi.2"`.

For total multicorrelation there is currently only a feasible empirical estimator for a lower or upper bound. These are upper and lower bounds for in the population setting. When using bias corrected estimators these are in general no proper bounds, but their range can be used as values for comparisons.

## Value

Value of the multicorrelation(s).

## References

For the theoretic background see the references [2,3,6] given on the main help page of this package: multivariance-package.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21``` ```y = rnorm(100) x = cbind(y,y*2,(y-2)/3,y+1,y*5) # all variables are related by similarity transforms # compute all types of correlations for x: for (ty in c("total.lower","total.upper","pairwise","m.multi.3","multi")) for (mty in c("normalized")) print(paste(format(multicorrelation( x,type=ty,multicorrelation.type = mty,estimator.type = "biased") ,digits=3,nsmall = 3,width = 7),mty,ty,"correlation - biased estimate")) for (ty in c("total.upper.lower","pairwise")) for (mty in c("normalized")) print(paste(format(multicorrelation( x,type=ty,multicorrelation.type = mty,estimator.type = "bias.corrected") ,digits=3,nsmall = 3,width = 7),mty,ty,"correlation - bias corrected estimate")) for (ty in c("m.multi.2","m.multi.3","multi")) for (mty in c("unnormalized")) print(paste(format(multicorrelation( x,type=ty,multicorrelation.type = mty,estimator.type = "biased") ,digits=3,nsmall = 3,width = 7),mty,ty,"correlation - biased estimate")) ```

multivariance documentation built on Jan. 13, 2021, 5:55 a.m.