A Python package for calculating eta_n, the rank-transform area coverage coefficient of correlation. This is the official repository of the paper (link TBD):
"A coefficient of correlation for continuous random variables based on area coverage"
Install this library using pip
:
pip install etacorpy
import numpy as np
from etacorpy import calc_eta_n, create_null_dist, area_coverage_independence_test
n = 100
x = np.random.rand(n)
y = np.random.rand(n)
null_dist = create_null_dist(n)
eta_n, p_value = area_coverage_independence_test(x, y, null_dist=null_dist)
print(f'x and y are independent, eta_n = {eta_n}, p_value = {p_value}')
y = np.square(x)
eta_n, p_value = area_coverage_independence_test(x, y, null_dist=null_dist)
print(f'x and y are dependent, eta_n = {eta_n}, p_value = {p_value}')
# If p_value is not needed, you can calculate just eta_n
eta_n_2 = calc_eta_n(x,y)
assert eta_n == eta_n_2
To contribute to this library, first checkout the code. Then create a new virtual environment:
cd etacorpy
python -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
python -m pip install -e '.[test]'
To run the tests:
python -m pytest