The limitations of linear correlation are well known. Often one uses correlation, when dependence is the intended measure for defining the relationship between variables. NNS dependence NNS.dep
is a signal:noise measure robust to nonlinear signals.
Below are some examples comparing NNS correlation NNS.cor
and NNS.dep
with the standard Pearson’s correlation coefficient cor
.
Note the fact that all observations occupy the co-partial moment quadrants.
## [1] 1
## $Correlation
## [1] 1
##
## $Dependence
## [1] 1
Note the fact that all observations occupy the co-partial moment quadrants.
## [1] 0.6610183
## $Correlation
## [1] 0.9142701
##
## $Dependence
## [1] 0.9142701
Note the fact that all observations occupy only co- or divergent partial moment quadrants for a given subquadrant.
set.seed(123)
df <- data.frame(x = runif(10000, -1, 1), y = runif(10000, -1, 1))
df <- subset(df, (x ^ 2 + y ^ 2 <= 1 & x ^ 2 + y ^ 2 >= 0.95))
NNS.dep(df$x, df$y, print.map = TRUE)
## $Correlation
## [1] -0.001657492
##
## $Dependence
## [1] 0.9104624
These partial moment insights permit us to extend the analysis to multivariate instances. This level of analysis is simply impossible with Pearson or other rank based correlation methods, which are restricted to pairwise cases.
set.seed(123)
x=rnorm(1000);y=rnorm(1000);z=rnorm(1000)
NNS.dep.hd(cbind(x,y,z),plot=TRUE,independence.overlay=TRUE)
## $actual.observations
## [1] 267
##
## $independent.null
## [1] 250
##
## $Dependence
## [1] 0.02266667
If the user is so motivated, detailed arguments and proofs are provided within the following: