Estimates the two parameters of a Skellam distribution by maximum likelihood estimation.
skellam(lmu1 = "loglink", lmu2 = "loglink", imu1 = NULL, imu2 = NULL,
nsimEIM = 100, parallel = FALSE, zero = NULL)
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
and vgam
.
Link functions for the Links
for more choices and for general information.
Optional initial values for the parameters.
See CommonVGAMffArguments
for more information.
If convergence failure occurs (this VGAM family function seems
to require good initial values) try using these arguments.
See CommonVGAMffArguments
for information.
In particular, setting parallel=TRUE
will constrain the
two means to be equal.
This VGAM family function seems fragile and very sensitive to the initial values. Use very cautiously!!
The Skellam distribution models the difference between two
independent Poisson distributions
(with means
The mean is
Skellam, J. G. (1946). The frequency distribution of the difference between two Poisson variates belonging to different populations. Journal of the Royal Statistical Society, Series A, 109, 296.
dskellam
,
dpois
,
poissonff
.
if (FALSE) {
sdata <- data.frame(x2 = runif(nn <- 1000))
sdata <- transform(sdata, mu1 = exp(1 + x2), mu2 = exp(1 + x2))
sdata <- transform(sdata, y = rskellam(nn, mu1, mu2))
fit1 <- vglm(y ~ x2, skellam, data = sdata, trace = TRUE, crit = "coef")
fit2 <- vglm(y ~ x2, skellam(parallel = TRUE), data = sdata, trace = TRUE)
coef(fit1, matrix = TRUE)
coef(fit2, matrix = TRUE)
summary(fit1)
# Likelihood ratio test for equal means:
pchisq(2 * (logLik(fit1) - logLik(fit2)),
df = df.residual(fit2) - df.residual(fit1), lower.tail = FALSE)
lrtest(fit1, fit2) # Alternative
}
Run the code above in your browser using DataLab