[R] Probable Error in fmsb package

Heinz Tuechler tuechler at gmx.at
Thu Dec 31 09:32:05 CET 2015

Anindya Sankar Dey wrote/hat geschrieben on/am 30.12.2015 07:35:
> Hi All,
> The fmsb package has a function called Variance Inflation Factor and it
> states the definition of the function as follows:-
> "To evaluate multicolinearity of multiple regression model, calculating the
> variance inflation factor (VIF) from the result of lm(). If VIF is more
> than 10, multicolinearity is strongly suggested.
> "
> ​The function computes VIF of a model as 1/(1-R^2) where R^2 is the
> coefficient of determination.
> Now nowhere in literature I have come across this definition of VIF, as VIF
> is always computed at individual variable level. Though the structure is
> almost the same, R^2 in theoretical VIF is the partial correlation
> coefficient.
> ​I only came aware when lots of freshers from non statistics background I
> interviewed for analytics position answered that the only definition of VIF
> they know is 1/(1 - Coeff. of Determination), and there is a R package
> which calculates VIF like that.
> After researched I found that such a function indeed exist in fmsb package.
> Please help me understand has an alternate definition of Variance Inflation
> Factor has ever emerged in theory? Does it really make sense to have VIF at
> a model level, as it does not help in solving the problem of
> multicollinearity during model building.
> And if I am right, what steps I should do about it.
Dear Anindya,

to me it seems clear from the example on the help page that VIF() is not 
intended to be applied to the model of interest, but to separate models 
for each covariable.

The model of interest in the example is
# the target multiple regression model
res <- lm(Ozone ~ Wind+Temp+Solar.R, data=airquality)

The VIF is calculated on submodels for each covariate.
# checking multicolinearity for independent variables.
VIF(lm(Wind ~ Temp+Solar.R, data=airquality))
VIF(lm(Temp ~ Wind+Solar.R, data=airquality))
VIF(lm(Solar.R ~ Wind+Temp, data=airquality))

Does that agree with your usual definition of a variance inflation factor?

best regards,


More information about the R-help mailing list