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.
Poisson(link = "log", trunc = -1L, LLgeneric=TRUE)
Tpoisson(link="log")
# $linkfun(mu, mu_truncated = FALSE)
# $linkinv(eta, mu_truncated = FALSE)
A family
object suitable for use with glm
, as stats::
family objects.
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
).
Either 0L
for zero-truncated distribution, or -1L
for default untruncated distribution.
Numeric (scalar or array). The linear predictor; and the expectation of response, truncated or not depending on mu_truncated
argument.
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).
For development purposes, not documented.
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).
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.
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))
Run the code above in your browser using DataLab