| Crates.io | xicor |
| lib.rs | xicor |
| version | 0.1.0 |
| created_at | 2024-12-31 21:28:54.159427+00 |
| updated_at | 2024-12-31 21:28:54.159427+00 |
| description | An implementation of Sourav Chatterjee's xi-correlation coefficient |
| homepage | |
| repository | https://github.com/UnsuccessfulLaminator/xicor |
| max_upload_size | |
| id | 1500403 |
| size | 54,749 |
This crate provides a reasonably efficient implementation of Sourav Chatterjee's xi-correlation coefficient, based on the original paper.
Chatterjee's xi provides a measure of one variable's dependence on another
in a much more general sense than, for example, Pearson's correlation
coefficient. Suppose we have some sequence of random x values uniformly
distributed from zero to tau. For each one, we compute y = sin(x).
Pearson's correlation coefficient will be roughly zero for this data, as it
measures linear dependence. On the other hand, Chatterjee's xi will be
close to 1, representing that y is strongly a function of x, regardless
of what function that may be.
xicor(), xicorf(), etc, with
two slices containing the data)Ord, as xi does not require calculations on the elements
themselves, only the ability to compare them. In principle even strings
could be correlated in this manner (lexicographically), for example.xicorf was able to process 1,000,000 pairs in 0.33 seconds. Profiling
revealed that 80% of this calculation lay in the standard library's
sorting routines.