变化点检测
变化点检测尝试识别时间序列行为发生变化的时间戳。例如,它可用于识别时间序列的幅度或方差中的突然变化。
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
当前使用 AutoRegressive Gaussian Process Change Point detection (ARGPCP) 算法,该算法在某些情况下可能较慢。未来可能会添加替代算法。