跳到主要内容

预测分析(机器学习)

目录​


概述​

预测分析界面通过学习时序标签数据来预测未来值,并检测异常值(异常诊断)。运维人员只需在 GUI 中选择学习区间、采样周期和算法,即可立即通过结果图表和表格查看分析结果。

该界面用于以下分析。

  • 预测未来 N 个时点的标签值(需求预测、产量预测等)
  • 从历史数据中检测统计上偏离的异常值
  • 为确定报警规则阈值而进行的基准分析

路径:当前在集成侧边栏中可能不会作为默认菜单显示。内部 URL 为 /forecast/index,界面标题为 机器学习。

本文档介绍预测·异常诊断附加界面。基于左侧菜单的运维流程请优先参考控制台导航与通用界面。


界面构成​

┌──────────────────────────────────────────────────────────────────┐
│ 🧠 기계학습 │ ← ① 상단
├─────────────────────┬────────────────────────────────────────────┤
│ │ │
│ 📄 양식 │ 📈 기계학습 결과 │
│ ───────────────── │ ────────────────────────────────────────│
│ ◯ 대상 태그 선택 │ [학습 데이터] [이상진단 건수] [실행 시간] │ ← 요약 카드
│ • 태그명 입력 │ │
│ │ ┌──────────────────────────────────────┐ │
│ ◯ 데이터 구간 │ │ │ │
│ • 학습 구간 (날짜) │ │ 결과 차트 (520px) │ │
│ • 샘플링 주기 │ │ │ │
│ │ └──────────────────────────────────────┘ │
│ ◯ 기계학습 속성 │ │
│ • 예측 알고리즘 │ ◯ 예측 데이터 (테이블) │
│ • 예측 갯수 │ ◯ 이상진단 데이터 (테이블) │
│ • 이상진단 알고리즘 │ │
│ • 개연성 │ │
│ │ │
│ [🚀 기계학습 시작] │ │
└─────────────────────┴────────────────────────────────────────────┘
区域位置显示内容
① 顶部全宽页面标题
② 左侧col-lg-3表单(输入表单) — 4 个 fieldset + 启动按钮
③ 右侧col-lg-9机器学习结果 — 3 类摘要卡片 + 图表 + 两个结果表

顶部 — 页面标题​

项目显示内容
页面标题🧠 “机器学习”

左侧 — 表单(输入表单)​

左侧面板的表单由 4 个分组(<fieldset>)构成。

1) 选择目标标签​

输入项name宽度placeholder说明
标签名tag_name250px(蓝色边框 2px)“输入标签名”从已注册的标签列表中通过自动补全选择。选中后立即保存到隐藏字段 tag_id

输入框右侧同时显示 🧭 图标 + “请选择要进行机器学习的标签。”提示文字。

2) 数据区间​

输入项name宽度说明
学习区间learning_time250px(居中对齐、粗体)起始~结束日期时间。点击后弹出日期范围选择器。表单提交时通过隐藏字段 learning_date_from / learning_date_to 传递
采样周期term200px选择器 — “采样周期”选项(例如 1_MIN / 5_MIN / 30_MIN / 1_HOUR / 1_DAY 等系统中定义的周期列表)

什么是采样?​

选项含义
原始(RAW)直接使用全部数据点进行学习 — 适用于数据量大、变化快的标签
采样(快照)按固定周期抽取 1 个代表值进行学习 — 降低长周期学习的计算开销

隐藏选择器中默认设置为 sampling="LAST"(使用最后一个值作为代表值)。

3) 机器学习属性​

预测算法(forecast_algorithm)​

选项标签特性
LINEAR_REGRESSION(默认)Linear regression简单线性趋势 — 快速且易于解释
ARIMAAuto-regressive Integrated Moving Average利用时序自相关性与季节性
SMO_REGSupport vector machine for regression非线性模式,抗噪能力强
GAUSSIAN_PROCESSESStochastic process概率预测 + 不确定性估计

预测个数(forecast_count)​

输入项宽度说明
文本输入200px(右对齐)要预测的结果个数(以时间戳为单位)

例:采样周期 1_HOUR + 预测个数 24 = 预测未来 24 小时

异常诊断算法(abnomal_algorithm)​

选项标签特性
EGADS(默认)Seasonal-naive-based反映季节性,适用于一般运行数据
DBSCANCluster-based将偏离聚类的点判定为异常值
GAUSS_BASEDStatistical-based基于正态分布的统计异常值检测
HIL_OUTDistance-based基于距离的异常值

可能性过滤器(probability_filter)​

输入项宽度含义
文本输入200px(右对齐)0~1 之间的阈值。仅将可能性值大于等于该值的数据判定为异常数据

例:输入 0.95 时仅检测可能性在 95% 以上的强异常值。值越小检出的异常值越多,但误报也会增加。

4) 启动机器学习按钮​

按钮宽度动作
🚀 启动机器学习250px(蓝色)校验输入后向后端发起学习请求。执行过程中在右侧图表区域显示进度。完成后填充结果图表和两个表格

右侧 — 机器学习结果​

3 类摘要卡片​

图表上方的横向三分卡片(total_ml_co)。

卡片ID显示内容
学习数据result_learning_count用于学习的数据点数量
异常诊断件数result_abnomal_count检测到的异常值件数
执行时间result_text学习+预测处理所耗费的时间

执行前均显示为 -。执行完成后自动填充。

结果图表​

图表区域(data_chart,宽度 100% × 高度 520px)在同一画面中绘制以下内容。

序列含义
学习区间实测值输入的学习期间内的原始时序数据
预测值学习后预测的未来 N 个时点
预测上限(LIMIT_MAX)预测置信区间的上限
预测下限(LIMIT_MIN)预测置信区间的下限
异常值标记在异常诊断检测到的时点单独标注

图表为空时显示提示文字。

🤖 [机器学习插图]

请先选择目标标签,然后启动机器学习。

预测数据表​

<fieldset> 中 预测数据 标签下方的表格(forecast_data_table)。

列宽度显示内容
No.60px行号
时间戳200px预测时点
预测值自动算法计算出的预测值
WEIGHT自动预测权重(各算法含义不同)
LIMIT_MIN自动预测下限
LIMIT_MAX自动预测上限

异常诊断数据表​

<fieldset> 中 异常诊断数据 标签下方的表格(abnomal_data_table)。

列宽度显示内容
No.60px行号
时间戳200px检测到异常值的时点
异常诊断值200px该时点的实际测量值
可能性(PROBABILITY)自动异常值置信度(0~1,越接近 1 异常程度越强)

预测·异常诊断算法选择指南​

选择适合运行数据的算法时请参考以下内容。

预测算法​

数据特性推荐算法
单调上升/下降趋势LINEAR_REGRESSION
以日/周为单位的重复模式ARIMA
非线性且噪声较大的数据SMO_REG
希望同时查看预测不确定性时GAUSSIAN_PROCESSES

异常诊断算法​

数据特性推荐算法
具有季节性的一般运行数据EGADS(默认)
适合多维聚类分析的多变量数据DBSCAN
接近正态分布的稳定数据GAUSS_BASED
基于点间距离(全局/局部异常)HIL_OUT

可能性过滤器指南​

值效果
0.5连弱异常值也检测(误报可能性 ↑)
0.8适合一般运行场景
0.95仅检测强异常值(仅确定的异常)
0.99仅检测极强异常值(几乎无误报,漏检可能性 ↑)

应用场景​

场景配置示例
电机温度 24 小时预测标签=MOTOR-001.TEMP / 学习 7 天 / 采样 1 小时 / LINEAR_REGRESSION / 预测 24 个
能耗一周预测标签=POWER.kWh / 学习 30 天 / 采样 1 小时 / ARIMA / 预测 168 个
质量测量值异常检测标签=QUALITY.SCORE / 学习 14 天 / 采样 5 分钟 / EGADS / 可能性 0.9
振动传感器异常检测标签=VIB-001.RMS / 学习 7 天 / 采样 RAW / DBSCAN / 可能性 0.95
确定报警阈值学习稳定运行的一周数据 → 采用 GAUSS_BASED 的 LIMIT_MAX 作为报警阈值

常见问题​

Q. 启动学习后结果迟迟不出来。 A. 学习区间较长或采样周期较短时耗时会很长。首次尝试时建议将学习区间设为 1~3 天 + 采样周期约 1 小时,先轻量测算所需时间。

Q. 预测值过于平坦。 A. 学习算法为 LINEAR_REGRESSION 时只能捕捉单调趋势。若数据具有周期性,请改用 ARIMA 试试。

Q. 异常值检出过多/过少。 A. 请调整 可能性过滤器 的值。检出过多时提高到 0.90.95,检出过少时降低到 0.50.7。

Q. 学习区间短一点不行吗? A. 学习区间过短会导致模型无法学习到足够的模式。一般建议将学习区间设为 预测个数的 10 倍以上。

Q. 结果表中的 WEIGHT 列是什么含义? A. 各算法含义不同。在回归模型中表示预测权重,在概率模型中用作置信度度量。一般运维人员更应关注 LIMIT_MIN/LIMIT_MAX 的置信区间。

Q. 想把结果分享给其他人。 A. 图表可通过图表的下载图标保存为 PNG 图片,表格可使用浏览器的表格复制或右键菜单复制后使用。(CSV 下载按钮当前为禁用状态)

Q. 想对同一标签比较多种算法。 A. 请使用各算法分别执行一次,保存图表 PNG 后在外部工具中并列比较。异常诊断算法中常用 EGADS↔DBSCAN 的对比。

Q. 预测结果可以用作报警规则的阈值吗? A. 可以。将稳定学习结果的 LIMIT_MAX/LIMIT_MIN 迁移为报警中的 EQL 报警阈值,即可实现基于统计的阈值自动化。

Q. 学习结果可以自动反映到报警带中吗? A. 可以。可通过连接流程中的 flow_update_tag_alarm_band_numeric 节点实现自动化。


相关界面​

  • 数据点 — 在趋势界面中可视化查看原始数据
  • 报警 — 将学习结果的阈值迁移为报警规则
  • 每日统计 — 按站点、产线、设备进行对比分析
  • 流程 — 自动应用学习结果的自动化配置