[R] weighted likelihood for lme

Spencer Graves spencer.graves at pdf.com
Sat Jan 28 07:23:59 CET 2006


	  Thank you for providing such a marvelous example.  I wish I could 
reward your dilligence with a simple, complete answer.  Unfortunately, 
the best I can offer at the moment is a guess and a reference.  First, I 
believe you are correct in that the "weights" argument describes "the 
within-group heteroscedasticity structure".  To specify between-group 
heterscadisticity, have you considered the following:

  foo <- Orthodont
  foo$w <- c(rep(1, 5*4), rep(0.5, 22*4))
 > lme(distance ~ 1, random = ~ w-1|Subject,
+     method="ML", data = foo)
Linear mixed-effects model fit by maximum likelihood
   Data: foo
   Log-likelihood: -258.8586
   Fixed: distance ~ 1
(Intercept)
     23.8834

Random effects:
  Formula: ~w - 1 | Subject
                w Residual
StdDev: 3.370796 2.233126

Number of Observations: 108
Number of Groups: 27

	  Second, have you consulted Pinheiro and Bates (2000) Mixed-Effects 
Models in S and S-Plus (Springer)?  If you have not already, I encourage 
you to spend some quality time with that book.  For me, this book helped 
transform "lme" from an inaequately documented and unusable black box 
into a simple, understandable, elegant tool.  I may have recommeded it 
to more people than any other single work over the past five years.

	  hope this helps.
	  spencer graves

Marco Geraci wrote:

>     Dear R users,
>   I'm trying to fit a simple random intercept model with a fixed intercept. 
>     Suppose I want to assign a weight w_i to the i-th contribute to the log-likelihood, i.e.
>    
>   w_i * logLik_i
>    
>   where logLik_i is the log-likelihood for the i-th subject.
>   I want to maximize the likelihood for N subjects
>    
>   Sum_i  {w_i * logLik_i}
>    
>   Here is a simple example to reproduce
>    
>   # require(nlme)
>     > foo <- Orthodont
> 
>>lme(distance ~ 1, random = ~ 1|Subject, method="ML", data = foo)
> 
> Linear mixed-effects model fit by maximum likelihood
>   Data: foo 
>   Log-likelihood: -257.7456
>   Fixed: distance ~ 1 
> (Intercept) 
>    24.02315 
>   Random effects:
>  Formula: ~1 | Subject
>         (Intercept) Residual
> StdDev:    1.888748 2.220312
>   Number of Observations: 108
> Number of Groups: 27 
> 
> Then I assign arbitrary weights, constant within the group. I want to give weight 1 to the first 5 subjects, and weight 0.5 to the others 22 (4 is the number of repeated measurements for each subject)
> 
>    
>   > foo$w <- c(rep(1, 5*4), rep(0.5, 22*4))
>    
>   Maybe I am missing something, but I believe that
>    
>   > lme(distance ~ 1, random = ~ 1|Subject, method="ML", data = foo, weight=~w)
>    
>   does not maximize the likelihood Sum_i  {w_i * logLik_i}, 
since 'weight' describes the with-in heteroscedasticity structure.
>   I think I need something like the option 'iweight' 
(importance weight) for the command 'xtreg' of Stata.
>    
>   Any suggestion for R?
>    
>   Thanks in advance,
>    
>   Marco Geraci
>    
>   >  sessionInfo()
> R version 2.2.1, 2005-12-20, i386-pc-mingw32 
>   attached base packages:
> [1] "methods"   "stats"     "graphics"  "grDevices" "utils"    
> [6] "datasets"  "base"     
>   other attached packages:
>     nlme 
> "3.1-66" 
> 
> 
> 
> 
> 
> 		
> ---------------------------------
>  
>  What are the most popular cars?  Find out at Yahoo! Autos
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html




More information about the R-help mailing list