Explore Library
Code QuizIntermediate

Pearson Correlation Coefficient

Spotting the wrong denominator in a Pearson correlation function.

Codepython
import math

def pearson(x, y):
    n = len(x)
    mx, my = sum(x) / n, sum(y) / n
    cov = sum((x[i] - mx) * (y[i] - my) for i in range(n))
    sx = math.sqrt(sum((x[i] - mx) ** 2 for i in range(n)))
    sy = math.sqrt(sum((y[i] - my) ** 2 for i in range(n)))
    return cov / (sx + sy)

print(pearson([1, 2, 3], [2, 4, 6]))

What is the bug in this Pearson correlation code?