[R-sig-ME] intraclass correlation (ICC) for random intercept and

John.Morrongiello at csiro.au John.Morrongiello at csiro.au
Mon Oct 7 06:00:24 CEST 2013


Hi Jake

Thanks very much for your helpful response. I like your advice regarding not to present some of these ICCs- I must admit framing the language around them was getting a little confusing. The Goldstein reference provides the formula I was after (just after model 2 in refer for others). Whilst a mouthful, for interests sake I'll give it a go on a simple random slopes model. Finally, I got those ICC formulas for a crossed random effect model from a couple of papers I've recently read. I'd just like to confirm that for a crossed random effect model:
M3<-y~x+(1|ID)+(1|year)

ICC(ID) does not equal 
(1) var(ID)/(var(ID)+var(residual), 
but rather 
(2) var(ID)/(var(ID)+var(year)+var(residual)


Cheers John

Date: Fri, 4 Oct 2013 00:41:56 -0600
From: Jake Westfall <jake987722 at hotmail.com>
To: "r-sig-mixed-models at r-project.org"
	<r-sig-mixed-models at r-project.org>
Subject: Re: [R-sig-ME] intraclass correlation (ICC) for random
	intercept and slope model

Hi John,

Various intra-class correlation coefficients can certainly be computed for models with random slopes (which may or may not also have a crossed random structure), and they are kind of interesting to think about, but they do not end up being very useful as simple summaries of the data in these cases, partly because they cannot be understood simply as proportions of variance, and partly because, like you said, they are different for different values of the predictors. There are generally no clear guides about which values of the predictors are the ones you want to compute the ICC at.

Goldstein et al. (2002), in one of the earlier sections of the paper, discuss an ICC for a normal model with one random intercept and one random slope, possibly correlated:

http://www.bristol.ac.uk/cmm/research/pvmm.pdf

I think the ICCs that you wrote for the crossed random effects models without random slopes are not quite right. Both denominators should be the same and should contain all 3 variance components (ID, year, and residual). They differ only in the numerators.

ICCs for a crossed random intercept model with random slopes look like basically the one given above by Goldstein, except there is even more stuff in the denominator, reflecting variance due to both random grouping factors. And of course you have separate ICCs for the two grouping factors.

And there are even other, more exotic ICCs that we could talk about. What about, in the crossed models with IDs and years, the ICC for ID-by-year? This would be the expected correlation between different observations from the same ID and the same year. There are many different potential levels of replication in these higher models, and hence many ICCs that we could talk about.


As for how to report these... maybe don't? Like I said, they don't end up being very useful as simple summaries in these cases. Depending on what you're trying to convey, it might be more useful just to talk about the standard deviations of the random effects.

Jake

> From: John.Morrongiello at csiro.au
> To: r-sig-mixed-models at r-project.org
> Date: Fri, 4 Oct 2013 05:03:27 +0000
> Subject: [R-sig-ME] intraclass correlation (ICC) for random intercept and	slope model
> 
> Hi all
> 
> I was wondering if someone could show me how to calculate the intra-class correlation coefficient for a model with random intercepts and slopes in lmer? Should I even be calculating these, and instead draw inference from intercept only models? I've had a good look online and come across a few comments like (http://www.bristol.ac.uk/cmm/learning/videos/random-slopes.html):
>  "For a random slopes model, the intraclass correlation is not equal to the variance partitioning coefficient because the intraclass correlation will depend on the value of x1 for each of the two elements in question.  The variance partitioning coefficient just depended on one value of x1 but if two different people each have a different value of x1, both those values are going to go into the formula for the intraclass correlation.  The exact expression for the intraclass correlation is quite complicated; we're not going to give it here because the important thing is simply to note that the intraclass correlation will depend on the two values of x1 as well as ?2u1, ?2u0 and ?u01". 
> 
> So I guess the ICC is contingent on a given value of X. I assume this is preferably an X value that all individuals share?
> 
> I can see that for a straight random intercept model (please correct 
> if I'm wrong)
> M1<-y~x+(1|ID)
> ICC(ID) = var(ID)/(var(ID)+var(residual) ## correlation between 
> measurements from two individuals
> 
> For a nested random effect model:
> M2<-y~x+(1|site/ID)
> ICC(ID) = var(ID)/(var(ID)+var(site)+var(residual)
> ##correlation between two measurements from same individual (how 
> similar individuals are to themselves)
> 
> ICC(site) = var(site)/(var(ID)+var(site)+var(residual)
> ## correlation between two measurements from the same site
> 
> ICC(ID:site) = var(ID)+var(site)/(var(ID)+var(site)+var(residual)
> ## correlation between two measurements from the same individual at 
> the same site
> 
> For a crossed random effect model:
> M3<-y~x+(1|ID)+(1|year)
> ICC(ID) = var(ID)/(var(ID)+var(residual)
> ICC(year) = var(year)/(var(year)+var(residual)
> 
> What about for the random slope model:
> M4<-y~x+(x|ID)
> ICC(ID) = ???
> e.g. (I'm tipping ICCs are going to be low) Random effects:
>  Groups   Name         Variance Std.Dev. Corr
>  FishID   (Intercept)  0.011445 0.10698      
>           c.(log(Age)) 0.037444 0.19350  0.25
>  Residual              0.004595 0.06778      
> Number of obs: 640, groups: FishID, 498
> 
> or even crossed random intercept and random slope model:
> M5<-y~x+(x|ID)+(x|year)
> ICC(ID) = ???
> ICC(year) = ???
> 
> e.g.
> Random effects:
>  Groups   Name         Variance  Std.Dev. Corr 
>  FishID   (Intercept)  0.0103597 0.10178       
>           c.(log(Age)) 0.0393865 0.19846  0.21 
>  fYear    (Intercept)  0.0007723 0.02779       
>           c.(log(Age)) 0.0147014 0.12125  -0.36
>  Residual              0.0044479 0.06669       
> Number of obs: 640, groups: FishID, 498; fYear, 6
> 
> How would I report such ICCs- do I state that they were calculated over a given range of X (in this case Age e.g. at age=2, ICC(ID)=...)?
> 
> Regards
> 
> John



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