更新时间:2022-08-13 21:30:54
时间序列预测的主要目的是根据已有的历史数据进行分析预测,目前支持通用场景、容量预测两种场景化预测:
通用场景为对通用指标数据的预测,例如:根据服务的历史访问日志数据,对未来一周的访问请求数据进行预测,运营人员可根据预测结果分析用户留存等问题,挖掘问题本质;
• 容量预测场景为对目前容量的可用时间预测,例如:虚拟机的资源依赖于集群主机的CPU、内存以及存储主机的储存资源,根据这些资源的历史增长情况,预测当前资源容量可使用的时间,管理员可根据预测结果规划这些资源的使用,稳定虚拟机的运行性能和服务质量。
一个完整的时间序列预测任务分为 5 个部分,数据源配置、数据预处理、模型计算、字段填充和定时任务:
• 数据源配置:用于准备数据,以实现数据分析及分析维度的可视化展示;
• 数据预处理:用于缺失值处理配置,避免因数据缺失导致无法计算的情况;
• 模型计算:用于提供不同场景、多种算法,可根据实际需求选择不同的场景、算法及参数进行模型计算;
• 字段填充:用于对预测结果的二次处理,在预测结果数据中增加字段内容,可用于可视化展示; 
• 定时任务:用于启用定时执行异常检测任务,支持查看执行任务详情记录。
新建时间序列预测任务,具体操作如下:
1. 进入机器学习页面,点击【新建】进入新建机器学习任务页面,点击【查看帮助】可查看时间序列检测机器学习任务的简介和应用场景示例,如下所示:


2. 点击【时间序列预测】进入参数配置页面,点击右上角【查看帮助】可翻页查看时间序列预测的简介、使用帮助、参数配置指导、算法介绍;
3. 配置数据源:
数据源部分用于以可视化方式展示原始数据、数据统计信息以及趋势图。
1)配置数据源:填写数据源配置信息。时间序列数据预览配置步骤,除桶只能选择时间类型外,其他与单维度异常检测配置一致,详细请参见 单维度异常检测  章节;
2)点击【预览】可查看数据预览结果,如下所示:


数据预览结果包括:数据趋势图和原始数据列表。
元素名称 元素说明
趋势图 表示所选数据的趋势情况:
► 光标浮动到图形上可显示提示信息,提示信息第一行:为桶字段信息;第二行:为度量字段的信息;
► 趋势图可调整查看的时间轴范围:
• 光标浮动到图形上滑动鼠标滚轮,可放大/缩小时间轴范围;
• 直接拖动图形下方的时间缩放器进行放大/缩小
原始数据列表 原始数据列表第一列:为桶字段信息;第二列:为度量字段的信息
4. 配置数据预处理:
时间序列预测数据处理分为:缺失值方法和预处理 2 个部分,如下所示:

1)配置缺失值处理方法模块:通过选择不同的缺失值处理方法可以对数据中的缺失值进行填充,提升数据质量;
2)配置预处理部分:可以选择不同的方法进行数据预处理,目前支持极差标准化 Z-Score 标准化 2 种类型。


► 标准化:即方差计算,方差是平均值的对比:
• 极差标准化:极差又称范围误差或全距,用于统计数据中的变异点数量,极差值即为最大值与最小值之间的差距。极差标准化可体现一组数据波动的范围,极差越大,离散程度越大;
• Z-Score 标准化:即零-均值规范化,也称标准差标准化,是数据规范化处理的方式之一。可用于数据分布过于凌乱,无法判断最大值与最小值,或数据中心存在过多变异点的场景。

3)点击【应用】,执行成功后显示【查看结果】按钮,点击可查看数据预处理后的字段结果,如下所示:

5. 配置模型计算:
模型计算目前支持两种场景,分别为通用场景及容量预测场景,通用场景为对通用指标数据的预测,容量预测场景为对目前容量的可用时间预测,两种场景的具体配置如下:
► 通用场景:
时间序列预测的通用场景需要配置算法相关参数,时间序列预测支持一次指数平滑、二次指数平滑、三次指数平滑 3 种算法。对于某些算法参数,AnyRobot 可以自动适应参数;如需手动添加,可勾选手动设置算法参数进行设置。

► 一次指数平滑:一种特殊的加权平均法,适用于水平型曲线的数据。
元素名称 元素说明
预测周期 设置数据预测的时间间隔(天);例如:若预测周期为 2,则表示预测 4 天的数据
Alpha 重要性衰减速度参数,在 0 到 1 之间。数据波动不大时,选择较小的值;波动较大时,选择较大的值
点击【计算】查看时间序列预测结果,如下所示:

时间序列预测模型计算结果说明:
元素名称 元素说明
预测结果折线图 表示预计结果的折线图,其中共有 3 条曲线来展示说明预测结果:
• 原始值:黑色线,表示度量字段的原始值;
• 拟合值:蓝色线,表示通过算法拟合得出的值;
• 预测值:粉色线,表示通过算法预测得出的值
光标浮动到图形上可气泡提示当前时间的原始值、拟合值、预测值。趋势图可通过以下方式调整查看的时间轴范围:
• 光标浮动到图形上滑动鼠标滚轮,可放大/缩小时间轴;
• 直接拖动图形下方的时间缩放器进行放大/缩小
拟合优度 表示数据拟合的优劣程度;数值越接近 1,表示拟合程度越好
均方根误差 表示预测结果的优劣程度;数值越小,表示模型越好
► 二次指数平滑:基于一次指数平滑结果再次进行平滑处理,从而保留数据的趋势信息。适用于斜坡型时序数据,可预测具有趋势性的时间序列。
元素名称 元素说明
预测周期 设置数据预测的时间间隔(天);例如:预测周期为 2,则表示预测 4 天的数据
Alpha 重要性衰减速度参数,参数范围在 [0,1] 之间。数据波动不大时,选择较小的值;波动较大时,则选择较大的值
Beta 数据趋势影响参数,参数范围在 [0,1] 之间。数据具有长期趋势时,选择较小的值;数据具有短期趋势时,则选择较大的值
点击【计算】查看时间序列预测结果,如下所示:

► 三次指数平滑:在二次指数平滑的基础上保留了季节性信息,可预测带有季节性的时间序列。适用于同时含有趋势性和季节性的序列数据,多应用于抛物线型数据。
元素名称 元素说明
预测周期 设置数据预测的时间间隔(天);例如:预测周期为 2,则表示预测 4 天的数据
计算方式 • 累加模型:适用于具有线性趋势且季节效应,但不随时间变化的时间序列;
• 累乘模型:适用于具有线性趋势且季节效应,但随序列量级发生变化的时间序列
季节周期 季节周期适用于有明显季节性的数据,取值在 [0,滑动窗口/2] 之间的正整数
Alpha 重要性衰减速度参数,取值在 [0,1];数据波动不大时,选择较小值;波动较大时,则选择较大值
Beta 数据趋势影响参数,取值在 [0,1];数据具有长期趋势时,选择较小值;数据具有短期趋势时,则选择较大值
Gamma 季节性影响参数,取值在 [0,1];数据具有长周期时,选择较小值;数据具有短周期时,选择较大值
点击【计算】可查看时间序列预测结果,如下所示:

► 容量预测:
时间序列预测的容量预测场景除需配置上述算法参数以外,还需配置容量相关参数,具体参数配置如下:
  
元素名称 元素说明 限制条件
*总容量
(二选一)
来源字段 选择数据源中的数值型字段,自动获取其当前容量值 -
自定义容量 输入自定义容量值 须为大于0的整数
*阈值百分比 输入总容量值的阈值百分比,即对于此阈值进行可用时间预测,默认值为100 须为0-100的整数
点击【计算】可查看时间序列预测结果,时间序列预测容量预测场景下模型计算结果展示除折线图、拟合优度、均方根误差以外,还包括预计可用时间,表示当前容量的资源预计可用的时间,单位为天,如下所示:

说明:容量预测需要历史数据的累积,一般需要一个半月的历史数据。
6. 完成上述所有配置后,点击【保存】填写机器学习任务名称,点击【确认】即可完成机器学习任务创建操作。
说明:
• 字段填充配置功能详细参见 单维度异常检测-字段填充配置 章节,时间序列预测的字段填充结果的字段名存于搜索页面的ml-forecast字段库下。
• 定时任务配置功能详细可参见 单维度异常检测-定时任务配置 章节,时间序列预测定时任务暂不支持告警联动功能。