crps
Evaluate an empirical continuous predictive distribution in the outcome’s units.
Contract
Samples must be nonempty and finite. Sorting gives O(n log n) computation instead of a quadratic pairwise matrix. Repeated sample values are allowed.
Fields
| Field | Type | Required |
|---|---|---|
op | "crps" | Yes |
outcome | number | Yes |
samples | array of number | Yes |
This operation needs no existing question or forecast. Use --memory for a calculation-only session.
Request
Send this object on one line. It is expanded below for readability.
{
"version": 1,
"id": "example",
"command": {
"op": "crps",
"samples": [
1.0,
2.0,
3.0
],
"outcome": 2.0
}
}
Response
This response is generated by executing the example against the current binary. Commit timestamps, when present, are shown as <runtime UTC seconds>; the actual protocol returns integer UTC seconds.
{
"version": 1,
"id": "example",
"result": {
"empirical_crps": 0.2222222222222222
}
}
Verification
The documentation gate executes the setup and request, then checks the following result fields against independently specified expectations:
JSON pointer within result | Expected |
|---|---|
/empirical_crps | 0.2222222222222222 |
Float comparisons use a 1e-12 tolerance. Request schema validation and cross-record validation still apply. See errors and recovery for failure handling.