[R-sig-ME] Perfectly correlated random effects (when they shouldn't be)

Paul Buerkner paul.buerkner at gmail.com
Sat Jul 18 20:40:23 CEST 2015


I managed to fit the models with bayesian techniques using the package brms.

Because your data is so huge, I decided to run only 500 iterations, of
which 100 are warmup (i.e. burnin). As brms uses Stan on the backend, the
quality of the samples is relatively high so that 400 markov samples should
be enough for our purposes.

Below I present the results of the maximal model as well as the model
withour any random effects for x1 and x2. The related plots are attached.

First, the maximal model (fit1_brm):

Family: bernoulli (logit)
Formula: y ~ x1 + x2 + (1 | country) + (1 | country:wave) + (1 + x1 +
x2 | region)
   Data: data (Number of observations: 212570)
Samples: 1 chains, each with n.iter = 500; n.warmup = 100; n.thin = 1;
         total post-warmup samples = 400

Random Effects:
~country (Number of levels: 82)
              Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
sd(Intercept)     0.59      0.08     0.44     0.75        140    1

~country:wave (Number of levels: 143)
              Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
sd(Intercept)     0.42      0.04     0.34     0.51        148    1

~region (Number of levels: 6)
                  Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
sd(Intercept)         0.24      0.20     0.01     0.77        300    1
sd(x1)                0.41      0.38     0.02     1.44        398    1
sd(x2)                0.57      0.45     0.03     1.75        289    1
cor(Intercept,x1)     0.04      0.47    -0.84     0.86        400    1
cor(Intercept,x2)    -0.20      0.46    -0.90     0.70        400    1
cor(x1,x2)           -0.14      0.50    -0.92     0.87        400    1

Fixed Effects:
          Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
Intercept    -0.61      0.15    -0.91    -0.36        400    1
x1            0.43      0.39    -0.31     1.20        400    1
x2            0.02      0.40    -0.69     0.81        344    1

Samples were drawn using NUTS(diag_e). For each parameter, Eff.Sample is a
crude measure of effective sample size, and Rhat is the potential scale
reduction factor on split chains (at convergence, Rhat = 1).




>From what I see, the results differ from lme4 in four aspects.

1. Indeed, there seems to be not enough evidence in the data to estimate
the random effects correlations reasonably, as implied by the huge CIs. The
Estimates (means in this case) are close to 0 instead of -1 or 1, which
seems more intuitive from my perspective.
2. While the random effects standard deviations of country and country:wave
are similar to lme4 (their posterior distributions are nearly symmetric;
see plot_fit1_brm in the attachment), the sds of region are considerably
larger than the ones estimated by lme4. This is because the mode is always
smaller than the mean when the distributions a right skewed. Especially,
from my perspective, they do not seem to be so small that removing them
from the model would be justified (I am currently running the same model
without correlations but the results shouldnt be too different).
3. The estimate of x1 is a bit smaller than in lme4 (0.43 against 0.49).
Unfortunately, I do not have any immediate explanation for this...
4. The standard error of x1 has nearly doubled as compared to lme4 (0.39
against 0.2).  As a result, the CI is almost twice a large.  Most likely,
this is because the random effects sd of x1 is much larger than in lme4,
which also affects the standard error of the fixed effect.

To test, whether 4. is solely because of the random effects of x1, I
completely removed them in the second model (fit2_brm):

Family: bernoulli (logit)
Formula: y ~ x1 + x2 + (1 | country) + (1 | country:wave) + (1 | region)
   Data: data (Number of observations: 212570)
Samples: 1 chains, each with n.iter = 500; n.warmup = 100; n.thin = 1;
         total post-warmup samples = 400

Random Effects:
~country (Number of levels: 82)
              Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
sd(Intercept)     0.61      0.08     0.49     0.77         96 1.03

~country:wave (Number of levels: 143)
              Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
sd(Intercept)      0.4      0.04     0.34     0.49        197 1.01

~region (Number of levels: 6)
              Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
sd(Intercept)     0.27      0.19     0.03     0.72        278    1

Fixed Effects:
          Estimate Est.Error l-95% CI u-95% CI Eff.Sample Rhat
Intercept    -0.61      0.15    -0.95    -0.31        400 1.01
x1            0.42      0.25    -0.05     0.89        400 1.00
x2           -0.04      0.22    -0.46     0.37        400 1.00

Samples were drawn using NUTS(diag_e). For each parameter, Eff.Sample is a
crude measure of effective sample size, and Rhat is the potential scale
reduction factor on split chains (at convergence, Rhat = 1).


The standard error of x1 indeed went down being close to what lme4
estimated (0.25 against 0.24). What I find suspicius is that the maximal
model in lme4 (i.e. the one including random effects for x1) estimates lower
standard error for the fixed effect of x1 than the model without those
random effects (see the results of Reinhold Klingl). From my perspective,
this is unlikely to be correct. Whats your opinon on this?


2015-07-15 23:18 GMT+02:00 Ben Bolker <bbolker at gmail.com>:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 15-07-15 04:38 PM, Ben Bolker wrote:
> > On 15-07-15 12:52 PM, Paul Buerkner wrote:
> >> if you look at the results from a baysian perspective, it seems
> >> to be a typcial "problem" of ML-procedures estimating the mode.
> >>
> >> The mode is nothing special, just the point where the density is
> >> maximal. When you have skewed distribution (as usual for
> >> correlations) the mode will often be close to the borders of the
> >> region of definition (-1 or 1 in this case). The posterior
> >> distribution of the correlation, however, can still be very wide
> >> ranging from strong negative correlation to strong positive
> >> correlation, especially when the number of levels of a grouping
> >> factor is not that large. In those cases, zero (i.e.
> >> insignificant) correlation is a very likely value even if the
> >> mode itself is extreme.
> >>
> >> I tried fitting your models with bayesian R packages (brms and
> >> MCMCglmm). Unfortunately, because you have so many observations
> >> and quite a few random effects, they run relatively slow so i am
> >> still waiting for the results.
> >
>
>  You can also use blme, which implements a very thin Bayesian wrapper
> around [g]lmer and does maximum _a posteriori_ (i.e. Bayesian mode)
> estimates with
> weak (but principled) priors on the random effects -- it's based on
>
> Chung, Yeojin, Sophia Rabe-Hesketh, Vincent Dorie, Andrew Gelman, and
> Jingchen Liu. “A Nondegenerate Penalized Likelihood Estimator for
> Variance Parameters in Multilevel Models.” Psychometrika 78, no. 4
> (March 12, 2013): 685–709. doi:10.1007/s11336-013-9328-2.
>
>   Profile 'likelihood' confidence intervals based on blme will get you
> a reasonable approximation of the width of the credible interval,
> although it's a little bit of a cheesy/awkward combination between
> marginal (proper Bayesian) and conditional (MAP/cheesy-Bayesian)
> measures of uncertainty.
>
>
>
>
>
> >> 2015-07-15 3:45 GMT+02:00 svm <steven.v.miller at gmail.com>:
> >>
> >>> I considered that. I disaggregated the region random effect
> >>> from 6 to 18 (the latter of which approximates the World Bank's
> >>> region classification). I'm still encountering the same curious
> >>> issue.
> >>>
> >>> Random effects: Groups       Name        Variance  Std.Dev.
> >>> Corr country:wave (Intercept) 0.1530052 0.39116 country
> >>> (Intercept) 0.3735876 0.61122 wbregion     (Intercept)
> >>> 0.0137822 0.11740 x1        0.0009384 0.03063  -1.00 x2
> >>> 0.0767387 0.27702  -1.00  1.00 Number of obs: 212570, groups:
> >>> country:wave, 143; country, 82; wbregion, 18
> >>>
> >>> For what it's worth: the model estimates fine. The results are
> >>> intuitive and theoretically consistent. They also don't change
> >>> if I were to remove that region random effect. I'd like to keep
> >>> the region random effect (with varying slopes) in the model.
> >>> I'm struggling with what I should think about the perfect
> >>> correlations.
> >>>
> >>> On Tue, Jul 14, 2015 at 9:07 PM, Jake Westfall
> >>> <jake987722 at hotmail.com> wrote:
> >>>
> >>>> Hi Steve,
> >>>>
> >>>>
> >>>> I think the issue is that estimating 3 variances and 3
> >>>> covariances for regions is quite ambitious given that there
> >>>> are only 6 regions. I think it's not surprising that the
> >>>> model has a hard time getting good estimates of those
> >>>> parameters.
> >>>>
> >>>>
> >>>> Jake
> >>>>
> >>>>> Date: Tue, 14 Jul 2015 20:53:01 -0400 From:
> >>>>> steven.v.miller at gmail.com To:
> >>>>> r-sig-mixed-models at r-project.org Subject: [R-sig-ME]
> >>>>> Perfectly correlated random effects (when they
> >>>> shouldn't be)
> >>>>
> >>>>>
> >>>>> Hi all,
> >>>>>
> >>>>> I'm a long-time reader and wanted to raise a question I've
> >>>>> seen asked
> >>>> here
> >>>>> before about correlated random effects. Past answers I have
> >>>>> encountered
> >>>> on
> >>>>> this listserv explain that perfectly correlated random
> >>>>> effects suggest model overfitting and variances of random
> >>>>> effects that are effectively
> >>>> zero
> >>>>> and can be omitted for a simpler model. In my case, I don't
> >>>>> think
> >>> that's
> >>>>> what is happening here, though I could well be fitting a
> >>>>> poor model in glmer.
> >>>>>
> >>>>> I'll describe the nature of the data first. I'm modeling
> >>> individual-level
> >>>>> survey data for countries across multiple waves and am
> >>>>> estimating the region of the globe as a random effect as
> >>>>> well. I have three random
> >>>> effects
> >>>>> (country, country-wave, and region). In the region random
> >>>>> effect, I am allowing country-wave-level predictors to have
> >>>>> varying slopes. My
> >>> inquiry
> >>>>> is whether some country-wave-level contextual indicator can
> >>>>> have an
> >>>> overall
> >>>>> effect (as a fixed effect), the effect of which can vary by
> >>>>> region. In other words: is the effect of some country-level
> >>>>> indicator (e.g. unemployment) in a given year different for
> >>>>> countries in Western Europe than for countries in Africa
> >>>>> even if, on average, there is a positive
> >>> or
> >>>>> negative association at the individual-level? These
> >>>>> country-wave-level predictors that I allow to vary by
> >>>>> region are the ones reporting
> >>> perfect
> >>>>> correlation and I'm unsure how to interpret that (or if I'm
> >>>>> estimating
> >>>> the
> >>>>> model correctly).
> >>>>>
> >>>>> I should also add that I have individual-level predictors
> >>>>> as well as country-wave-level predictors, though it's the
> >>>>> latter that concerns me. Further, every non-binary
> >>>>> indicator in the model is standardized by two standard
> >>>>> deviations.
> >>>>>
> >>>>> For those interested, I have a reproducible (if rather
> >>>>> large) example below. Dropbox link to the data is here:
> >>>>>
> >>>>
> >>>
> https://www.dropbox.com/s/t29jfwm98tsdr71/correlated-random-effects.csv?dl=0
> >>>>>
> >>>>>
> >>>
> In this reproducible example, y is the outcome variable and x1 and x2
> >>> are
> >>>>> two country-wave-level predictors I allow to vary by
> >>>>> region. Both x1
> >>> and
> >>>> x2
> >>>>> are interval-level predictors that I standardized to have a
> >>>>> mean of
> >>> zero
> >>>>> and a standard deviation of .5 (per Gelman's (2008)
> >>>>> recommendation).
> >>>>>
> >>>>> I estimate the following model.
> >>>>>
> >>>>> summary(M1 <- glmer(y ~ x1 + x2 + (1 | country) + (1 |
> >>>>> country:wave) +
> >>>> (1 +
> >>>>> x1 + x2 | region), data=subset(Data),
> >>>>> family=binomial(link="logit")))
> >>>>>
> >>>>> The results are theoretically intuitive. I think they make
> >>>>> sense.
> >>>> However,
> >>>>> I get a report of perfect correlation for the varying
> >>>>> slopes of the
> >>>> region
> >>>>> random effect.
> >>>>>
> >>>>> Random effects: Groups Name Variance Std.Dev. Corr
> >>>>> country:wave (Intercept) 0.15915 0.3989 country (Intercept)
> >>>>> 0.32945 0.5740 region (Intercept) 0.01646 0.1283 x1 0.02366
> >>>>> 0.1538 1.00 x2 0.13994 0.3741 -1.00 -1.00 Number of obs:
> >>>>> 212570, groups: country:wave, 143; country, 82; region,
> >>> 6
> >>>>>
> >>>>> What should I make of this and am I estimating this model
> >>>>> wrong? For
> >>> what
> >>>>> it's worth, the dotplot of the region random effect (with
> >>>>> conditional variance) makes sense and is theoretically
> >>>>> intuitive, given my data. (
> >>>>> http://i.imgur.com/mrnaJ77.png)
> >>>>>
> >>>>> Any help would be greatly appreciated.
> >>>>>
> >>>>> Best regards, Steve
> >>>>>
> >>>>> [[alternative HTML version deleted]]
> >>>>>
> >>>>> _______________________________________________
> >>>>> R-sig-mixed-models at r-project.org mailing list
> >>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
> >>>>
> >>>
> >>>
> >>>
> >>> -- Steven V. Miller Assistant Professor Department of Political
> >>> Science Clemson University http://svmiller.com
> >>>
> >>> [[alternative HTML version deleted]]
> >>>
> >>> _______________________________________________
> >>> R-sig-mixed-models at r-project.org mailing list
> >>> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
> >>>
> >>
> >> [[alternative HTML version deleted]]
> >>
> >> _______________________________________________
> >> R-sig-mixed-models at r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
> >>
> >
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
>
> iQEcBAEBAgAGBQJVps4fAAoJEOCV5YRblxUH0wQIANBg6CaKoHuM6RQY5VltpEbk
> 5+RYc0tIYXmvNzGesG0QTQaLz0A5cx5mo0EGxsKQq8vUz2ycRlSlcYo9uI0K/xft
> D8MMhdVr8QhIW2RtoWPNPzn6HIe276CFnHg4Co+3vbMcccbvTvWvxsDYaT/LOlRn
> JoVjN/HcOscMOQkAxZV6elYBZe+kbVVhOS0SNo3Bt5P528EuWIxaRlC2lO5aoHSL
> 1cgLn5uyWLsxb3Cuu3FctwYfYOk9hsEXNM/EGMleshDq6umGtSm9lqiM8vqgSnMl
> Iyp2A+r3fkRzfEZyWv0Ygi4OA0iZ5/BSH44+sR60hj/qSpqGYwUQ+fIrfKXAYTw=
> =cHT0
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> R-sig-mixed-models at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plot_fit1_brm.pdf
Type: application/pdf
Size: 78421 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-sig-mixed-models/attachments/20150718/61a496b2/attachment-0002.pdf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plot_fit2_brm.pdf
Type: application/pdf
Size: 45943 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-sig-mixed-models/attachments/20150718/61a496b2/attachment-0003.pdf>


More information about the R-sig-mixed-models mailing list