variance inflation factor
I don't (John might), but note that the computation depends only on
the sampling variance-covariance matrix of the fixed effects
(i.e. none of the machinery that is specific to (G)LMMs comes into
it). You might look into one of the books by Zuur et al.
John: the stuff about intercept names comes from Harrell's rms
package, so presumably he found some cases where the parentheses were
missing.
I'd probably use grepl("Intercept",nam) ...
On Thu, Feb 22, 2018 at 10:00 AM, Toni Hernandez-Matias
<ahmatias at gmail.com> wrote:
Dear John, Thank you very much for your message. Did you know a bibliographic reference for this method, specifically in the case of generalized linear mixed models? Thank you again, Antonio On Thu, Feb 22, 2018 at 3:51 PM, Fox, John <jfox at mcmaster.ca> wrote:
Dear Toni,
Yes, that looks reasonable, although I'm not sure why it's necessary to
test for more than one fixed-effect intercept at the beginning of the
fixed-effect coefficient vector and how an intercept could be named
"Intercept" rather than "(Intercept)". Assuming that there's a reason that
escapes me, here's a simplified version:
vif.lme <- function (fit) {
## adapted from rms::vif
v <- vcov(fit)
nam <- names(fixef(fit))
## exclude intercepts
ns <- sum(nam == "Intercept" | nam == "(Intercept)")
if (ns > 0) v <- v[-(1:ns), -(1:ns), drop = FALSE]
diag(solve(cov2cor(v)))
}
I hope this helps,
John
-----------------------------
John Fox, Professor Emeritus
McMaster University
Hamilton, Ontario, Canada
Web: socialsciences.mcmaster.ca/jfox/
-----Original Message----- From: R-sig-mixed-models [mailto:r-sig-mixed-models-bounces at r- project.org] On Behalf Of Toni Hernandez-Matias Sent: Thursday, February 22, 2018 7:28 AM To: r-sig-mixed-models at r-project.org Subject: [R-sig-ME] variance inflation factor Dear all, Could some help me to calculate Variance Inflation Factors of models
fitted
with glmer and lmer ?
I found the method I copy below but I am not sure it is correct:
vif.lme <- function (fit) {
## adapted from rms::vif
v <- vcov(fit)
nam <- names(fixef(fit))
## exclude intercepts
ns <- sum(1 * (nam == "Intercept" | nam == "(Intercept)"))
if (ns > 0) {
v <- v[-(1:ns), -(1:ns), drop = FALSE]
nam <- nam[-(1:ns)] }
d <- diag(v)^0.5
v <- diag(solve(v/(d %o% d)))
names(v) <- nam
v }
##la estimamos para el modelo 1
vif.lme(mod1)
Thank you very much in advance,
Antonio
--
*********************************************************
Antonio Hernandez Matias
Equip de Biologia de la Conservaci?
Departament de Biologia Evolutiva, Ecolog?a i Ci?ncies Ambientals
Facultat de
Biologia i Institut de Recerca de la Biodiversitat (IRBio) Universitat
de
Barcelona (UB) Av. Diagonal, 643
Barcelona 08028
Spain
Telephone: +34-934035857 <+34%20934%2003%2058%2057>
FAX: +34-934035740 <+34%20934%2003%2057%2040>
e-mail: ahernandezmatias at ub.edu
***********************************************************
[[alternative HTML version deleted]]
_______________________________________________ R-sig-mixed-models at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
--
*********************************************************
Antonio Hernandez Matias
Equip de Biologia de la Conservaci?
Departament de Biologia Evolutiva, Ecolog?a i Ci?ncies Ambientals
Facultat de Biologia i Institut de Recerca de la Biodiversitat (IRBio)
Universitat de Barcelona (UB)
Av. Diagonal, 643
Barcelona 08028
Spain
Telephone: +34-934035857
FAX: +34-934035740
e-mail: ahernandezmatias at ub.edu
***********************************************************
[[alternative HTML version deleted]]
_______________________________________________ R-sig-mixed-models at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models