Package
Status — Reference
Mirrors drmTMB's Package (1 item in drmTMB). The DRM module overview.
DRM Module
DRMDRM.jl — a Julia engine for distributional regression models, the Julia twin of the R package drmTMB. Mirrors the gllvmTMB → GLLVM.jl move.
The package covers univariate and bivariate distributional regression across some twenty response families, with random, phylogenetic, spatial, pedigree and supplied-matrix structure. Its origin is the q=4 phylogenetic bivariate location–scale model (PLSM) — the selling-point model of drmTMB (Nakagawa et al. 2025 MEE, Model 5). That marginal is a sparse augmented-state Laplace approximation with an exact O(p) gradient (implicit-function / TMB-style, via Takahashi selected inverse — never forms a dense p×p Σ_phy), optimised by LBFGS with a fast-path-then-robust mode-finder.
For what is implemented and how far each route is tested, see the capability matrix in the documentation. Measured comparisons against drmTMB, with their run conditions, live in report/comparison-grid.md and HANDOVER.md §2; they are specific to the model and data measured and are deliberately not quoted as figures here (HANDOVER.md §2, "Do NOT oversell").
NOTE (see HANDOVER.md): the engine files were migrated as the poc's script-style includes (chain: fit_q4_sparse_tmb → fit_ml_q4 → sparse_em_fit → sparse_aug_plsm → sparse_phy / takahashi_selinv). Inference (Wald + profile + parametric bootstrap) is wired in src/inference.jl. Public / included on tip: opt-in REML (src/reml_q4.jl,drm(method = :REML); restricted correction covers all four among-axis axes — see #11) and the conjugate-EM Gaussian phylo-mean solver (src/location_only.jl,algorithm = :em — see #12). #13 decision gate FAIL (2026-08-01): natural-gradient EM stalls vs sparse TMB on q4_p100 — do not expose algorithm = :natgrad; the reusable Fisher metric lives in src/lc_metric.jl. Still experimental (not wired): SQUAREM EM, trust-region & line-search E-steps, dense q=4 EM, warm-start fit variants, and the leftover src/experimental/location_only.jl / fit_em_natgrad.jl prototypes — do not treat that directory as the public REML / :em surface.