estiMINT RQS models

Conditional rational-quadratic spline (RQS) normalizing flows used by estiMINT to predict quantiles of malaria transmission intensity targets (EIR, human biting rate) from a single transmission-intensity predictor plus intervention-coverage covariates.

Each model is a conditional normalizing flow: an MLP maps context features to spline parameters, which transform a standard normal base distribution into the target's distribution. Sampling a quantile q gives calibrated predictive intervals in addition to a point (median) estimate.

Available models

Model Predictor Target
hbr_y9-eir hbr_y9 eir
prev_y9-eir prev_y9 eir
eir-hbr_y9 eir hbr_y9

Covariates

Every model takes the same seven raw covariates: the predictor column first, then six intervention-coverage covariates.

Position Name Notes
0 <predictor> eir, prev_y9, or hbr_y9 โ€” whichever the model is keyed on
1 dn0_use
2 Q0
3 phi_bednets
4 seasonal
5 itn_use
6 irs_use

So hbr_y9-eir expects hbr_y9, dn0_use, Q0, phi_bednets, seasonal, itn_use, irs_use.

Pass raw, unstandardized values โ€” standardization (and log10 transforms where applicable) is applied internally. Predictions are returned on the original (non-log) scale, clipped at 0.

Usage

from estimint.v2.models.rqs import ConditionalRQS

# from a local export directory
artifact = ConditionalRQS.from_pretrained("artifacts/hbr_y9-eir", predictor="hbr_y9", target="eir")

# from this Hub repo
artifact = ConditionalRQS.from_pretrained("<org>/<repo>", predictor="hbr_y9", target="eir")

X_raw = [
    {"hbr_y9": 12.4, "dn0_use": 0.5, "Q0": 0.92, "phi_bednets": 0.80,
     "seasonal": 0, "itn_use": 0.40, "irs_use": 0.00},
    {"hbr_y9": 3.1, "dn0_use": 0.3, "Q0": 0.90, "phi_bednets": 0.70,
     "seasonal": 1, "itn_use": 0.20, "irs_use": 0.10},
]

artifact.predict(X_raw)                 # median prediction, shape (2,)
artifact.quantile(X_raw, 0.9)           # single quantile
artifact.interval(X_raw, alpha=0.10)    # (lower, upper) 90% predictive interval

X_raw may be:

  • a list of dicts, one dict per row, keyed by the covariate names above. Key order does not matter โ€” the artifact reorders each row into the training order. Each dict must contain exactly the seven covariates; missing or unexpected keys raise an error.
  • a single dict, treated as one row (results still come back as length-1 arrays).
  • a (batch, 7) array of raw values, already in the order above.

Note: interval() currently returns the raw [alpha/2, 1-alpha/2] quantile band; the conformal calibration offset computed during training is not yet carried over to exported artifacts, so intervals from from_pretrained models are not conformally corrected.

License

MIT, matching the parent estiMINT repo.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support