
Last chance! 50% off unlimited learning
Sale ends in
binomialff(link = "logit", earg = list(), dispersion = 1, mv = FALSE,
onedpar = !mv, parallel = FALSE, zero = NULL)
Links
for more choices.Links
for more information.dispersion = 0
to have it estimated, or else specify a known
positive value (or values if mv
TRUE
, then the response is interpreted
as $M$ independent binary responses, where $M$ is the number
of columns of the response matrix. In this case, the response matrix
should have zero/one values only.If <
mv
, then a separate dispersion
parameter will be computed for each response (column), by default.
Setting onedpar=TRUE
will pool them so that there is only one
dispersion parameter to be estimatmv
is TRUE
. This
argument allows for the parallelism assumption whereby the regression
coefficients for a variable is constrained to be equal over the $M$
linear/additive predictors. The maximum likelihood estimate will not exist if the data is
completely separable or quasi-completely separable.
See Chapter 10 of Altman et al. (2004) for more details,
and sepcheck=TRUE
, say, argument to detect this
problem and give an appropriate warning.
A dispersion parameter that is less/greater than unity corresponds to under-/over-dispersion relative to the binomial model. Over-dispersion is more common in practice.
Setting mv = TRUE
is necessary when fitting a Quadratic RR-VGLM
(see cqo
) because the response is a matrix of $M$
columns (e.g., one column per species). Then there will be $M$
dispersion parameters (one per column of the response matrix).
When used with cqo
and cao
, it may be
preferable to use the cloglog
link.
Altman, M. and Gill, J. and McDonald, M. P. (2004) Numerical Issues in Statistical Computing for the Social Scientist, Hoboken, NJ: Wiley-Interscience.
Ridout, M. S. (1990) Non-convergence of Fisher's method of scoring---a simple example. GLIM Newsletter, 20(6).
quasibinomialff
,
Links
,
rrvglm
,
cqo
,
cao
,
betabinomial
,
zibinomial
,
dexpbinomial
,
mbinomial
,
seq2binomial
,
amlbinomial
,
simplex
,
binomial
,
quasibinomialff()
quasibinomialff(link="probit")
fit = vgam(agaaus ~ poly(altitude, 2), binomialff(link=cloglog), hunua)
with(hunua, plot(altitude, agaaus, col="blue", ylab="P(agaaus=1)",
main="Presence/absence of Agathis australis", las=1))
ooo = with(hunua, order(altitude))
with(hunua, lines(altitude[ooo], fitted(fit)[ooo], col="red", lwd=2))
# Shows that Fisher scoring can sometime fail. See Ridout (1990).
ridout = data.frame(v = c(1000, 100, 10), r = c(4, 3, 3), n = c(5, 5, 5))
(ridout = transform(ridout, logv = log(v)))
# The iterations oscillates between two local solutions:
glm.fail = glm(r/n ~ offset(logv) + 1, weight=n,
binomial(link=cloglog), ridout, trace=TRUE)
coef(glm.fail)
# vglm()'s half-stepping ensures the MLE of -5.4007 is obtained:
vglm.ok = vglm(r/n ~ offset(logv) + 1, weight=n,
binomialff(link=cloglog), ridout, trace=TRUE)
coef(vglm.ok)
Run the code above in your browser using DataLab