variance inflation factor
I don't know if there's a good reason that vcov() is a "dpoMatrix" (from the Matrix package) rather than a plain old base-R matrix, but as.matrix() converts it harmlessly (and shouldn't have any ill effects on something that's already a matrix ...)
On Thu, Feb 22, 2018 at 11:01 AM, Fox, John <jfox at mcmaster.ca> wrote:
Dear Toni,
-----Original Message----- From: Toni Hernandez-Matias [mailto:ahmatias at gmail.com] Sent: Thursday, February 22, 2018 10:01 AM To: Fox, John <jfox at mcmaster.ca> Cc: r-sig-mixed-models at r-project.org Subject: Re: [R-sig-ME] variance inflation factor 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?
Sorry, I don't, but don't see why the general idea wouldn't apply here (as Ben mentioned in his response). By the way, the more general vif() function in the car package works for lme() in nlme but not for lmer() or glmer() in lme4 (because the result returned by vcov() for a "merMod" object isn't of class "matrix"). We should probably make it work. Best, John
Thank you again,
Antonio
On Thu, Feb 22, 2018 at 3:51 PM, Fox, John <jfox at mcmaster.ca
<mailto: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/
<http://socialsciences.mcmaster.ca/jfox/>
> -----Original Message-----
> From: R-sig-mixed-models [mailto:r-sig-mixed-models-bounces at r-
<mailto:r-sig-mixed-models-bounces at r->
> project.org <http://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 <mailto: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 <tel:%2B34-934035857>
<+34%20934%2003%2058%2057>
> FAX: +34-934035740 <tel:%2B34-934035740>
<+34%20934%2003%2057%2040>
> e-mail: ahernandezmatias at ub.edu
<mailto:ahernandezmatias at ub.edu>
>
>
***********************************************************
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-mixed-models at r-project.org <mailto: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 <mailto:ahernandezmatias at ub.edu> ***********************************************************