[R] [R-sig-ME] lmm WITHOUT random factor (lme4)
Andrzej Galecki
agalecki at umich.edu
Sat Mar 19 00:39:23 CET 2011
Hello Thierry,
Based on the code below, it looks like you do not need to worry about
likelihoods from lm() and gls(). They are defined the same way. I agree
with you that caution needs to be exercised. Simply because
mathematically the same likelihood may be defined using different constant.
Regards,
Have a good weekend
Andrzej Galecki
library(nlme)
data("sleepstudy", package = "lme4")
lmx <- lm(Reaction ~ Days, sleepstudy)
glsx<- gls(Reaction ~ Days, sleepstudy)
lmex <- lme(Reaction ~ Days, random= ~1|Subject, sleepstudy)
# LogLik values are the same
logLik(lmx) #
'log Lik.' -950.1465 (df=3)
logLik(glsx,REML=FALSE) # 'log Lik.'
-950.1465 (df=3)
# REML values are the same
logLik(lmx, REML=TRUE) # 'log Lik.'
-946.8318 (df=3)
logLik(glsx, REML=TRUE) # 'log Lik.'
-946.8318 (df=3)
# Two anovas give the same results
# (NOTE: Do not use anova for testing the need of random intercept!
Reference distribution other than chi-squre should be used)
anova(lmex, lmx)
anova(lmex, glsx)
# Model df AIC BIC logLik Test L.Ratio p-value
# lmex 1 4 1794.465 1807.192 -893.2325
# lmx 2 3 1899.664 1909.209 -946.8318 1 vs 2 107.1986 <.0001
On 3/18/2011 4:55 AM, ONKELINX, Thierry wrote:
> Dear Mark,
>
> I'm cc'ing this to the mixed models list to get some input from other experts. For them a link to the entire thread: http://r.789695.n4.nabble.com/lmm-WITHOUT-random-factor-lme4-tp3384054p3384823.html
>
> My comment was based on what I have read in Zuur et al. (2009).
>
> What worries me is that the loglikelihood of a lm() model and the equivalent gls() model is different. Although both models should be mathematically identical. Assuming that the loglikelihood is calculated on the same way within a package, I therefore have more confidence in comparing two models from the same package, thus gls() versus lme().
> Furthermore, I get an error when doing an anova between a lm() and a lme() model.
>
> Best regards,
>
> Thierry
>
>> library(nlme)
>> data("sleepstudy", package = "lme4")
>> fm<- lm(Reaction ~ Days, sleepstudy)
>> fm0<- gls(Reaction ~ Days, sleepstudy)
>> logLik(fm)
> 'log Lik.' -950.1465 (df=3)
>> logLik(fm0)
> 'log Lik.' -946.8318 (df=3)
>> fm1<- lme(Reaction ~ Days, random= ~1|Subject, sleepstudy)
>> anova(fm, fm1)
> Error in anova.lmlist(object, ...) :
> models were not all fitted to the same size of dataset
>> anova(fm0, fm1)
> Model df AIC BIC logLik Test L.Ratio p-value
> fm0 1 3 1899.664 1909.209 -946.8318
> fm1 2 4 1794.465 1807.192 -893.2325 1 vs 2 107.1986<.0001
>> sessionInfo()
> R version 2.12.2 (2011-02-25)
> Platform: i386-pc-mingw32/i386 (32-bit)
>
> locale:
> [1] LC_COLLATE=Dutch_Belgium.1252 LC_CTYPE=Dutch_Belgium.1252
> [3] LC_MONETARY=Dutch_Belgium.1252 LC_NUMERIC=C
> [5] LC_TIME=Dutch_Belgium.1252
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] nlme_3.1-98
>
> loaded via a namespace (and not attached):
> [1] grid_2.12.2 lattice_0.19-19 tools_2.12.2
>
> ----------------------------------------------------------------------------
> ir. Thierry Onkelinx
> Instituut voor natuur- en bosonderzoek
> team Biometrie& Kwaliteitszorg
> Gaverstraat 4
> 9500 Geraardsbergen
> Belgium
>
> Research Institute for Nature and Forest
> team Biometrics& Quality Assurance
> Gaverstraat 4
> 9500 Geraardsbergen
> Belgium
>
> tel. + 32 54/436 185
> Thierry.Onkelinx at inbo.be
> www.inbo.be
>
> To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
> ~ Sir Ronald Aylmer Fisher
>
> The plural of anecdote is not data.
> ~ Roger Brinner
>
> 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
>
>
> _______________________________________________
> R-sig-mixed-models at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>
>
More information about the R-help
mailing list