跳到主要内容

基线和预测

基线提供时间序列数据的平滑估计值,以及数据随时间变化的上下限。它们也可以用作预测,利用历史数据来预测未来数据的行为。

此功能也可用于异常检测,通过高亮显示真实值超出预测上下限的时间戳。

通过使用 scenes-ml 中的 SceneBaseliner 组件,可以将基线添加到面板中。该组件将添加一个控件,用于启用/禁用计算、调整预测区间、发现季节性并固定结果。

Panel with baselines added

用法

以下代码示例演示了如何将基线添加到时间序列面板。

import { SceneBaseliner } from '@grafana/scenes-ml';

// Default values are shown here, all are optional.
const baseliner = new SceneBaseliner({
interval: 0.95,
discoverSeasonalities: false,
pinned: false,
});
const panel = PanelBuilders.timeseries().setHeaderActions([baseliner]).build();
注意

确保只将基线添加到时间序列面板中,因为它们很少适用于其他面板类型。

固定结果

默认情况下,基线在每次状态变化时重新计算,例如当时间范围、查询或间隔改变时。这并非总是理想的:例如,用户可能希望缩小范围并查看未来时间范围内的当前预测。

启用固定 设置将冻结当前结果,因此在时间范围或其他设置更改时不会重新计算它们。

技术细节

scenes-ml 使用 MSTL 算法生成样本内和样本外预测。该算法将数据分解为趋势季节性残差,然后使用 ETS 算法对趋势序列进行建模。

默认情况下,该算法假定存在每小时每日每周每年的季节性(如果数据跨越给定季节长度的至少两个周期,例如每小时至少两个小时或每日至少两天)。

如果启用了发现季节性 设置,基线工具将首先尝试使用周期图检测数据中的任何非标准季节性,并在建模数据时考虑这些季节性。