# High VIF after removing intercept in R

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

• 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? – Roland Aug 23 '16 at 13:19
• 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. – Jason Morgan Aug 23 '16 at 13:32
• 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? – 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.