The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
First public release. underdisp provides diagnostics and
a unified family of estimators for underdispersed count data
(conditional variance below the conditional mean), the case the Poisson
and negative binomial defaults cannot represent. The likelihood core is
implemented in C++.
ud_screen(): at-risk dispersion diagnostic that
benchmarks a fitted count against a zero-truncated Poisson under unit
and period fixed effects, with a marginal statistic, a
zero-truncated-Poisson at-risk statistic, and an over-conditioning
guard. The at-risk threshold is available in two modes,
ztp_threshold = "calibrated" (a fast n-dependent calibrated
cutoff) and ztp_threshold = "bootstrap" (a parametric
bootstrap of the fitted zero-truncated-Poisson null on the data’s own
design, ztp_boot_B), and an optional native COM-Poisson
comparator (run_comp).cpb(): continuous parameter binomial (CPB) regression
and its zero-truncated variant, with an interpretable
observation-specific bound (the implied ceiling). C++ multistart
estimation.cpb_fe(): high-dimensional fixed-effects CPB via a
concentrated likelihood that matches the full-dummy likelihood to
machine precision.hurdle_cpb() and zi_cpb(): two-part
(participation logit + zero-truncated CPB intensity) and true
zero-inflated mixture forms, each with fixed effects available in both
equations.gec(): King’s generalized event count / Katz-family
regression, a single model whose dispersion is estimated freely and
spans underdispersion, equidispersion, and overdispersion, with
gec_fe(), hurdle_gec(), and
zi_gec() variants.count_reg(), hurdle_count(),
zi_count(): matched Poisson, negative binomial, and
COM-Poisson families sharing one interface, with fixed effects
(including two-way), offsets, and truncated/hurdle/zero-inflated forms,
for like-for-like comparison against the CPB and GEC families.alpha_confint()).bias_correct = "jackknife" on the concentrated
fixed-effects estimators (cpb_fe(), gec_fe(),
and the fe = intensity of hurdle_cpb()): the
split-panel jackknife (Dhaene & Jochmans 2015) removes the leading
1/T incidental-parameters bias of the dispersion parameter, validated by
the package’s fixed-effects bias Monte Carlo (alpha bias at T =
6/10/20/40 falls from -.147/-.096/-.056/-.033 to
-.038/-.022/-.016/-.009). The correction carries a VALIDITY GATE for the
method’s time-homogeneity requirement: the time-split disagreement is
compared against exchangeable unit-split placebo noise, and on panels
where the two halves do not estimate a common parameter the correction
is refused with an informative warning and the maximum-likelihood fit is
returned. A refusal is diagnostic information about the panel, not an
error.logistf, brglm2) alongside the
zero-truncated intensity from this package.compare_dispersion() and compare_models():
information-criteria and proper scoring-rule comparison across Poisson,
negative binomial, COM-Poisson, and CPB (and their hurdle and
zero-inflated forms), with type-safe rejection of non-package or
mismatched objects.zi_test(): boundary-corrected likelihood-ratio test for
zero-inflation (the plain model nested in the mixture at the boundary),
for both the CPB and GEC families.predict(), implied_ceiling(),
alpha_confint(), irr(), and
first_difference(). Every first_difference()
method in the package returns one unified "ud_fd" data
frame (component, from, to,
diff, lower, upper,
method): single-equation fits report the mean, and the
two-part/mixture models report the exact extensive/intensive
decomposition (binary-stage probability, count-stage mean, marginal
mean), with a stage argument on every two-part method to
move the covariate in a single equation and a per-row
method label recording the uncertainty source (stored
bootstrap for cpb, refit bootstrap via B= for
the CPB two-parts, delta-method where an analytic covariance exists).
Unknown arguments error rather than being silently ignored.dcpb/pcpb/qcpb/rcpb,
dgec/pgec/qgec/rgec,
dcompois/pcompois/qcompois/rcompois,
plus the mixture simulators rhurdle_cpb() and
rzicpb(). The standard zero-truncated, hurdle, and
zero-inflated Poisson/negative-binomial forms are deliberately internal:
CRAN already serves those families (e.g. VGAM), and the
exported surface is reserved for what the package adds.simulate() methods for every model class
(cpb, cpb_fe, gec,
gec_fe, count_reg, hurdle_count,
zi_count, hurdle_cpb, hurdle_gec,
zi_cpb, zi_gec), with fitted()
completed across the two-part and fixed-effects classes, so any fit
plugs into DHARMa’s simulated-residual diagnostics via
DHARMa::createDHARMa().mundlak(): correlated-random-effects device that
augments a formula with unit means, model-agnostic across the
estimators.score() and cv_score() (log score and
ranked probability score, in sample and by cross-validation),
rootogram() (Tukey hanging), and pit_hist()
(non-randomized PIT histogram).The estimators are hardened for the difficult likelihoods this package targets (near-boundary dispersion, zero-heavy and dummy-heavy panels):
NA: a Fisher-scoring fallback for the
zero-truncated-Poisson screen when the default IRLS fit errors or
silently diverges, and a ridge-regularized Fisher step in the bootstrap
null on singular information matrices. Each fallback warns and reports
the method actually used.peacekeeping dataset (UN peacekeeping
contributions, a state-year roster with structural zeros).broom
(tidy/glance/augment) methods for
all model classes, and modelsummary / texreg
table support.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.