Skip to content

BIC doesn't work for glm(family=binomial()) (PR#8208)

3 messages · jusung@andrew.cmu.edu, Peter Dalgaard, Brian Ripley

#
Full_Name: Ju-Sung Lee
Version: 2.2.0
OS: Windows XP
Submission from: (NULL) (66.93.61.221)


BIC() requires the attribute $nobs from the logLik object but the logLik of a
glm(formula,family=binomial()) object does not include $nobs.  Adding
attr(obj,'nobs') = value, seems to allow BIC() to work.

Reproducing the problem:
library(nmle);
BIC(logLik(glm(1~1,family=binomial())));
#
jusung at andrew.cmu.edu writes:
It is not clear to me that "nobs" is a well-defined concept for
arbitrary likelihood functions. In particular, binomial models are
tricky: Is "13 successes in 79 trials" one (binomial) observation or
79 (Bernoulli) ones?? 

So BIC may not be defined. In which sense is this a bug, anyway? The
BIC function is defined inside the nlme package which is not designed
to work with anything but continuous data.
#
On Sun, 16 Oct 2005, Peter Dalgaard wrote:

            
Schwarz originally introduced BIC only for linear regressions (and in 
essentially the random regressors case as I recall).

It is perhaps worth pointing out that 'nobs' (and hence BIC) is not 
well-defined for a linear mixed model either: the appropriate multiplier 
suggested by the theory depends on the type of asymptotics which are 
assumed.