I have 10 different species with presence/absences data, as well as 6 different covariates relating to the design of marinas, including 3 continuous (lengths of walls, pontoons and groynes) and 3 factor variables (distance from freshwater, type of entrance and marina location). I have made binomial GLMs to assess which design elements of a marina which most influence the presence of each species.

However, when I run variance inflation factor (VIF) values to assess if there is collinearity among the covariates, the covariate ‘location’ only comes up as collinear in some of my models, even tho they all contain the same covariates... why is this? Should I just exclude 'location' from all my models (I can see why it would be collinear)? Or should I include/exclude it from different models based on the models VIF?

The following are two of my 10 models, the remainder follow the same format but with different response variables (all binary presence/absence data)

bin.fit1<- glm(S_clava ~ as.factor(fresh) + wall + groyne + pontoon + mooring + as.factor(entrance) + as.factor(location), family= binomial, data= data1)

bin.fit2<- glm(C_mutica ~ as.factor(fresh) + wall + groyne + pontoon + mooring + as.factor(entrance) + as.factor(location), family= binomial, data= data1)
  • 1
    $\begingroup$ Do all the models have the same data? $\endgroup$ – Peter Flom Aug 2 '13 at 16:09
  • 1
    $\begingroup$ I don't think the calculation of the VIF depends on the outcome variable at all, so if the same set of predictors is used in all models, as you've indicated, this shouldn't happen. If you're using a built-in function to calculate the vif (e.g. the vif function in the faraway package) it does operate on the fitted model, indicating that it only uses data used to fit the model to calculate the VIFs. So, as I think @Peter is suggesting, if different subsets of data are used for the different model (e.g. due to different missingness patterns in the outcome variable), that would explain it. $\endgroup$ – Macro Aug 2 '13 at 16:19
  • 1
    $\begingroup$ BTW, the VIFs do not have the usual interpretation (i.e. the factor by which the standard errors are inflated due to collinearity) unless you're doing OLS regression. While it may be an informal measure of collinearity in other situations, like the binomial GLM you're using here, it's not clear exactly how to interpret its value and it's not obvious that the same "rule of thumb" (e.g. VIF > 5 is bad) is applicable. $\endgroup$ – Macro Aug 2 '13 at 16:21
  • $\begingroup$ Thanks for the responses. Yes, all the models have exactly the same data with the same number of observations. The only thing that changes is the number of presences or absences in the response variable. It's very strange! I'm using the 'vif' function in the 'car' package, and excluding covariates with VIF>3 as suggested in Zuur et al (2009) (although I realise this is quite stringent, and others use >5 or >10). $\endgroup$ – Lynx Aug 2 '13 at 17:08

Your Answer

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

Browse other questions tagged or ask your own question.