Skip to content
OATSCHEMA

Docs / Schemas / regression / 0.6.0

Regression 0.6.0

Represent continuous numerical predictions. Supports point estimates, confidence intervals, and time-series forecasting.

This is an older version of regression.

The latest version is 0.8.0. Releases before 0.7.0 use the $id https://dorsalhub.com/schemas/open/regression and are served by DorsalHub.

$id
https://dorsalhub.com/schemas/open/regression
Latest
https://oatschema.org/regression
Versions
Source
v0.6.0 on GitHub

Schema

regression.json Raw
{    "x-license": {        "id": "Apache-2.0",        "notice": "Copyright 2025-2026 Dorsal Hub LTD",        "url": "https://github.com/dorsalhub/open-validation-schemas/blob/main/LICENSE"    },    "$schema": "https://json-schema.org/draft/2020-12/schema",    "$id": "https://dorsalhub.com/schemas/open/regression",    "title": "Regression",    "version": "0.6.0",    "description": "Represent continuous numerical predictions. Supports point estimates, confidence intervals, and time-series forecasting.",    "type": "object",    "properties": {        "target": {            "type": "string",            "description": "The name of or a reference to the variable being predicted (e.g., 'temperature', 'stock_price').",            "maxLength": 256        },        "unit": {            "type": "string",            "description": "The unit of measurement.",            "maxLength": 128        },        "producer": {            "type": "string",            "description": "The creator (model, tool or author) of this regression.",            "maxLength": 1024        },        "score_explanation": {            "type": "string",            "description": "Explanation of the score metric and its semantics (e.g. 'R-squared' or 'Model Confidence').",            "maxLength": 256        },        "points": {            "type": "array",            "description": "The regression data points. A single item represents a point estimate; multiple items represent a time series or distribution.",            "maxItems": 10000,            "items": {                "type": "object",                "description": "A single predicted value.",                "properties": {                    "value": {                        "description": "The predicted or sampled value. Null represents a missing value, such as a gap in a time series.",                        "anyOf": [                            {                                "type": "number"                            },                            {                                "type": "null"                            }                        ]                    },                    "statistic": {                        "type": "string",                        "description": "The statistical nature of this value.",                        "enum": [                            "mean",                            "median",                            "mode",                            "min",                            "max",                            "quantile",                            "sample"                        ]                    },                    "quantile_level": {                        "type": "number",                        "description": "The quantile level (e.g., 0.95). Required when statistic is 'quantile', and only allowed then.",                        "minimum": 0,                        "maximum": 1                    },                    "timestamp": {                        "type": "string",                        "format": "date-time",                        "maxLength": 128,                        "description": "The specific time this prediction applies to."                    },                    "interval_lower": {                        "type": "number",                        "description": "The lower bound of the confidence interval."                    },                    "interval_upper": {                        "type": "number",                        "description": "The upper bound of the confidence interval. Must not be less than interval_lower."                    },                    "score": {                        "type": "number",                        "description": "A normalized score for this point (-1.0 to 1.0). Depending on the metric, this may be a probability (0 to 1) or a bipolar metric such as R-squared clipped to [-1, 1]. Use score_explanation to clarify.",                        "minimum": -1,                        "maximum": 1                    },                    "attributes": {                        "type": "object",                        "description": "Arbitrary metadata relevant to this point.",                        "maxProperties": 16,                        "propertyNames": {                            "maxLength": 128                        },                        "additionalProperties": {                            "anyOf": [                                {                                    "type": "string",                                    "maxLength": 1024                                },                                {                                    "type": "number"                                },                                {                                    "type": "boolean"                                },                                {                                    "type": "null"                                }                            ]                        }                    }                },                "required": [                    "value"                ],                "allOf": [                    {                        "if": {                            "properties": {                                "statistic": {                                    "const": "quantile"                                }                            },                            "required": [                                "statistic"                            ]                        },                        "then": {                            "required": [                                "quantile_level"                            ]                        }                    },                    {                        "if": {                            "required": [                                "quantile_level"                            ]                        },                        "then": {                            "properties": {                                "statistic": {                                    "const": "quantile"                                }                            },                            "required": [                                "statistic"                            ]                        }                    }                ],                "additionalProperties": false            }        },        "attributes": {            "type": "object",            "description": "Arbitrary metadata relevant to this regression.",            "maxProperties": 16,            "propertyNames": {                "maxLength": 128            },            "additionalProperties": {                "anyOf": [                    {                        "type": "string",                        "maxLength": 1024                    },                    {                        "type": "number"                    },                    {                        "type": "boolean"                    },                    {                        "type": "null"                    }                ]            }        }    },    "required": [        "points"    ],    "allOf": [        {            "if": {                "properties": {                    "points": {                        "maxItems": 0                    }                },                "required": [                    "points"                ]            },            "then": {                "required": [                    "producer"                ]            }        }    ],    "additionalProperties": false}

Examples

Records that pass validation against this schema.

regression-2
regression-2.json
{  "target": "daily_rainfall",  "unit": "mm",  "producer": "forecast-model-v4",  "score_explanation": "R-squared on the validation set, clipped to [-1, 1].",  "points": [    { "timestamp": "2026-05-01T00:00:00Z", "statistic": "median", "value": 2.4, "score": 0.81 },    { "timestamp": "2026-05-01T00:00:00Z", "statistic": "quantile", "quantile_level": 0.9, "value": 6.1 },    { "timestamp": "2026-05-02T00:00:00Z", "statistic": "median", "value": null },    { "timestamp": "2026-05-03T00:00:00Z", "statistic": "median", "value": 0.0, "score": -0.12 }  ]}
regression-1
regression-1.json
{  "target": "temperature",  "unit": "celsius",  "producer": "WeatherForecaster-v2.1",  "score_explanation": "Probability of observation falling within the interval.",  "attributes": {    "region": "London, UK",    "model_version": 2.1,    "deployment_id": "dep_88a9s8d"  },  "points": [    {      "value": 15.5,      "timestamp": "2025-10-12T12:00:00Z",      "statistic": "mean",      "interval_lower": 14.8,      "interval_upper": 16.2,      "score": 0.98    },    {      "value": 18.2,      "timestamp": "2025-10-12T12:00:00Z",      "statistic": "max",      "attributes": {        "description": "Peak heat spike",        "is_anomaly": true      }    },    {      "value": null,      "timestamp": "2025-10-12T13:00:00Z",      "attributes": {        "status": "sensor_offline"      }    },    {      "value": 14.0,      "timestamp": "2025-10-12T14:00:00Z",      "quantile_level": 0.5,      "statistic": "quantile"    }  ]}

Fields

  • target string

    The name of or a reference to the variable being predicted (e.g., 'temperature', 'stock_price').

    • at most 256 characters
  • unit string

    The unit of measurement.

    • at most 128 characters
  • producer string

    The creator (model, tool or author) of this regression.

    • at most 1024 characters
  • score_explanation string

    Explanation of the score metric and its semantics (e.g. 'R-squared' or 'Model Confidence').

    • at most 256 characters
  • points array of object required

    The regression data points. A single item represents a point estimate; multiple items represent a time series or distribution.

    Each item: A single predicted value.

    • at most 10000 items
    • value number | null required

      The predicted or sampled value. Null represents a missing value, such as a gap in a time series.

    • statistic string

      The statistical nature of this value.

      Allowed values: "mean", "median", "mode", "min", "max", "quantile", "sample"

    • quantile_level number

      The quantile level (e.g., 0.95). Required when statistic is 'quantile', and only allowed then.

      • 0 to 1
    • timestamp string

      The specific time this prediction applies to.

      • at most 128 characters
      • format date-time
    • interval_lower number

      The lower bound of the confidence interval.

    • interval_upper number

      The upper bound of the confidence interval. Must not be less than interval_lower.

    • score number

      A normalized score for this point (-1.0 to 1.0). Depending on the metric, this may be a probability (0 to 1) or a bipolar metric such as R-squared clipped to [-1, 1]. Use score_explanation to clarify.

      • -1 to 1
    • attributes object

      Arbitrary metadata relevant to this point.

      • at most 16 properties
      • keys at most 128 characters
      • * string | number | boolean | null

        Any other key.

        • string: at most 1024 characters

    Rules:

    • When statistic is "quantile", quantile_level is required.
      Show the JSON Schema
      {  "if": {    "properties": {      "statistic": {        "const": "quantile"      }    },    "required": [      "statistic"    ]  },  "then": {    "required": [      "quantile_level"    ]  }}
    • When the condition below holds, further limits apply.
      Show the JSON Schema
      {  "if": {    "required": [      "quantile_level"    ]  },  "then": {    "properties": {      "statistic": {        "const": "quantile"      }    },    "required": [      "statistic"    ]  }}
  • attributes object

    Arbitrary metadata relevant to this regression.

    • at most 16 properties
    • keys at most 128 characters
    • * string | number | boolean | null

      Any other key.

      • string: at most 1024 characters

Rules:

  • When points is empty, producer is required.
    Show the JSON Schema
    {  "if": {    "properties": {      "points": {        "maxItems": 0      }    },    "required": [      "points"    ]  },  "then": {    "required": [      "producer"    ]  }}

Copyright 2025-2026 Dorsal Hub LTD. Licensed under Apache-2.0.