family {stats} | R Documentation |
Family objects provide a convenient way to specify the details of the
models used by functions such as glm
. See the
documentation for glm
for the details on how such model
fitting takes place.
family(object, ...) binomial(link = "logit") gaussian(link ="identity") Gamma(link = "inverse") inverse.gaussian(link = "1/mu^2") poisson(link = "log") quasi(link = "identity", variance = "constant") quasibinomial(link = "logit") quasipoisson(link = "log")
link |
a specification for the model link function.
The gaussian family accepts the links "identity" ,
"log" and "inverse" ;
the binomial family the links "logit" ,
"probit" , "log" and "cloglog" (complementary
log-log);
the Gamma family the links "inverse" , "identity"
and "log" ;
the poisson family the links "log" , "identity" ,
and "sqrt" and the inverse.gaussian family the links
"1/mu^2" , "inverse" , "inverse" and "log" .
The quasi family allows the links "logit" , "probit" ,
"cloglog" , "identity" , "inverse" ,
"log" , "1/mu^2" and "sqrt" .
The function power can also be used to create a
power link function for the quasi family.
|
variance |
for all families, other than quasi , the
variance function is determined by the family. The quasi
family will accept the specifications "constant" ,
"mu(1-mu)" , "mu" , "mu^2" and "mu^3" for
the variance function. |
object |
the function family accesses the family
objects which are stored within objects created by modelling
functions (e.g., glm ). |
... |
further arguments passed to methods. |
The quasibinomial
and quasipoisson
families differ from
the binomial
and poisson
families only in that the
dispersion parameter is not fixed at one, so they can “model”
over-dispersion. For the binomial case see McCullagh and Nelder
(1989, pp. 124–8). Although they show that there is (under some
restrictions) a model with
variance proportional to mean as in the quasi-binomial model, note
that glm
does not compute maximum-likelihood estimates in that
model. The behaviour of S is closer to the quasi- variants.
The design was inspired by S functions of the same names described in Hastie & Pregibon (1992).
McCullagh P. and Nelder, J. A. (1989) Generalized Linear Models. London: Chapman and Hall.
Dobson, A. J. (1983) An Introduction to Statistical Modelling. London: Chapman and Hall.
Cox, D. R. and Snell, E. J. (1981). Applied Statistics; Principles and Examples. London: Chapman and Hall.
Hastie, T. J. and Pregibon, D. (1992) Generalized linear models. Chapter 6 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.
nf <- gaussian()# Normal family nf str(nf)# internal STRucture gf <- Gamma() gf str(gf) gf$linkinv gf$variance(-3:4) #- == (.)^2 ## quasipoisson. compare with example(glm) counts <- c(18,17,15,20,10,20,25,13,12) outcome <- gl(3,1,9) treatment <- gl(3,3) d.AD <- data.frame(treatment, outcome, counts) glm.qD93 <- glm(counts ~ outcome + treatment, family=quasipoisson()) glm.qD93 anova(glm.qD93, test="F") summary(glm.qD93) ## for Poisson results use anova(glm.qD93, dispersion = 1, test="Chisq") summary(glm.qD93, dispersion = 1) ## tests of quasi x <- rnorm(100) y <- rpois(100, exp(1+x)) glm(y ~x, family=quasi(var="mu", link="log")) # which is the same as glm(y ~x, family=poisson) glm(y ~x, family=quasi(var="mu^2", link="log")) ## Not run: glm(y ~x, family=quasi(var="mu^3", link="log")) # should fail y <- rbinom(100, 1, plogis(x)) # needs to set a starting value for the next fit glm(y ~x, family=quasi(var="mu(1-mu)", link="logit"), start=c(0,1))