scipy.spatial.distance.

корреляция#

scipy.spatial.distance.корреляция(u, v, w=None, центрированный=True)[источник]#

Вычислить корреляционное расстояние между двумя одномерными массивами.

Корреляционное расстояние между u и v, определяется как

\[1 - \frac{(u - \bar{u}) \cdot (v - \bar{v})} {{\|(u - \bar{u})\|}_2 {\|(v - \bar{v})\|}_2}\]

где \(\bar{u}\) является средним значением элементов u и \(x \cdot y\) является скалярным произведением \(x\) и \(y\).

Параметры:
u(N,) массивоподобный объект из чисел с плавающей точкой

Входной массив.

Устарело с версии 1.15.0: Комплексный u устарел и вызовет ошибку в SciPy 1.17.0

v(N,) массивоподобный объект из чисел с плавающей точкой

Входной массив.

Устарело с версии 1.15.0: Комплексный v устарел и вызовет ошибку в SciPy 1.17.0

w(N,) array_like из чисел с плавающей запятой, необязательный

Веса для каждого значения в u и v. По умолчанию None, что присваивает каждому значению вес 1.0

центрированныйbool, необязательно

Если True, u и v будет центрирован. По умолчанию True.

Возвращает:
корреляцияdouble

Корреляционное расстояние между 1-D массивом u и v.

Примеры

Найти корреляцию между двумя массивами.

>>> from scipy.spatial.distance import correlation
>>> correlation([1, 0, 1], [1, 1, 0])
1.5

Используя весовой массив, корреляция может быть рассчитана как:

>>> correlation([1, 0, 1], [1, 1, 0], w=[0.9, 0.1, 0.1])
1.1

Если центрирование не требуется, корреляция может быть рассчитана как:

>>> correlation([1, 0, 1], [1, 1, 0], centered=False)
0.5