poisson function

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

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

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 μT\mu_T is defined from the un-truncated poisson with mean μU\mu_U, by restricting its response strictly positive value. μT=μU/(1p0)\mu_T=\mu_U/(1-p0), where p0:=exp(μU)p0:=\exp(-\mu_U) is the probability that the response is 0.

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 (μT\mu_T) or un-truncated (μU\mu_U) response. For linkfun, whether the mu argument is μT\mu_T, or is μU\mu_U but has μT\mu_T as attribute (μU\mu_U without the attribute is not sufficient).
  • LLgeneric: For development purposes, not documented.

Returns

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

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 μT\mu_T. The simplest way to predict μU\mu_U is to get the linear predictor value by predict(.,type="link"), and deduce μU\mu_U using linkinv(.) (with default argument mu_truncated=FALSE), since getting μU\mu_U from μT\mu_T is comparatively less straightforward. The mu.eta member function is that of the base poisson family, hence its mu argument represents μU\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).

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))
  • Maintainer: François Rousset
  • License: CeCILL-2
  • Last published: 2024-06-09