Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

FieldTypeRequired
op"crps"Yes
outcomenumberYes
samplesarray of numberYes

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 resultExpected
/empirical_crps0.2222222222222222

Float comparisons use a 1e-12 tolerance. Request schema validation and cross-record validation still apply. See errors and recovery for failure handling.