ForecastResult

Forecast result for a given slice.

JSON representation
{
  "label": enum (ForecastResultLabel),
  "holdoutErrors": {
    object (ForecastErrors)
  },
  "trainingErrors": {
    object (ForecastErrors)
  },
  "forecastStats": {
    object (ForecastStats)
  },
  "history": {
    object (Timeseries)
  },
  "forecast": {
    object (Timeseries)
  },
  "detectionPointActual": number,
  "detectionPointForecast": number,
  "detectionPointForecastLowerBound": number,
  "detectionPointForecastUpperBound": number
}
Fields
label

enum (ForecastResultLabel)

The anomaly detection label assigned to this slice.

holdoutErrors

object (ForecastErrors)

Forecast errors over the holdout interval of the time series.

trainingErrors

object (ForecastErrors)

Forecast errors over the training interval of the time series.

forecastStats

object (ForecastStats)

Forecast analysis stats.

history

object (Timeseries)

The actual values in the [ detectionTime - forecastHistory, detectionTime ] time range.

NOTE: This field is only populated if this slice is classified as an anomaly and only if returnTimeseries is true.

forecast

object (Timeseries)

The forecasted values in the [ detectionTime + granularity, forecastParams.horizonTime ] time range.

NOTE: This field is only populated if this slice is classified as an anomaly and only if returnTimeseries is true.

detectionPointActual

number

The actual value at the detection time (see detectionTime).

NOTE: This value can be an estimate, so it should not be used as a source of truth.

detectionPointForecast

number

The expected value at the detection time, which is obtained by forecasting on the historical time series.

detectionPointForecastLowerBound

number

The lower bound of the expected value of the detection point based on detectionPointForecast and adjusting for any forecast errors (as specified in holdoutErrors).

detectionPointForecastUpperBound

number

The upper bound of the expected value of the detection point based on detectionPointForecast and adjusting for any forecast errors (as specified in holdoutErrors).

ForecastResultLabel

The output state of the slice.

Enums
FORECAST_RESULT_LABEL_UNSPECIFIED Unknown label.
ANOMALY The slice was marked as an anomaly.
WITHIN_EXPECTED_BOUNDS The slice has the detectionPoint actual value within the expected bounds and is not an anomaly.
INSUFFICIENT_DATA Not enough data to classify the slice as an anomaly.

ForecastErrors

Forecast performance.

JSON representation
{
  "mdape": number,
  "rmd": number
}
Fields
mdape

number

MDAPE observed over the forecast interval, the median version of MAPE

rmd

number

RMD observed over the forecast interval.

ForecastStats

Forecast analysis stats.

JSON representation
{
  "density": string,
  "numAnomaliesInHoldout": integer
}
Fields
density

string (int64 format)

Percentage in the [0, 100] interval with how many data points we have in the historical time series used to train the forecasting model.

numAnomaliesInHoldout

integer

Number of points that would be marked as an anomaly over holdout.

Timeseries

A time series.

JSON representation
{
  "point": [
    {
      object (TimeseriesPoint)
    }
  ]
}
Fields
point[]

object (TimeseriesPoint)

The points in this time series, ordered by their timestamp.

TimeseriesPoint

A point in a time series.

JSON representation
{
  "time": string,
  "value": number
}
Fields
time

string (Timestamp format)

The timestamp of this point.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

value

number

The value for this point.

It is computed by aggregating all events in the associated slice that are in the [time, time + granularity] range (see granularity) using the specified metric.