跳转到主要内容

基线和预测

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

此功能还可以用于异常检测,通过突出显示真实值超出下限和上限的时间戳来突出显示。

可以通过使用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 算法对趋势序列进行建模。

默认情况下,算法假定存在 每小时每日每周每年 的季节性(如果数据跨度至少包含所提供季节长度中的两个,即每小时至少两个小时或每日至少两天)。

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