How to Test for Multicollinearity Using VIF (Variance Inflation Factor)

Variance inflation factor is the single most misunderstood diagnostic I check when a dissertation student sends me their chapter 4 for review. In twelve years of guiding students through regression analysis, I keep seeing the same three mistakes.

Nobody runs it. Somebody runs it but reads the wrong column. Or somebody panics over a number that was never a real problem.

This guide fixes all three: what VIF is, how to calculate it in every software your university is likely to ask for, how to read the result, and what to do when it looks bad.

What Is Multicollinearity and Why Should You Care

Multicollinearity happens when two or more independent variables in your regression model are strongly related to each other, so they overlap and explain the same piece of the outcome twice. Your model can still run fine on the surface, and R-squared may even look healthy. The real damage happens underneath, in the standard errors and p-values of your coefficients.

How Multicollinearity Sneaks Into Your Regression Model

It usually enters through variables that are conceptually different but statistically close, like job satisfaction and organisational commitment, or GDP growth and industrial output. Interaction terms and squared terms are frequent offenders too, since a variable and its square are naturally correlated. A dummy variable trap causes the same problem more mechanically, where every category of a categorical variable gets included instead of leaving one out as the reference group.

I once reviewed a marketing dissertation where “brand trust” and “brand loyalty” were entered as separate predictors. Their correlation was above 0.85, and the student had no idea until we ran a multicollinearity regression diagnostic together.

What Happens to Your Results When It’s Ignored

Coefficients stay unbiased on average, but their standard errors inflate. A genuinely important predictor can look statistically insignificant simply because the model cannot separate its effect from a correlated one. Confidence intervals widen and signs can flip between similar samples. A VIF check exists to catch this before your examiner does.

What Is the Variance Inflation Factor (VIF)

Variance inflation factor (VIF) is a regression diagnostic that measures how much the variance of a coefficient increases because that predictor is correlated with the other predictors in the model. A VIF of 1 means no correlation at all. Anything meaningfully above 1 means part of that variable’s variance is being explained by its co-predictors, not the outcome.

The VIF Formula Explained Simply

VIF = 1 / (1 – R²ⱼ)

R²ⱼ is the R-squared from regressing predictor Xⱼ against every other predictor, ignoring the dependent variable completely. VIF is not read off your main regression output. It comes from this separate, hidden auxiliary regression that most software runs behind the scenes.

VIF vs Tolerance: Two Sides of the Same Coin

Tolerance is simply 1 / VIF, or 1 – R²ⱼ. SPSS reports tolerance by default alongside VIF, while Stata and R lead with VIF. A tolerance below 0.20 equals a VIF above 5, and a tolerance below 0.10 equals a VIF above 10, so know both conversions.

How to Interpret VIF Values (With a Threshold Table)

VIF RangeInterpretation
1No correlation with other predictors
1 to 5Moderate, generally acceptable
5 to 10Concerning, worth investigating
Above 10Severe multicollinearity

VIF 1 to 5, 5 to 10, Above 10: What Each Range Means

A VIF close to 1 is rare with more than four or five predictors. Between 1 and 5 is where most well-designed models land, and it is usually fine. Between 5 and 10 is a yellow flag worth investigating variable by variable. Above 10 is where I would not trust an individual coefficient without addressing it.

Why “Above 10” Isn’t a Universal Rule

CFI’s popular VIF explainer, like most finance-focused guides, presents 5 and 10 as fixed cutoffs without ever mentioning sample size in the same breath. I disagree with reading it that way. A large sample above 1000 can tolerate a VIF of 8 or 9 without real damage, while a small dissertation sample of 80 needs to be far stricter.

Even Field (2018), a textbook most of my students already own, calls the VIF-above-10 cutoff a software convention rather than a statistical law, since SPSS documentation and most textbooks treat 10 as the conventional cutoff while several social science journals still hold the line at 5. A model built purely for prediction, not for interpreting coefficients, can also carry a higher VIF than most blog posts admit.

VIF vs the Correlation Matrix, and When to Check the Condition Index

A pairwise correlation matrix only catches two-variable relationships. Two predictors can each look clean on their own and still combine to inflate a third variable’s VIF, a pattern no correlation matrix will show you. That gap is exactly why VIF exists as a separate check.

When your VIF sits in an uncomfortable middle zone, the condition index and eigenvalue decomposition give you a second opinion. A condition index above 30 flags severe collinearity that a borderline VIF can understate, and SPSS and Stata already print both numbers next to VIF, so glance at them before ruling on a borderline case.

How to Calculate VIF Step by Step

  1. Regress each independent variable against all the other independent variables.
  2. Record the R-squared from each auxiliary regression.
  3. Apply VIF = 1 / (1 – R²) for that variable.

Calculating VIF in SPSS

Analyze, then Regression, then Linear. Add your variables, click Statistics, tick Collinearity Diagnostics. SPSS prints VIF and Tolerance in the Coefficients table directly.

Calculating VIF in Stata (estat vif and collin)

Run regress, then estat vif. This works after OLS (ordinary least squares) regression but not after logit, xtreg, or svy, which trips up panel and survey data users. UCLA’s statistical consulting group flags this exact gap and recommends the user-written collin command instead, since it runs independently of the estimation command.

A student of mine on xtreg had estat vif fail outright. Switching to collin on the same variable list solved it in a minute.

Calculating VIF in R

Fit with lm(), load car, run vif(model). For categorical predictors with more than two levels, R switches automatically to generalised VIF (GVIF), a version adjusted for the extra degrees of freedom those categories add.

Calculating VIF in Python

With statsmodels, import variance_inflation_factor, build a dataframe of predictors with a constant added, and loop through each column. This is the most code-heavy of the five methods.

Calculating VIF in Excel (Manual Method)

Excel has no built-in VIF function. Run a separate regression for each independent variable against the rest using the Data Analysis ToolPak, note each R-squared, and apply the formula yourself. It works, but gets slow past four or five predictors, which is where a dedicated tool saves time.

Use Our VIF Calculator

If you would rather skip the manual regression-within-a-regression process, our VIF calculator runs the auxiliary regressions for you and returns VIF and tolerance instantly. You only need to enter your variables’ numeric values, not anything identifying, so there is nothing sensitive at stake even if your dataset is still a work in progress. It pairs well with our Durbin-Watson calculator for autocorrelation. Our Breusch-Pagan test calculator covers heteroskedasticity too, since examiners usually expect all three regression diagnostics checked together, not VIF alone.

What Causes High VIF and How to Fix It

Dropping or Combining Correlated Variables

If two variables are conceptually overlapping, like brand trust and brand loyalty earlier, combine them into a composite score through factor analysis, or drop the theoretically weaker one, not the inconvenient one.

Centering Variables for Interaction Terms

If a high VIF appears only on an interaction or squared term, mean-centre the original variables before creating it. This alone resolves a large share of the inflated VIF cases I see, because the correlation was created by the multiplication, not the actual data.

When You Should Not Fix It At All

If your goal is prediction rather than explaining individual coefficients, a moderately high VIF does not need aggressive fixing. I have pushed back on examiners who flagged a VIF of 6 as an automatic failure when the study’s purpose was forecasting, not causal inference.

How to Report VIF in Your Dissertation Methodology Chapter

State which variables you tested, the VIF for each, the threshold you used and why, and what action you took, if any. Reviewers want the decision-making, not just the number.

Sample Reporting Language (APA Style)

“Multicollinearity was assessed using the variance inflation factor (VIF). All VIF values ranged from 1.12 to 3.47, below the commonly applied threshold of 5, indicating no serious multicollinearity concern among the predictor variables (insert your source here, e.g., Field, 2018).”

Adjust the citation and threshold to your field’s convention. Whatever you organise in your dissertation chapters should match exactly what you report here.

My Take After Reviewing VIF on 100+ Dissertations

Most articles treat VIF interpretation as pass or fail. My experience says it is closer to a conversation with your own data than a rule applied blindly.

I worked with an economics student whose Stata output showed a VIF of 14 on a lagged GDP variable. Every generic guide would have told her to drop it. We kept it, since dropping it would have broken the theoretical model she was testing.

Instead, we reported it transparently with a justification from the literature, and her examiners accepted the reasoning without issue.

That is the real skill: knowing when a threshold applies to your specific research question, not memorising it.

If you are unsure whether your dissertation needs this level of scrutiny, read how to know if you need a dissertation expert before your viva, not after. An unreported VIF check can quietly turn into the kind of red flag examiners associate with a poorly checked dissertation.

Getting this right also matters beyond the viva. Employers do look closely at how a dissertation was actually put together, and if you are aiming for a competitive academic job after graduation, this is exactly the kind of methodological rigour that gets checked.

If R feels unfamiliar and you are stuck on car::vif(), our R programming tutor sessions cover exactly this.

If the whole write-up feels overwhelming, not just this one test, that is usually the point where finding the right dissertation mentor matters more than any calculator. For broader chapter 4 support, our statistics tutoring service is built around this kind of regression diagnostics work.

What is a good VIF value?

A VIF close to 1 is ideal, and up to 5 is generally acceptable. Above 5 needs a closer look, and above 10 usually needs action.

Can VIF be less than 1?

No. Since VIF is 1 / (1 – R²ⱼ) and R²ⱼ cannot be negative, VIF has a floor of exactly 1.

Does multicollinearity bias my regression coefficients?

No, coefficients stay unbiased on average. The damage is to standard errors and significance, not the coefficient values themselves.

What’s the difference between VIF and tolerance?

Tolerance is the inverse of VIF, calculated as 1 – R²ⱼ. They convey identical information on opposite scales.

Can I check VIF for logistic regression?

Yes, though software calculates it from the linear relationships among predictors, not the logistic model itself. In Stata, use collin since estat vif will not run after logit.

Does a high VIF always mean I should remove a variable?

No. If the variable is theoretically essential, consider centering, combining, or reporting the VIF with justification instead.

Is a VIF of 10 always too high?

Not always. A large sample can absorb a VIF of 10 without major problems, while a small dissertation sample may need to treat even a VIF of 6 with caution.

Should I check a correlation matrix instead of VIF?

No, use both. A correlation matrix only catches two-variable overlap, while VIF catches a variable overlapping with several others combined, which is the more common real-world problem.

Sources

Author: Siddharth Gupta, Independent Statistical Analyst | LinkedIn

Perfect for students, researchers, and professionals looking to build real statistical skills.