跳到主要内容

预测分析(机器学习)

目录


概述

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

本界面用于以下分析。

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

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

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


界面构成

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

顶部 — 页面标题

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

左侧 — 表单(输入表单)

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

1) 选择目标标签

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

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

2) 数据区间

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

什么是采样?

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

通过 hidden 选择器默认设置为 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
确定报警阈值稳定运行 1 周的学习 → 将 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 节点实现自动化。


相关界面

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