Skip to main content

MATRIX_PROFILE

Enterprise only

Gives an anomaly score to each point using a left matrix profile algorithm1.
To make the matrix profile approach better at point anomaly detection, a proprietary transformation function is applied to the matrix profile.

This detector returns an anomaly score, it does not return expected values, upper and lower bounds.
This detector is recommended for granularity <= 1 hour.

Inputs

"targetProperty": "current": The data on which to perform detection. It should contain the historical data to use for training.

Parameters

namedescriptiondefault value
component.sensitivityAnomaly score threshold. Eg for 0.8`` every point that has as a score bigger that 0.8` is flagged as an anomaly.
component.lookbackPeriodHistorical period to use as a reference. In ISO-8601 format. Requires component.monitoringGranularity, see shared parameters. Eg: P14D. If component.lookbackPeriod is not set, component.lookback is used.
component.seasonalityPeriodSeasonality biggest period. Used to infer the window size of the matrix profile. In ISO-8601 format. Requires component.monitoringGranularity, see shared parameters. Eg: P7D.null (inferred from the data)
component.distanceFor advanced users. Whether to use NORMALIZED or NON_NORMALIZED euclidean distance for the matrix profile computation.NORMALIZED
component.computeBoundsExperimental. If true, attempts to compute expected values, upper and lower bounds.false
component.cumulateDiscordUntilAnomalyExperimental. If true, uses a transformation function on the MP that is more robust to slow-change anomalies.false

Example

{
"name": "root",
"type": "AnomalyDetector",
"params": {
"type": "MATRIX_PROFILE",
"component.sensitivity": "2",
"component.lookbackPeriod": "P21D",
... # shared parameters
},
"inputs": [
{
"targetProperty": "current",
"sourcePlanNode": "currentData",
"sourceProperty": "currentOutput"
}
],
"outputs": []
}