scipy.spatial.distance.correlation#
- scipy.spatial.distance.correlation(u, v, w=None, centered=True)[source]#
Compute the correlation distance between two 1-D arrays.
The correlation distance between u and v, is defined as
\[1 - \frac{(u - \bar{u}) \cdot (v - \bar{v})} {{\|(u - \bar{u})\|}_2 {\|(v - \bar{v})\|}_2}\]where \(\bar{u}\) is the mean of the elements of u and \(x \cdot y\) is the dot product of \(x\) and \(y\).
- Parameters:
- u(N,) array_like
Input array.
- v(N,) array_like
Input array.
- w(N,) array_like, optional
The weights for each value in u and v. Default is None, which gives each value a weight of 1.0
- centeredbool, optional
If True, u and v will be centered. Default is True.
- Returns:
- correlationdouble
The correlation distance between 1-D array u and v.
Examples
Find the correlation between two arrays.
>>> from scipy.spatial.distance import correlation >>> correlation([1, 0, 1], [1, 1, 0]) 1.5
Using a weighting array, the correlation can be calculated as:
>>> correlation([1, 0, 1], [1, 1, 0], w=[0.9, 0.1, 0.1]) 1.1
If centering is not needed, the correlation can be calculated as:
>>> correlation([1, 0, 1], [1, 1, 0], centered=False) 0.5