变化点检测
变化点检测试图识别时间序列行为发生变化的时刻。例如,它可以用来识别时间序列的幅度或方差的突然变化。
来自 scenes-ml
的 SceneChangepointDetector
组件可以用来将此功能添加到面板中的所有系列。此组件将在每个检测到的变化点添加一个注释。
警告
变化点检测目前是一个测试功能。底层算法在某些面板上可能运行缓慢,因此在使用之前请务必彻底测试。
用法
以下代码示例演示了如何将变化点检测添加到时间序列面板中。
import { SceneChangepointDetector } from '@grafana/scenes-ml';
// Default values are shown here, all are optional.
const changepointDetector = new SceneChangepointDetector({
enabled: false,
pinned: false,
onChangepointDetected: (changepoint: Changepoint) => {},
});
const panel = PanelBuilders.timeseries().setHeaderActions([outlierDetector]).build();
注意
请确保您只为时间序列面板添加变化点检测,因为它很少适用于其他面板类型。
固定结果
默认情况下,基线会在每次状态变化时重新计算,即时间范围、查询或间隔发生变化时。这并不总是希望的:例如,用户可能想要放大并查看未来时间范围内的当前预测。
启用 固定 设置将冻结当前结果,因此它们在时间范围或其他设置更改时不会被重新计算。
技术细节
scenes-ml
目前使用 自回归高斯过程变化点检测 (ARGPCP) 算法,在某些情况下可能会很慢。未来可能会添加其他算法。