I've seen a claim "Pearson's correlation coefficient assumes normality" sometimes. The three answers above explain why the population needs to be normal - the summary is that:
・the variates may have some association other than the correlation, but the Pearson's correration coeff can't tell it anyway, thus it's exhaustive only when bivariate normal is the case.
・the range gets narrower than -1 ~ +1 when bivariate normal is not the case. Especially, the accepted answer in Related2 demonstrates that normal vs lognormal, for example, can get neither -1 nor +1 at its best.
However, uniform vs uniform, for example, apparently can achieve the -1 or +1 coefficient. A trivial demo with Python program:
# This is virtually the same as the demo in Related2 # except here uniform vs uniform is used. import numpy as np xs = np.random.uniform(2, 5, size=10**5) ys = np.random.uniform(1, 2, size=10**5) xs.sort() ys.sort() np.corrcoef(xs, ys)[0, 1] # 0.99998421283590666
And now I'm completely lost. Where is the origin of "Pearson's correlation assumes normality" and what is the justification?