Inference result contract¶
Ethnicolr returns name-pattern estimates under inference contract version 1.0. The contract separates whether a model produced a probability distribution from whether Ethnicolr chose to return a label. This distinction matters because a model can score a name while abstaining from a label when the evidence is ambiguous.
The contract is intended to be shared by Pranaam, Instate, Outkast, Naampy, and other name-inference packages. Each package retains its target-specific probability columns; the common columns make results interpretable and testable across packages.
If an input column uses a name reserved for estimator output, Ethnicolr preserves
the input under input_<name>. It adds a numeric suffix when that name already
exists.
Common columns¶
Column |
Meaning |
|---|---|
|
Version of this result contract. |
|
Always |
|
Quantity estimated, such as |
|
Name components used: |
|
Highest-probability returned label, or missing after abstention. |
|
Probability of |
|
Whether the model produced a usable probability distribution. |
|
Whether the input script is supported. |
|
Whether the package declined to return a label. |
|
Machine-readable reason for abstention. |
|
Stable identifier for the model or dictionary. |
|
Version of the package producing the estimate. |
|
Immutable revision of every artifact used for inference. |
|
Population represented by the training or lookup data. |
|
Whether and how probability calibration was validated. |
|
Data population used to assess or fit calibration. |
|
Method used for uncertainty output, when requested. |
|
Requested interval, range, or coverage level. |
Required invariants¶
An unscored row must abstain.
A row that does not abstain must be scored and have a predicted label and probability.
An unsupported-script row cannot be scored.
Target probabilities on a scored row must be finite, between zero and one, and sum to one, apart from documented rounding.
predicted_probabilitymust equal the target probability associated withpredicted_label.model_revisionmust identify an immutable, complete artifact bundle. A mutable branch name such asmainorlatestis not a revision.A scored row may still abstain when a package applies an uncertainty rule. In that case the probability distribution remains available but
predicted_labelis missing.
Abstention reasons¶
The shared vocabulary is missing-name, no-letters, unsupported-script,
out-of-vocabulary, out-of-dictionary, uncertain-score, and
insufficient-evidence. Packages may add a reason only when none of these is
accurate.
Uncertainty columns¶
Statistical interval columns use <probability_column>_lower and
<probability_column>_upper. Monte Carlo dropout summaries use
<probability_column>_mc_mean, _mc_std, _mc_lower, and _mc_upper because
their empirical quantiles are not automatically confidence intervals.
Intended use¶
These outputs describe patterns associated with names in a stated reference population. They do not establish a person’s identity, ancestry, citizenship, religion, caste, race, or ethnicity. Do not use them for individual profiling or consequential decisions. Prefer aggregate analysis, disclose abstention and coverage, and report sensitivity to the reference population.