Collinearity diagnostics (variance decomposition proportions, condition index, VIF, tableplot)
Updated 16 May 2017
A couple of Matlab functions for determining the degree and nature of collinearity in a regression matrix (also termed multicollinearity). Given a design matrix, the condition indices (ratio of largest singular value to each singular value), variance decomposition proportions, and variance inflation factors are returned. Belsley, Kuh, & Welsch  suggest a strategy for diagnosing degrading collinearity using the following conditions:
1) A singular value judged with a large condition index, and which is associated with
2) Large variance decomposition proportions for two or more covariates
The number of large condition indexes identifies the number of near dependencies among the columns of the design matrix. Large variance decomposition proportions identify covariates that are involved in the corresponding near dependency, and the magnitude of these proportions, in conjunction with the condition index, provides a measure of the degree to which the corresponding regression estimate has been degraded by the presence of collinearity. What is meant by "large" is not statistically precise, although numerical experiments by Belsley et al. indicate that the following ranges are useful:
Condition index, Collinearity
5 < CI < 10, weak
30 < CI < 100, moderate to strong
CI > 100, severe
and where a pair (or more) of variance decomposition factors > 0.5 warrant inspection.
The main function prints a summary table to stdout when called without outputs, which may be sufficient to identify problems with smaller design matrices. For models with more covariates, I've included a function to make a collinearity tableplot , which allows one to more easily determine the degree of collinearity and pinpoint problematic covariates. More information about tableplots can be found at Michael Friendly's site, where he's posted R software for making these plots.
Visit https://github.com/brian-lau/colldiag for more info.
Belsley, DA, Kuh, E, Welsch, RE (1980). Regression diagnostics: Identifying influential data and sources of collinearity. Wiley
Friendly, M, Kwan, E (2009). Where's Waldo: Visualizing collinearity diagnostics. The American Statistician, 63(1):56-65
Brian Lau (2021). Collinearity diagnostics (variance decomposition proportions, condition index, VIF, tableplot) (https://github.com/brian-lau/colldiag), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!