Does it make sense for a partial correlation to be larger than a zero-order correlation?

This is probably demonstrating a fundamental lack of understanding of how partial correlations work.

I have 3 variables, x,y,z. When I control for z, the correlation between x and y increases over the correlation between x and y when z was not controlled for.

Does this make sense? I tend to think that when one controls for the effect of a 3rd variable, the correlation should decreases.

Thank you for your help!


Looking at the wikipedia page we have the partial correlation between X and Y given Z is given by:


So we simply require


The right hand side has a global minimum when ρXZ=ρYZ. This global minimum is 1. I think this should explain what’s going on. If the correlation between Z and Y is the opposite sign to the correlation between Z and X (but same magnitude), then the partial correlation between X and Y given Z will always be greater than or equal to the correlation between X and Y. In some sense the “plus” and “minus” conditional correlation tend to cancel out in the unconditional correlation.


I did some mucking around with R, and here is some code to generate a few plots.

partial.plot <- function(r){  
  r.xz<- as.vector(rep(-99:99/100,199))  
  r.yz<- sort(r.xz)  
  r.xy.z <- (r-r.xz*r.yz)/sqrt(1-r.xz^2)/sqrt(1-r.yz^2)  
  tmp2 <- ifelse(abs(r.xy.z)<1,ifelse(abs(r.xy.z)<abs(r),2,1),0)  
  r.all <-cbind(r.xz,r.yz,r.xy.z,tmp2)  
  mycol <- tmp2  
  mycol[mycol==0] <- "red"  
  mycol[mycol==1] <- "blue"  
  mycol[mycol==2] <- "green"  

so you submit partial.plot(0.5) to see when a marginal correlation of 0.5 corresponds to in partial correlation. The plot is color coded so that red area represents the “impossible” partial correlation, blue area where |ρ|<|ρXY|Z|<1 and the green area where 1>|ρ|>|ρXY|Z| Below is an example for ρXY=r=0.5

Partial correlation when marginal correlation is 0.5

Source : Link , Question Author : evt , Answer Author : GaBorgulya

Leave a Comment