I have $N$ samples of $D$ variables, for which I want to study the correlation. Specifically, I want to know if any of these variables are correlated. I can get estimates and a matrix of p-values in R using Hmisc::rcorr, but from the documentation for this function it seems no multiple testing correction is applied. A Bonferroni correction, dividing my threshold by $D(D-1)/2$, seems too conservative, since intuitively it doesn't seem like I really have that many independent tests (is the correlation of A and B, and B and C, and A and C, really 3 independent tests?). What would be a more appropriate strategy?


1 Answer 1


Let $(Y_{i1},...,Y_{iD})$ be a random vector, and $ i =1 , .., n$. Assume $(Y_{i1},...,Y_{iD})$ and $(Y_{j1},...,Y_{jD})$ are independent for $i\ne j$.

Fit two models:

Model 1: $$\left(\begin{matrix} Y_{i1}\\...\\Y_{iD}\end{matrix}\right)\sim N\left[\left(\begin{matrix} \mu_1\\...\\ \mu_D \end{matrix}\right),\left(\begin{matrix} \sigma_1^2&...&\sigma_{1D}\\...&...&...\\ \sigma_{1D}&... &\sigma_D^2 \end{matrix}\right)\right] $$

Model 2: $$\left(\begin{matrix} Y_{i1}\\...\\Y_{iD}\end{matrix}\right)\sim N\left[\left(\begin{matrix} \mu_1\\...\\ \mu_D \end{matrix}\right),\left(\begin{matrix} \sigma_1^2&...&0\\...&...&...\\ 0&... &\sigma_D^2 \end{matrix}\right)\right]$$

Then perform the likelihood ratio test. The null hypothesis is all of the covariance are zero (corresponding to all correlation coefficients are zero), and the alternative hypothesis is at least one correlation coefficient is not zero.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.