The multivariate-probit package ships a compiled scoring backend that evaluates each row in 20–90 µs up to 20 outcomes. It runs free for small problems. A key unlocks the rest.
| Free | With a key | |
|---|---|---|
| Outcomes per problem | up to 3 | any (measured to 20) |
| Resolution | "low" only | "low" or "high" |
Accuracy at "high" | — | median error ≤ 0.007 on a probability, deterministic |
Accuracy and speed against SciPy and GHK simulation are in the GHK study. Use "high" for anything you report: "low" is several times less accurate and no faster at typical batch sizes.
pip install multivariate-probit[orthant] # CPython 3.11 / 3.12, x86-64 Linux
export ORTHANT_KEY=... # or save it to ~/.orthant/key
from multivariate_probit import MultivariateProbit
model = MultivariateProbit(inner="xgboost", dependence="pairwise",
evaluator="orthant", resolution="high").fit(X, Y)
model.predict_proba(X_test).joint(Y_test)
A backend that can't run as asked raises an error; it never silently falls back to another one. For test sets too large for one machine, the same scoring runs as a hosted GPU service through quantecarlo.orthant_cdf.
Tell us what you're scoring: roughly how many outcomes and rows. We'll send a key.