变更点检测
变更点检测 尝试识别时间序列行为发生变化的时间戳。例如,它可以用于识别时间序列的幅度或方差的突然变化。
来自 scenes-ml
的 SceneChangepointDetector
组件可用于将此功能添加到面板中的所有序列。此组件将在每个检测到的变更点添加一个注释。
警告
变更点检测目前是一项 beta 功能。对于某些面板,底层算法的执行速度可能较慢,因此请务必在使用前进行彻底测试。
用法
下面的代码示例演示了如何将变更点检测添加到时间序列面板。
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) 算法,在某些情况下可能会很慢。未来可能会添加其他算法。