[R-sig-ME] random effect variance per treatment group in lmer

Afshartous, David afshart at exchange.sba.miami.edu
Wed Jul 11 17:23:39 CEST 2007


 
Simon, Andrew:

Thanks for the replies.
I am not interested in stratifying the variance of the innermost
residuals,
but rather the variance of the random effects, viz., b_ij (drug i,
patient j) 
is a random variable w/ variance depending on i.  

Possible solution suggested offline for previously supplied pseudo data:

fm.cov =  lmer(z ~ drug + time + (drug|Patient), data = dat.new ) 
OR,
fm.no.cov  =  lmer(z ~ drug + time + (0 + drug|Patient), data = dat.new
) 

Formally, consider:

Case 1:
Y_ijk = mu + alpha_i + b_ij + theta_k + espilon_ijk 
alpha = fixed effect for group, theta = fixed effect for time, 
b = random effect per patient; b_ij ~ N(0, tau_i)  ## variance of random
effect depends on treatment

Case 2: 
Y_ijk = mu + alpha_i + Indicator_treat_i * b_treatment_ij + 
		Indicator_placebo_i * b_placebo_ij + theta_k +
espilon_ijk

Indicator_treat_i = 1 if i is in treatment group, 0 otherwise 
Indicator_placebo_i = 1 if i is in placebo group, 0 otherwise

where b_treatment_ij and b_placebo_ij are different random effects
terms, with
different variances; only one will apply per patient equation as per the
indicator 
variables.  The cumbersome notation allows for a covariance since we now
have "two" random effects. (although it seem nonsensical to want such a 
covariance)

Does fm.no.cov estimates Case 1 model and fm.cov estimates Case 2 model?

Cheers,
Dave








-----Original Message-----
From: Simon Blomberg [mailto:s.blomberg1 at uq.edu.au] 
Sent: Wednesday, July 11, 2007 1:58 AM
To: Andrew Robinson
Cc: Afshartous, David; r-sig-mixed-models at r-project.org
Subject: Re: [R-sig-ME] random effect variance per treatment group in
lmer

I think he is asking to stratify the variance of the innermost
residuals, or at least it's not clear. In lme that can be accomplished
with weights=varFixed(~1|Patient).

To stratify at different levels of nesting, say the data is this:
 dat <- data.frame(inner=rep(1:10, each=5), outer=rep(1:2, each=25),
x=rnorm(50))

Then this call to lme does the job:

 fit <- lme(x ~ 1, random=list(outer=~1, inner=~1), data=dat,
weights=varComb(varIdent(form=~1|outer), varIdent(form=~1|inner)))

edited output:

Combination of variance functions: 
 Structure: Different standard deviations per stratum
 Formula: ~1 | outer
 Parameter estimates:
        1         2 
1.0000000 0.5170794
 Structure: Different standard deviations per stratum
 Formula: ~1 | inner
 Parameter estimates:
        1         2         3         4         5         6         7
8
1.0000000 0.3127693 0.4475444 0.7323698 0.3647991 0.5962917 1.4127508
1.7664527 
        9        10 
0.9475334 0.3666155 

Cheers,

Simon.

weights=varOn Wed, 2007-07-11 at 15:04 +1000, Andrew Robinson wrote:
> Hi David,
> 
> as far as I am aware, there is no option for stratifying the variance 
> of random effects in either lme or lmer.  One can stratify the 
> variance of the innermost residuals in lme, but that is different than

> what you are asking for.
> 
> Cheers,
> 
> Andrew
> 
> 
> On Tue, Jul 10, 2007 at 10:23:21AM -0400, Afshartous, David wrote:
> > 
> > All,
> > I didn't receive a response to the query below sent to the general 
> > R-help mailing list so figured I'd try this mailing list.  Apologies

> > in advance if this is an overly simplistic question for this list; I

> > just started w/ lmer after not using lme for awhile.
> > Cheers,
> > Dave
> > 
> > 
> > 
> > 
> > ___________________________________________________________
> > 
> > All,
> >  
> > How does one specify a model in lmer such that say the random effect

> > for
> > 
> > the intercept has a different variance per treatment group?  
> > Thus, in the model equation, we'd have say b_ij represent the random

> > effect for patient j in treatment group i, with variance depending 
> > on i, i.e,
> > var(b_ij) = tau_i.
> >  
> > Didn't see this in the docs or Pinherio & Bates (section 5.2 is 
> > specific for modelling within group errors).  Sample repeated 
> > measures code below is for a single random effect variance, where 
> > the random effect corresponds to patient.
> > cheers,
> > dave
> >  
> >  
> > z <- rnorm(24, mean=0, sd=1)
> > time <- factor(paste("Time-", rep(1:6, 4), sep="")) Patient <- 
> > rep(1:4, each = 6) drug <- factor(rep(c("D", "P"), each = 6, times =

> > 2)) ## P = placebo, D = Drug dat.new <- data.frame(time, drug, z, 
> > Patient) fm =  lmer(z ~ drug + time + (1 | Patient), data = dat.new 
> > )
> > 
> > _______________________________________________
> > R-sig-mixed-models at r-project.org mailing list 
> > https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
> 
--
Simon Blomberg, BSc (Hons), PhD, MAppStat. 
Lecturer and Consultant Statistician
Faculty of Biological and Chemical Sciences The University of Queensland
St. Lucia Queensland 4072 Australia Room 320 Goddard Building (8)
T: +61 7 3365 2506
email: S.Blomberg1_at_uq.edu.au

Policies:
1.  I will NOT analyse your data for you.
2.  Your deadline is your problem.

The combination of some data and an aching desire for an answer does not
ensure that a reasonable answer can be extracted from a given body of
data. - John Tukey.




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