форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
25 строки
464 B
Python
25 строки
464 B
Python
# Модуль 2: коэффициент корреляции Пирсона
|
|
import math
|
|
|
|
def correlation(l1, l2):
|
|
n = min(len(l1), len(l2))
|
|
x = l1[:n]
|
|
y = l2[:n]
|
|
|
|
sx = sum(x)
|
|
sy = sum(y)
|
|
|
|
sxx = 0
|
|
syy = 0
|
|
sxy = 0
|
|
|
|
for i in range(n):
|
|
sxx += x[i] * x[i]
|
|
syy += y[i] * y[i]
|
|
sxy += x[i] * y[i]
|
|
|
|
num = n * sxy - sx * sy
|
|
den = math.sqrt((n * sxx - sx * sx) * (n * syy - sy * sy))
|
|
|
|
return num / den
|