poisson: Family function for GLMs and mixed models with Poisson and...

PoissonR Documentation

Family function for GLMs and mixed models with Poisson and zero-truncated Poisson response.

Description

Poisson (with a capital P) is a family that specifies the information required to fit a Poisson generalized linear model. Differs from the base version stats::poisson only in that it handles the zero-truncated variant, which can be specified either as Tpoisson(<link>) or as Poisson(<link>, trunc = 0L). The truncated poisson with mean \mu_T is defined from the un-truncated poisson with mean \mu_U, by restricting its response strictly positive value. \mu_T=\mu_U/(1-p0), where p0:=\exp(-\mu_U) is the probability that the response is 0.

Usage

Poisson(link = "log", trunc = -1L, LLgeneric=TRUE)
Tpoisson(link="log")
# <Poisson object>$linkfun(mu, mu_truncated = FALSE)
# <Poisson object>$linkinv(eta, mu_truncated = FALSE)

Arguments

link

log, sqrt or identity link, specified by any of the available ways for GLM links (name, character string, one-element character vector, or object of class link-glm as returned by make.link).

trunc

Either 0L for zero-truncated distribution, or -1L for default untruncated distribution.

eta,mu

Numeric (scalar or array). The linear predictor; and the expectation of response, truncated or not depending on mu_truncated argument.

mu_truncated

Boolean. For linkinv, whether to return the expectation of truncated (\mu_T) or un-truncated (\mu_U) response. For linkfun, whether the mu argument is \mu_T, or is \mu_U but has \mu_T as attribute (\mu_U without the attribute is not sufficient).

LLgeneric

For development purposes, not documented.

Details

Molas & Lesaffre (2010) developed expressions for deviance residuals for the truncated Poisson distribution, which were the ones implemented in spaMM until version 3.12.0. Later versions implement the (non-equivalent) definition as “2*(saturated_logLik - logLik)”.

predict, when applied on an object with a truncated-response family, by default returns \mu_T. The simplest way to predict \mu_U is to get the linear predictor value by predict(.,type="link"), and deduce \mu_U using linkinv(.) (with default argument mu_truncated=FALSE), since getting \mu_U from \mu_T is comparatively less straightforward. The mu.eta member function is that of the base poisson family, hence its mu argument represents \mu_U.

simulate, when applied on an object with a truncated-response family, simulates the truncated family. There is currently no clean way to override this (trying to passtype="link" to predict will not have the intended effect).

Value

A family object suitable for use with glm, as stats:: family objects.

References

McCullagh, P. and Nelder, J.A. (1989) Generalized Linear Models, 2nd edition. London: Chapman & Hall.

Molas M. and Lesaffre E. (2010). Hurdle models for multilevel zero-inflated data via h-likelihood. Statistics in Medicine 29: 3294-3310.

Examples

data("scotlip")
logLik(glm(I(1+cases)~1,family=Tpoisson(),data=scotlip))
logLik(fitme(I(1+cases)~1+(1|id),family=Tpoisson(),fixed=list(lambda=1e-8),data=scotlip))

spaMM documentation built on Aug. 30, 2023, 1:07 a.m.

Related to poisson in spaMM...