刘有光
(上海电气集团数字科技有限公司,上海 200233)
autoML 自动化建模功能通过用户进行基本的训练数据接入配置、设定用于训练的样本参数与目标参数、选择建模类型、评价指标等操作,由系统后台自动完成数据预处理、归一化、特征工程、模型选择、超参数寻优训练并最终生成可用的模型,同时输出优化模型的置信度或准确度等指标,该功能要兼容不同数据集的建模训练,计算所耗费的时间和计算资源应满足一定的合理性,并在自动建模过程中监控训练曲线变化规律,对训练效果不理想或异常情况,及时调整训练参数并提示用户,避免资源浪费。
(1)自动准备数据。数据预处理功能(数据格式转换,去重,X/Y 分类,算法类型判断)。(2)自动特征工程。数据归一化操作(Normalization)、基于机器学习的特征工程。(3)自动选择算法。超参数优化,网格搜索、随机搜索、贝叶斯优化等;自动流水线、工作流构建;神经网络架构搜索(深度学习)。(4)NAS 主要包含三个部分:①搜索空间 search space;②搜索策略 search strategy;③性能估计策略 performance estimation strategy。(5)自动模型选择和集成学习
图1 数据源
(1)案例背景。在风电场中每个机组均配备了SCADA 系统,对机组运行过程中的关键状态参数和环境参数等实时采集与监测,确保风电机组高效可靠运行。根据风电场累积的SCADA 历史数据,可以进行机器学习建模,建立智能预测类模型对关键工况参数如发电状态、发电有功功率等进行智能预测,从而指导对机组现有运行策略进行优化调整,提高机组发电量或降低运维成本。传统机器学习建模过程,需要依赖专业数据工程师对机器数据进行预处理、特征提取、模型筛选与优化等一系列过程的反复调整,才能最终生成最优的机器学习模型并投入使用,整个过程耗时较长,且不同专业的工程师生成的模型各有不同。而AUTOML 模块将上述过程进行自动化集成,用户只需要根据引导,完成训练数据接入和训练配置等操作后,系统即可自动生成一定数量的机器学习模型并同步启动开展训练,根据预测评价指标最终生成最优的机器学习模型。
以下针对风电机组工况参数智能预测这一场景,应用AUTOML 模块,进行风电机组有功功率预测(回归)案例和风电机组发电状态预测(分类)案例的建模介绍。
(2)风电机组发电有功预测(回归)案例。
①建立数据源,用户在数据源菜单页下,可以访问到平台提供可访问的数据列表,本案例使用的SCADA历史数据,对应图1 中 data_test.csv,选择该源数据即可。
②获取SCADA 数据后,进入建模类型页,选择建模的类型,回归或分类,本案例选择回归选项卡即可,机器学习建模主流的框架包括sklearn/keras/tensorflow/pytorch 等,本次选择sklearn 框架进行传统机器学习自动建模,最后在获取的历史SCADA 数据的各参数中选择一个参数作为标签列,即预测模型的输出目标列,本案例做有功功率预测,所以选择GridPower 列即可。参数区对应自动化建模的搜索空间,支持用户自定义修改。
③配置好建模类型后,需要设置执行自动建模的计算资源类型,支持多个模型训练任务的并发执行,支持设置各个模型任务的最大计算时长,支持设定搜索空间内最大模型训练数量,同时支持用户根据需要选定在单台服务器或者在kubernetes 集群中执行模型训练任务(如图2)。
图2 计算类型
④根据用户选定的回归或分类预测类型,对模型的评价规则进行选择设置,如回归预测,可评价的指标包括R2、均方误差、平均绝对误差等。本次选择R2作为训练模型的评价指标(如图3)。
图3 评价规则
⑤最后,完成上述配置后,即可进入启动页,启动自动建模训练任务,最优模型搜索过程中可以查看各个模型的评价指标R2的大小。
⑥自动训练任务执行完毕后,可以进入结果页,查看本次自动建模过程的详细信息。最终,用户可根据各个模型的R2的排序比较,选择R2最大值对应的模型作为风电机组有功功率的预测模型,进行后续的发布使用。
(3)风电机组发电状态预测(分类)案例。发电状态预测(分类)案例与上述回归案例的操作介绍基本相似,主要区别在建模类型页和评价规则页的配置上存在差异。
①发电状态预测(分类)时,选择分类选项卡,SCADA 数据的各参数中选择发电状态对应的WTState列,分类对应的搜索空间,由系统自动匹配提供初始配置,后续支持用户进行一定的自定义修改。
②分类模型的评价规则与回归模型不同,主要包括精度、F1、查准率、查全率等,由用户自己根据需要进行选择,本案例选择精度作为评价规则。
③其他配置页设置和结果页等效果,参照回归模型对应的页面效果介绍。最后用户根据生成的模型进行排序,选择精度最高的模型作为风电机组发电状态的预测模型,进行后续的发布使用。
本文从市场需求出发介绍了autoML 自动化建模的概念、理论及技术方案;以及介绍了autoML 自动化建模在工业制造业中的应用。以实际案例阐明了autoML在工业实践中的可行性及易用性,解决了行业痛点问题。