时序数据库DolphinDB基于机器学习的异常预警方案
数据异常预警在工业安全生产中是一项重要工作,对于监控生产过程的稳定性、保障生产数据的有效性、维护生产设备的可靠性具有重要意义。随着大数据技术在生产领域的深入应用,基于机器学习的智能预警已经成为各大生产企业进行生产数据异常预警的一种有效解决方案。
什么是智能预警?
智能预警就是利用机器学习的算法,通过大数据监测和分析,预测指标趋势、识别异常迹象,向运维人员发出预警,从而做到提前有效规避故障。例如在一个大型风电厂,风机监控人员需要实时监控并尽量保证发电量的平稳性。当检测到风机发电量可能出现异常时,监控人员需要远程实时调整风机参数以维持发电量的平稳。我们来拆解一下这个场景。首先,数据采集是后续分析和预测的基础。我们需要选择能够合理衡量风机发电稳定性的指标,采集这些指标数据并存储到数据库中,然后进行监测分析。第二步是模型预测。当设备数据源源不断采集落库时,我们需要通过模型训练对未来一段时间的风机发电量进行实时预测。这里就要用到各种机器学习算法,例如较简单的 KNN ( K-NearestNeighbor ) 监督学习算法,又叫 K 邻近算法,既可以用于分类计算,也可以用于模型回归。
如何判断是否会出现异常?
这就需要我们将未来发电量与当前发电量进行异常比对,并设定一个预警的阈值。当异常率超过一定阈值时,机器就会向风机监控人员远程报警。当然,异常率也可以通过 Grafana 面板 更直观地可视化展示出来。
实时数据异常率预警的实现
关注DolphinDB公众号了解上图所示的完整方案。
DolphinDB + 机器学习 一套解决方案
在这个解决方案中,我们将复杂的真实场景进行了简化,选取了风速、湿度、气压、温度和设备使用寿命这五个指标来指代影响风机发电的主要因素。同时,由于生产数据的敏感性,进行了 DolphinDB 数据仿真操作,使用模拟数据代替真实记录集。
- 设备数目:100台
- 时间单位:毫秒级 (1 ms = 0.001 s)
- 单台设备采集数据传输量:1条/ms
- 总采集数据传输量:10万条/s
当生产任务开启后,模型预测任务与预警计算任务将同步开启。运维人员可登录 Grafana,实时监控异常情况,并根据预警结果实时调整风机设备参数。
各时段的异常率
查看各时段的预警情况(0不进行预警,1进行预警)
从这一个简单的物联网企业生产场景中,我们可以看到,利用 DolphinDB 的存储引擎、内置的机器学习框架算法以及插件,可以实现从数据采集监测、构建回归模型到实时数据异常预警的业务全流程。感兴趣的小伙伴可以关注DolphinDB公众号,查看完整解决方案~