correlation#
- scipy.spatial.distance.correlation(u, v, w=None, centered=True)[Quelle]#
Berechnet die Korrelationsdistanz zwischen zwei 1D-Arrays.
Die Korrelationsdistanz zwischen u und v ist definiert als
\[1 - \frac{(u - \bar{u}) \cdot (v - \bar{v})} {{\|(u - \bar{u})\|}_2 {\|(v - \bar{v})\|}_2}\]wobei \(\bar{u}\) der Mittelwert der Elemente von u ist und \(x \cdot y\) das Skalarprodukt von \(x\) und \(y\) ist.
- Parameter:
- u(N,) array_like of floats
Eingabearray.
Veraltet seit Version 1.15.0: Komplexe u sind veraltet und werden in SciPy 1.17.0 einen Fehler auslösen.
- v(N,) array_like of floats
Eingabearray.
Veraltet seit Version 1.15.0: Komplexe v sind veraltet und werden in SciPy 1.17.0 einen Fehler auslösen.
- w(N,) array_like of floats, optional
Die Gewichte für jeden Wert in u und v. Standard ist None, was jedem Wert ein Gewicht von 1,0 gibt.
- centeredbool, optional
Wenn True, werden u und v zentriert. Standard ist True.
- Rückgabe:
- correlationdouble
Die Korrelationsdistanz zwischen den 1D-Arrays u und v.
Beispiele
Findet die Korrelation zwischen zwei Arrays.
>>> from scipy.spatial.distance import correlation >>> correlation([1, 0, 1], [1, 1, 0]) 1.5
Mit einem Gewichtungsarray kann die Korrelation wie folgt berechnet werden:
>>> correlation([1, 0, 1], [1, 1, 0], w=[0.9, 0.1, 0.1]) 1.1
Wenn keine Zentrierung benötigt wird, kann die Korrelation wie folgt berechnet werden:
>>> correlation([1, 0, 1], [1, 1, 0], centered=False) 0.5