I am wondering if there is a method to decompose variance inflation factor (VIF) of variables, to determine the strength of correlation between one variable and other variables.

Is there a method that says, for variable 1, x% of VIF is coming from variable 2, y% of VIF is coming from variable 3, and z% of VIF is coming from variable 4, such that x% + y% + z% = 100%.

Thank you.


1 Answer 1


One possibility could be the square of partial correlation. But I doubt they would add up to 100% of the total variability, if they do, you'd probably have a set of perfectly collinear variables and that would be thrown out of the model by most software automatically.

In your case, where the dependent variable is predicted with x, y, and z. The information required to compute the VIF of x is actually from the model:

$$x = \beta_0 + \beta_1 y + \beta_2 z$$

So on so forth. Hence, you may look at the partial correlation between x and y adjusted for z, and between x and z adjusted for y, to get the pair-level information you're after.

enter image description here

enter image description here

Stata codes used:

sysuse auto, clear

reg price mpg weight length

estat vif

pcorr weight length mpg
pcorr length weight mpg
pcorr mpg weight length

The sums of the squared partial correlations are linearly related to the VIF, so technically, you may say that: Of the 10.31 VIF for weight, 90.4% (.7216/(.7216+.0767)) is from the variable length. But, this could risk blowing some of the variables with low VIF to begin with out of proportion. For instance, mpg is not that collinear with the rest of the variables, yet, you may still end up concluding 73% of the VIF in mpg was due to weight. So, beware of that and try to keep the whole set of analysis in context.

  • $\begingroup$ Hi Penguin_Knight, Thank you so much for your reply, and this is what I was looking for! For now, I do not have knowledge about partial correlation but I will do more research. One more question. Would this methodology (squared partial correlation) be still valid for many variables (like 60 variables)? 30 of 60 variables have high VIFs (>7.5) and fewof them have crazy VIFs (>20). I am trying to perform this analysis to see how each of highly correlated variables is related to others. Thanks!! $\endgroup$
    – JungleDiff
    Aug 3, 2018 at 15:56

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.