Provides a tool for identifying whether or not separation has occurred.
separation.detection(fit, nsteps = 30)
the result of a
Identifies separated cases for binomial-response GLMs, by refitting
the model. At each iteration the maximum number of allowed IWLS
iterations is fixed starting from 1 to
nsteps (by setting
control = glm.control(maxit = j), where
j takes values 1,
..., nsteps in
glm). For each value of
the estimated asymptotic standard errors are divided to the
corresponding ones resulted for
control = glm.control(maxit = 1). Based on the results in Lesaffre
& Albert (1989), if the sequence of ratios in any column of the
resultant matrix diverges, then separation occurs and the maximum
likelihood estimate for the corresponding parameter has value minus or
A matrix of dimension
contains the ratios of the estimated asymptotic standard errors.
Ioannis Kosmidis, [email protected]
Lesaffre, E. and Albert, A. (1989). Partial separation in logistic discrimination. J. R. Statist. Soc. B, 51, 109–116.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
## Begin Example y <- c(1,1,0,0) totals <- c(2,2,2,2) x1 <- c(1,0,1,0) x2 <- c(1,1,0,0) m1 <- glm(y/totals ~ x1 + x2, weights = totals, family = binomial()) # No warning from glm... m1 # However estimates for (Intercept) and x2 are unusually large in # absolute value... Investigate further: # separation.detection(m1,nsteps=30) # Note that the values in the column for (Intercept) and x2 diverge, # while for x1 converged. Hence, separation has occurred and the # maximum lieklihood estimate for (Intercept) is minus infinity and # for x2 is plus infinity. The signs for infinity are taken from the # signs of (Intercept) and x1 in coef(m1). ## End Example
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.