[R] How does logLik(lm(...)) find the maximum log likelihoods

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Tue Jul 14 13:22:20 CEST 2009


On Tue, 14 Jul 2009, Lars Bergemann wrote:

> Hi. Thanks for your help with my previous question (comparing two lm() 
> models with a maximum likelihood ratio test)
>
> I had a look at lrtest from the package lmtest as it has been suggested 
> to me, but I am not 100% sure if that is the right thing to do ...

That clearly depends on what you consider to be "right".

In any case, lrtest() computes (in an object-oriented way) -2 times the 
loglikelihood difference and compares that with a chi-squared distribution 
with the corresponding degrees of freedom (difference in df of the 
models).

> lrtest uses the same log likelihoods as you can extract by hand from 
> lm() with logLik - are this the maximum log likelihoods?

It's the maximized log-likelihood. Thus, it's the sum of (normal) 
log-densities, evaluated at the observations and the estimated parameters.

> How does R 
> calculate them? I tried google to find information about that, but I 
> could not find anything of interest.

I assume that you read help("logLik.lm")? If all else fails, looking at 
the code of stats:::logLik.lm should also help. In essence, it is
   0.5 * (sum(log(w)) - N * (log(2 * pi) + 1 - log(N) +
     log(sum(w * res^2))))
where all variables have the obvious meaning.
Z




More information about the R-help mailing list