# codec

### Dependence and Conditional Dependence

For random variable $$Y$$ and random vectors $$Z$$ and $$X$$, $$T(Y, Z\mid X)\in[0, 1]$$, conditional dependence coefficient, gives us a measure of dependence of $$Y$$ and $$Z$$ given $$X$$, which is zero if and only if $$Y$$ is independent of $$Z$$ given $$X$$ and is 1 if and only if $$Y$$ is a function of $$Z$$ given $$X$$. Function codec estimates this value. The default value for $$X$$ is NULL and if is not provided by the user, it gives the dependence measure of $$Y$$ on $$Z$$. For more details on the definition of $$T$$ and its properties, see the paper A Simple Measure Of Conditional Dependence.

Below you can see a simple example of this measure.

library(FOCI)
n = 10000
x1 = matrix(runif(n), ncol = 1)
x2 = matrix(runif(n), ncol = 1)
x3 = matrix(runif(n), ncol = 1)
y = (x1 + x2 + x3) %% 1
# y is independent of each of x1 and x2 and x3
codec(y, x1)
#> [1] 0.00032847
codec(y, x2)
#> [1] -0.01867527
codec(y, x3)
#> [1] -0.01617087

# y is independent of the pair (x1, x2)
codec(y, cbind(x1, x2))
#> [1] -0.00863463

# y is a function of (x1, x2, x3)
codec(y, cbind(x1, x2, x3))
#> [1] 0.8753648

# conditional on x3, y is a function of (x1, x2)
codec(y, cbind(x1, x2), x3)
#> [1] 0.8773482
# conditional on x3, y is independent of x1
codec(y, x1, x3)
#> [1] 0.004702005