I'm doing a regression using R.Initially I used the fit=lm(data).Got all of my variables are significant including intercept.I checked the VIF using vif(fit) & got maximum VIF as 2.5. But my customer wants model without intercept and I don't have any option other than removing intercept. So I used following line of code fit=lm(A ~ B+C+D+E+F-1,data=data) , I'm just coding the variables as it is client data & I can't share that.The data set I used in first model is same as the data set used in second model with same set of variables.Only in second model I removed intercept forcefully. But after running the model I'm seeing my maximum vif is coming 2079.30. I'm not able to understand the reason for such high vif as I used to think that VIF determines how much the variance of a coefficient is “inflated” because of linear dependence with other predictors & it does not depend on intercept. Can you expert please help me understand why VIF is drastically changed after removing intercept in R

  • 3
    $\begingroup$ It's generally (outside very specific cases) not sensible to exclude the intercept. If the client forces you to do something like this it doesn't make sense to care about further statistical issues. In fact, if they know best how to do the statistical analysis, what is your role there? $\endgroup$ – Roland Aug 23 '16 at 13:19
  • 1
    $\begingroup$ The function car::vif provides an informative warning, "No intercept: vifs may not be sensible" when you try to calculate VIFs on models without an intercept. $\endgroup$ – Jason Morgan Aug 23 '16 at 13:32
  • $\begingroup$ Thanks a lot for your response. But how does intercept helps determining VIF? Can you please share with me some link(/s) so that I can read? $\endgroup$ – Python123 Aug 23 '16 at 14:37

VIF depends on the intercept because there is an intercept in the regressions used to determine VIFs as described in "Step 1" here. When the intercept is out, then $R_i^2$ is not meaningful because it may be negative, in which case one can get VIF < 1, implying that the $s.e.(\beta_i)$ would go up if predictor $i$ were uncorrelated with the other predictors. You don't need to keep the intercept in the original model, but keep it for VIF computation.

  • $\begingroup$ Could you please explain the upward movement of se (beta i) when it is uncorrelated with the other predictors? Idealy, when two predictors are uncorrelated, their se must be low allowing them to be significant if their estimates are high enough. $\endgroup$ – Shreyo Mallik Mar 15 '17 at 5:45
  • $\begingroup$ How would the ratio of two sums of squared numbers ever become negative? $\endgroup$ – Benjamin Christoffersen Apr 24 '18 at 9:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.