Correlations between z-transformed correlation coefficients

effect size
correlation
distribution theory
meta-analysis
Author

James E. Pustejovsky

Published

June 6, 2024

For a little meta-analysis project that I’m working on with Jingru, we are dealing with a database of correlation coefficients, where some of the included studies report correlations for more than one instrument or sub-scale for one of the relevant variables. This leads to every meta-analytic methodologist’s favorite tongue-twister of distribution theory: inter-correlated correlation coefficients. Fortunately, Grandpa Ingram worked out the distribution theory for this stuff long ago (Olkin and Siotani, 1976; reviewed in Olkin and Finn, 1990).

Suppose that we have three variables, a, b, and c, where b and c are different measures of the same construct. From a sample of size N, we have correlation estimates rab and rac, both of which are relevant for understanding the underlying construct relation. These correlations are estimates of underlying population correlations ρab and ρac respectively, and the population correlation between b and c is ρbc. Typically, we would analyze the correlations after applying Fisher’s variance stabilizing and normalizing transformation. Denote the Fisher transformation as Z(r)=12ln(1+r1r)), with derivative given by Z(r)=11r2. Let zab=Z(rab), with the other transformed correlations defined similarly. The question is then: how strongly correlated are the sampling errors of the resulting effect size estimates—that is, what is cor(zab,zac)?

Olkin and Finn (1990) give the following expression for the covariance between two sample correlation coefficients that share a common variable: Cov(rab,rac)=1N1[(ρbc12ρabρac)(1ρab2ρac2)+12ρabρacρbc2]. If correlations are converted to the Fisher-z scale, then we can use a delta method approximation to obtain an expression for the covariance between two sample z estimates that share a common variable. Using N3 in place of N1, the covariance between the z-transformed correlations is approximately Cov(zab,zac)=Z(ρab)×Z(ρac)×Cov(rab,rac)=1N3(ρbc12ρabρac)(1ρab2ρac2)+12ρabρacρbc2(1ρab2)(1ρac2). The corresponding correlation is thus cor(zab,zac)=(ρbc12ρabρac)(1ρab2ρac2)+12ρabρacρbc2(1ρab2)(1ρac2).

In the context of a meta-analysis, we might expect that the focal correlations will usually be very similar, if not exactly equal. For simplicity, let’s assume that they’re actually identical, ρab=ρac. The sampling correlation then simplifies further to
cor(zab,zac)=(ρbc12ρab2)(12ρab2)+12ρab2ρbc2(1ρab2)2=1(1ρbc)[2ρab2(3ρbc)]2(1ρab2)2. To apply this formula, we need to specify values of ρab and ρbc. The following table gives the resulting correlation between z-transformed sample correlations for a few values of ρab=ρac and ρbc.

Code
ccc <- function(r_ab, r_bc) {
  1 - (1 - r_bc) * (2 - r_ab^2 * (3 - r_bc)) / (2 * (1 - r_ab^2)^2)
}

r_bc <- seq(0.4, 0.9, 0.1)
data.frame(
  r_bc = r_bc, 
  r_ab_20 = ccc(0.20, r_bc),
  r_ab_25 = ccc(0.25, r_bc),
  r_ab_33 = ccc(0.33, r_bc),
  r_ab_40 = ccc(0.40, r_bc),
  r_ab_50 = ccc(0.50, r_bc)
) |>
  knitr::kable(
    digits = 3, 
    col.names = c(
      "$\\rho_{bc}$", 
      paste0("$\\rho_{ab} = ", formatC(c(0.20, 0.25, 0.33, 0.40, 0.50),format = "f", digits = 2), "$")
    ),
    escape = FALSE,
    caption="{.sm}"
  )
ρbc ρab=0.20 ρab=0.25 ρab=0.33 ρab=0.40 ρab=0.50
0.4 0.383 0.373 0.351 0.327 0.280
0.5 0.485 0.476 0.456 0.433 0.389
0.6 0.587 0.579 0.562 0.542 0.502
0.7 0.689 0.683 0.670 0.653 0.620
0.8 0.793 0.788 0.778 0.766 0.742
0.9 0.896 0.894 0.888 0.882 0.869

When the focal correlations are fairly small, then the sampling correlation is the same order of magnitude as ρbc. It’s only when the focal correlations are stronger that the sampling correlation is noticeably attenuated from ρbc, and the degree of attenuation is weaker when ρbc is larger. Thus, for strongly related instruments or sub-scales, cor(zab,zac) won’t be much different from ρbc.

Back to top