Use Hoeffding's D to Quantify and Test Non-monotonic Dependence
Use Hoeffding's D to Quantify and Test Non-monotonic Dependence
Unlike SpearmanRho, KendallTau, and Pearson's Correlation, HoeffdingD can be used to detect a wide variety of dependence structures beyond monotonic association.
v1 = {3, -4, 1, 4, 22, 17, -2, 2, 13, -11};
v2 = {-20, -24, 0, 4, 24, 36, -12, -12, 56, -14};HoeffdingD[v1, v2]HoeffdingDTest[v1, v2, "TestDataTable"]uni = RandomVariate[UniformDistribution[{-2Pi, 2Pi}], 1500];
SetAttributes[f, Listable];
f[x_, σ_] := {
RandomVariate[BinormalDistribution[0]],
RandomVariate[BinormalDistribution[.6]],
{x, -Sqrt[Abs[x]] + RandomVariate[NormalDistribution[0, σ]]}, {x, FresnelC[# / 10]&[(x + RandomVariate[NormalDistribution[0, σ]])^2]},
RandomVariate[BinormalDistribution[-.8]],
RandomChoice[{RandomVariate[BinormalDistribution[-.8]], RandomVariate[BinormalDistribution[.8]]}],
RandomChoice[{RandomVariate[NormalDistribution[1, .25], 2], RandomVariate[NormalDistribution[0, .5], 2]}], {x, -Sinc[x] + RandomVariate[NormalDistribution[0, σ]]}, {Cos[x], Sin[x] + RandomVariate[NormalDistribution[0, σ]]}}
data = f[uni, .2];GraphicsGrid[Partition[Table[ListPlot[data[[All, i]], Frame -> True, Axes -> None, AspectRatio -> 1, PlotStyle -> Directive[PointSize[Tiny]], FrameTicks -> None, Background -> White], {i, 9}], 3], ImageSize -> 350]Partition[Table[Column@HoeffdingDTest[Sequence@@Transpose@data[[All, i]], {"TestStatistic", "ShortTestConclusion"}], {i, 9}], 3]//TableForm