跳至主要内容

变化点检测

变化点检测尝试识别时间序列行为发生变化的时间戳。例如,它可用于识别时间序列的幅度方差中的突然变化。

scenes-ml 中的 SceneChangepointDetector 组件可用于将此功能添加到面板中的所有序列。此组件将在每个检测到的变化点添加一个注解。

Panel with changepoints added

警告

变化点检测目前是 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 当前使用 AutoRegressive Gaussian Process Change Point detection (ARGPCP) 算法,该算法在某些情况下可能较慢。未来可能会添加替代算法。