← Back to all sparks
D

detectseparation

ANALYTICS
Velocity0.0

R package detectseparation by ikosmidis — release notes from GitHub.

A diagnostic package that generalized past its own name, then learned to say which kind of separation it found

r-packageregressiondiagnosticsseparationglm
Current state
detectseparation identifies separation and infinite estimates in binomial-response GLMs — the condition where maximum likelihood estimates diverge and standard software reports large coefficients with enormous standard errors instead of an error. Version 0.3 was the structural turn: detect_infinite_estimates() became the general method covering log, logit, probit and cauchit links, with detect_separation() demoted to a wrapper around it. Version 0.4 in April 2026 adds the ability to distinguish complete from quasi-complete separation via separation_type.
Where it's heading
The package has been generalizing steadily — first past its own framing, since separation is one case of infinite estimates rather than the whole problem, and now toward finer classification of what it detects. The distinction 0.4 adds is practically useful because complete and quasi-complete separation call for different responses. Release intervals are long, roughly two to four years, which fits a diagnostic tool whose underlying theory is settled.
Prediction
With link coverage broad and separation now classified by type, further work is more likely to refine reporting than to extend detection to new model families.

Recent moves

  1. 3mo ago

    detectseparation v0.4

    Adds separation_type so detect_separation() distinguishes complete from quasi-complete separation, and moves separator inference out of the control function into the internals. The distinction matters because the two cases call for different remedies. Released the same day as sibling package brglm2 v1.1.0.

    View source ↗
  2. 3y ago

    detectseparation v0.3

    Introduces detect_infinite_estimates() as the general method across log, logit, probit and cauchit links, reducing detect_separation() to a wrapper around it. The package reframing its own subject — separation as one case of infinite estimates — is the most consequential change in this history.

    View source ↗
  3. 5y ago

    detectseparation v0.2

    Adds a warning when the link function falls outside the supported set, plus documentation and test updates. A guardrail against silent misuse, before 0.3 widened link support properly.

    View source ↗