异常值检测
异常值检测 是识别组内一个或多个序列行为与其他序列不同的问题。
scenes-ml
提供了 SceneOutlierDetector
组件,该组件将执行异常值检测并突出显示任何行为异常的序列。它还将添加一个灰色带,指示“集群范围”(可以被认为是非异常值的数据范围),并且(可选)在检测到异常值的时间范围内添加注释。
用法
下面的代码示例演示了如何将异常值检测添加到时间序列面板。
import { SceneOutlierDetector } from '@grafana/scenes-ml';
// Default values are shown here, all are optional.
const outlierDetector = new SceneOutlierDetector({
sensitivity: 0.5,
addAnnotations: false,
pinned: false,
onOutlierDetected: (outlier: Outlier) => {},
});
const panel = PanelBuilders.timeseries().setHeaderActions([outlierDetector]).build();
注意
请确保仅将异常值检测添加到时间序列面板,因为它很少对其他面板类型有意义。
固定结果
默认情况下,基线会在每次状态更改时重新计算,即每当时间范围、查询或间隔更改时。这并不总是理想的:例如,用户可能希望缩小以查看未来时间范围内的当前预测。
启用固定 设置将冻结当前结果,因此它们不会随着时间范围或其他设置的更改而重新计算。
技术细节
scenes-ml
目前使用 DBSCAN 算法的变体来检测异常值。将来可能会添加其他算法。