mixqrgate extends mixqr so that the mixing probabilities of a finite mixture of quantile regressions can depend on covariates — and on the quantile level. The mixing weights follow a multinomial-logit gate; with a quantile-indexed gate, latent-class membership can change across the conditional distribution. An observation may belong to one regime near the median and another in the tail.
This is the location-varying mixing of Furno (2025), turned from a Stata reweighting heuristic into a likelihood/EM object — with standard errors on the gate, which the original method does not provide.
# install.packages("remotes")
remotes::install_github("kvenkita/mixqr") # required
remotes::install_github("kvenkita/mixqrgate")library(mixqrgate)
d <- sim_gate2(n = 600, gamma = c(0, 1.5)) # gate depends on z
# concomitant gate at the median
fit <- mixqrgate(y ~ x, data = d, gating = ~ z, G = 2, tau = 0.5)
summary(fit) # component coefficients + gate coefficients WITH SEs
# location-varying gate: refit the gate at each quantile
fitv <- mixqrgate(y ~ x, data = d, gating = ~ z, G = 2,
tau = c(0.1, 0.5, 0.9), vary_gating = "discrete")
plot(fitv, which = "gating") # gate-vs-tau picture- Concomitant gate.
gating = ~ z1 + z2puts a multinomial logit on the mixing probabilities; the gating covariates may differ from the component-regression covariates. - Quantile-indexed gate. A vector
tauwithvary_gating = "discrete"refits the gate at each quantile, so membership can vary across the distribution (Furno's location-varying mixing). - Inference on the gate. Sandwich standard errors, z- and p-values per
quantile — answer whether and how membership changes with the covariates
and with
tau. - Reduces to mixqr.
gating = ~1gives a constant gate and the ordinary mixture-of-quantile-regressions fit. - Two engines. Parametric asymmetric-Laplace (
method = "ald") or the Wu & Yao nonparametric kernel-density path (method = "kde").
mixqrgate reuses mixqr's component and constrained-error-density machinery
through its extension API (weighted_rq(), constrained_kde()); only the gate
is new. The component estimates, diagnostics, and quantile semantics are those of
mixqr.
Venkitasubramanian, K. (2026). mixqrgate: Location-Varying Gating for Mixtures of Quantile Regressions. R package version 0.1.0.
Please also cite Furno (2025) for the location-varying mixing idea and Wu & Yao (2016) for the mixture-of-quantile-regressions estimator.
Created and maintained by Kailas Venkitasubramanian, University of North Carolina at Charlotte. MIT licensed.