# What level of correlation coefficient suggests correlation?

In Python (and Numpy), I recently did:-

a = np.random.randint(0,256,1000)

b = np.random.randint(0,256,1000)


and when I calculate the correlation coefficient $$r$$ using:-

np.corrcoef( a,b )


I get a value of 0.07944437. Rounded, that's 0.08, 8% or about $$1 \over 13$$ th.

$$r$$ is said to typically range -1.0 thru 0.0 to +1.0. I've never had a 0.0 and don't think that it's possible as random correlations can always be found between any two series. It's like asking "How small is small?" 0.08 doesn't seem that small. Yet clearly $$a$$ is not correlated to $$b$$ as both originate from the good quality Mersenne Twister deep inside Python.

So if $$r = 0$$ is empirically impossible, when does it actually become significant and suggest a real correlation?

Note 1. There is of course the 68–95–99.7 rule. This covers a $$3 \delta$$ range of certainty. The atomic guys use $$5 \delta$$ to confirm a discovery. Do signal guys do anything similar, and if so, how would they apply it?

Note 2. With the greatest of respect, How do I know quantitatively if the correlation of two time series is significant? seems ambiguous.

• It is a percentage between -100% (completely negatively correlated) and +100%. So 99% is significant and 8% is insignificant. Random noise will provide such a correlation and in fact you can derive the signal to noise ratio from the correlation coefficient. So your question of how significant it is would be the same as asking how good of a grade and 82% on a test is. – Dan Boschen Nov 12 '18 at 17:41
• r is a parameter and you can calculate a confidence region or p value for it. The range where something is uncorrelated as a hypothesis is r=0 and you can use a two sided p value as your test or the exceedance probability of a confidence region. You are looking for a small probability that r=0. The actual threshold is application dependent – user28715 Nov 12 '18 at 17:42
• Hi: if you want to implement the suggestion of Stanley, you need to transform r in order order to obtain something closer to normality. I forget the details but look up fisher transform or hopefully this is adequate. en.wikipedia.org/wiki/Fisher_transformation. – mark leeds Nov 12 '18 at 20:56
• @DanBoschen See note 1. An 8% correlation is well outside of most scientists' accepted levels of confidence in proving a hypothesis. They would reject the null hypothesis @ < $2 \delta$. A music test ultimately officiated by a politician is not a good counter example. – Paul Uszak Nov 12 '18 at 22:55
• @PaulUszak I agree- I said I would consider it insignificant. – Dan Boschen Nov 12 '18 at 23:12

One way to look at it is that $$r^2$$ (yes, I do mean $$r^2$$, not $$r$$ or $$|r|$$) is the fraction of the variance of the target (the series A) that is explained by the estimator (a linear function $$\alpha + \beta B$$ of the series B). Note that if Series A had variance $$\sigma^2$$, then the variance of $$(A - (\alpha + \beta B))^2$$ (what B cannot explain about A) is $$(1-r^2)\sigma^2$$. So, if $$|r| < \frac{1}{\sqrt{2}} \approx 0.707\ldots$$, less than half the variance has been explained, and so one viewpoint is that a correlation of less than $$70\%$$ or so suggests that the linear estimator being considered here is not all that great.
• No, the question that you ask is "Is this correlation significant?" which has a straghtforward Yes or No answer, and my recommendation is that any $|r|$ smaller than $\frac{1}{\sqrt{2}}$ should be considered insignificant. If you want a "confidence interval", take it to be $[-1,-1/\sqrt{2}] \cup [1/\sqrt{2}, +1]$; an $r$ value in the stated interval should be considered significant, while anything else should be considered insignificant. – Dilip Sarwate Nov 15 '18 at 15:27