zeta1: Multivariate dependence measure

Description Usage Arguments Value References Examples

View source: R/zeta1.R

Description

Given a d-dimensional random vector X and a uni-variate random variable Y, the multivariate copula-based dependence measure ζ1 (zeta 1) quantifies the influence of the random vector X on the random variable Y. More precisely, ζ1 fulfills the following properties:

For more information, see Griessenberger, Junker, Trutschnig (2021), On a multivariate copula-based dependence measure and its estimation, <arXiv:2109.12883> .

The derived checkerboard estimator is proved to be strongly consistent and implemented in the function zeta1. Note, that the estimator only attains positive values (within [0,1]). Therefore, interpretation of low values have to be done with care and always under consideration of the sample size.

Usage

1
zeta1(X, Y, ties.correction = FALSE, approx = FALSE, resolution = NULL)

Arguments

X

a numeric matrix of dimension d indicating the conditioning (predictor) variables

Y

a numeric vector indicating the response (uni-variate)

ties.correction

logical indicating if the dependence measure uses a correction term w.r.t. ties mentioned in the paper. Default = FALSE.

approx

logical indicating if an approximated version of the dependence measure is computed (fast version). It should be only applied on data with no (or only a few) ties. Default = FALSE.

resolution

an integer indicating the resolution N of the checkerboard aggregation. Default = NULL, which is recommended (N(n) = floor(n^(1/(d+1)))).

Value

A numeric value indicating the dependence between X and Y (or, equivalently, the influence of X on Y).

References

Griessenberger, Junker, Trutschnig (2021), On a multivariate copula-based dependence measure and its estimation, <arXiv:2109.12883>.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#(complete dependence for dimension 4)
n <- 300
x1 <- runif(n)
x2 <- runif(n)
x3 <- x1 + x2 + rnorm(n)
y <- x1 + x2 + x3
zeta1(X = cbind(x1,x2,x3), Y = y)
zeta1(X = cbind(x1,x2,x3), Y = y, approx = TRUE)

#(independence for dimension 4)
n <- 500
x1 <- runif(n)
x2 <- runif(n)
x3 <- x1 + x2 + rnorm(n)
y <- runif(n)
zeta1(X = cbind(x1,x2,x3), Y = y)
zeta1(X = cbind(x1,x2,x3), Y = y, approx = TRUE)

#(binary output for dimension 3)
n <- 500
x1 <- runif(n)
x2 <- runif(n)
y <- ifelse(x1 + x2 < 1, 0, 1)
zeta1(X = cbind(x1,x2), Y = y, ties.correction = FALSE)
zeta1(X = cbind(x1,x2), Y = y, ties.correction = TRUE)

qmd documentation built on Sept. 28, 2021, 5:08 p.m.

Related to zeta1 in qmd...