随着国民经济的不断发展与人民需求的迅猛增加,工业,尤其是与人民生活相关的制造业蓬勃发展,但随之而来的高能耗、高排放却也成为了新的社会问題。为了进一步推进节能减排工作,2021年国家能源局发布了《能源发展“十三五”规划》,实行能源消费总量和强度的双重控制,不仅“到2021年把能源消费总量控制在50亿吨标准煤以内”,还要“单位GDP能耗下降15%以上”。在节能减排的大形势下,传统制造型企业必须从传统的粗放型方式向智能化生产、精细化管理转变。
精细化能源管理需要将能耗与生产、天气、人员等因素建立多维定量关系,帮助企业将能源情况与生产信息进行精确对标。目前精细化能源管理技术的研究虽然局限在极少数工业化起步早,工艺流程清晰,节能潜力大的行业,例如钢铁、冶金等,但研究的方法和结论值得汽车制造企业借鉴和学习。文献[1,2]介绍了钢铁企业在生产能耗预测、负荷预测中使用的模拟退火PSO-BP算法和在线Boosting回归算法,达到良好的预测效果。文献探讨了如何使用能耗预测模型实现企业的能源管理。
1 整车厂油漆车间的能耗预测模型建立
1.1 XGBoost算法.
XGBoost是陈天奇及其团队于2021年3月27日发布的基于梯度提升算法的开源算法库,XGBoost融合梯度
提升、随机森林等算法的优势,创新性得提出了模型的离散意识和核外计算方法,不仅提升了算法模型对分散型数据库的预测效果,也大大提高了模型训练的速度。近两年内,XGBoost算法在世界各大机器学习竞赛中展露头角,成为最受欢迎的机器学习算法之一,使用XGBoost为基础建立的模型也不断增多。文献[5-8]均使用XGBoost算法对用电负荷、区域用电量、超短期负荷作出预测。其中探索了不同XGBoost模型参数对模
型预测准确度的影响,文献介绍了XGBoost模型在Hadoop平台上的实现,文献[7,8]测试了XGBoost在超短期负荷预测上的能力。
其中F代表了回归树集合所在的空间,每一个fk代表了一个拥有独立结构与独立叶权重的分类树。为了防止模型的过拟合,XGBoost在损失函数中也加入了正则项,并对整体损失函数进行了简化。XGBoost防止模型过拟合还使用了收缩方法(shrinkage)和列特征抽样(column subsampling)。
在解决实际问题过程中,数据经常会出现极度分散和不平衡,主要有三种原因:一、真实数据中存在大量间断、缺失;二、数据中存在大量零值;三、由于人为特征工程创造较多离散数据,例如进行了独热编码。XGBoost相比于其他机器学习算法与其他Boosting算法,对于离散性的数据有非常好的学习效果,这得益于XGBoost通过设置默认值赋予了模型数据离散的意识。为了能让模型意识到数据的离散分布,XGBoost在每一个树的节点上设置了默认方向,并且把某一维度上缺失、零值或不曾出现的值都设
定为“缺失值”,这样经过多重学习,模型会习得出现“缺失值”时的默认方向。同时,由于这个过程是线性的,所以模型在学习离散性数据时并不会花费更多时间。
1.2 利用XGBoost算法建立整车厂油漆车间能耗模型
目前用于预测制造企业能耗的模型算法有很多,包括支持向量机、神经网络模型等,这些模型属于传统型模型,其中支持向量机对于需要高维转低维的数据有很好的预测效果,神经网络模型灵活的结构能够很好地反应输入与输出之间的非线性关系。但考虑到制造企业能耗数据的高离散度和大样本量,这两种算法无法达到满意的效果,或需要复杂的调参才能达到满意的效果。
根据对样本数据分布特性的分析,确定选用对分散数据较为友好的模型算法。传统型算法中,支持向量机算法用在小样本数据分析时有较好学习效果,但用在数据量较大样本的分析时,模型训练时间较长; BP神经网络算法虽然具有强大的非线性映射能力,但由于它是一种局部搜索的优化方法,对初始网络等设置参数的依赖性强,容易使
损失函数收敛到局部极小点而不是全局极小点。伴随深度学习的井喷式发展,出现很多新型深度神经网络模型,这些算法对数据量的需求极大,因此也不适合本次研究。XGBoost与这些算法相比,有算法训练时间短,对初始设置的参数依赖性较低,对不平衡的分散数据学习效果好等多方面优势,因此本研究在比较不同算法计算结果后,最终选择了XGBoost模型算法。在下一章节中,将以该XGBoost模型为基
础比较和分析各种数据特征工程对预测模型准确性的影响。
2 特征工程
在数据建模过程中,数据和特征决定了机器学习效果的上限,而模型和算法只能促使结果逼近这一上限。因此在建立能耗預测模型时,除选择算法外,对输入数据的特征工程处理也至关重要。在实际能耗预测过程中,如出现预测准确度较低的情况,除分析算法性能缺点,还需考虑数据缺乏某些关键特征或某些特征关键信息等。在以往能耗预测研究中,很多研究者更多地将重心放在模型比较和优化上,而较少得关注原始数据的特征工程,本节将以XGBoost预测模型为基础,介绍研究过程中,通过优化数据和特征,提高预测模型准确度的四种方法方法。
2.1 从已有数据中提取关键信息
由于能源数据本身具有时间上的连续性,在进行数据特征工程时应考虑从日期数据中提取部分特征信息,如月份、星期,甚至上下午等。以汽车制造厂油漆车间为例,为保证整车喷漆质量稳定,油漆车间内烘房温、湿度需全年严格控制在一定范围内。由于夏季与冬季环境温度相差巨大,而烘房又需大量室外新风,油漆车间通过调节天然气燃烧量来控制温度,因此天然气消耗量在夏季与冬季有较大差别,因此提取月份信息能够增强模型对季节信息的学习,进而提升模型预测准确性。
除了从时间数据中提取关键信息,部分产品代码中也隐藏着可供提取的产品参数信息。
在提取关键时间信息后,可以使用独热编码对信息进行进一步处
理。独热编码是许多机器学习任务中处理非连续数据的一种常用方法,例如本案例中,存在“星期”数据,如将“周一”、“周二”、“周三”等表示为数字再进行学习,模型的学习效率将大大提高。但由于这些数据间不存在必然序列,不能使用连续数据来表示,因此需要将一维非连续数据拓展为n维,使每个状态都有独立寄存位置。
2.2 针对关键数据进行线性压缩
在生产制造中,一些关键物理量信息,如长度、重量、面积等产品工艺信息,可增加到数据的特征工程中,以改进模型的数据输入。在实际研究中,要根据产品加工特性选择关键物理量信息。本次研究的油漆车间,主要工艺是给白车身增加多层防护及装饰漆,因此选取各个车型的电泳理论喷涂面积作为关键物理量。这些关键物理量与产品可一一对应,利用理论喷涂面积能对不同车型的每日产量进行线性压缩,再乘以一定的线性比例,最终完成产量信息与关键工艺信息的整合。
通过这种方式,可在不增加新维度情况下在已有特征中加入新信息,后期模型训练中可利用这种方法捕捉到更多关键信息。
2.3 创建多项式特征
汽车油漆
在建立能源预测模型时,选取的特征之间可能也存在一定相关性。在通常情况下,算法模型不会考虑各输入数据维度间的非线性关系,而将各维度作为独立输入。因此,当生产不同产品间存在一定关系,如替代关系、零件与总成关系等,可考虑增加额外多项式特征补充这部分信息。在本研究中,考虑到不同车型间有相互替代关系,建立任意两车型产量间相关关系,以补充产量数据多项式特征。
2.4 增加补充维度
数据维度的多样性和有效性是模型准确预测的重要保证,当特征工程处理后仍然无法有效提高预测准确度时,需重点考虑补充新的数据维度。从工艺过程入手,寻模型仍未考虑、却又影响能耗的关键数据。在本研究中,天然气预测模型的准确率经过多次优化后达到瓶颈,误差率仍不能满足要求。通过对油漆车间天然气消耗结构的进一
步分析,发现模型训练中缺少废气处理设备天然气消耗的影响变量。考虑到该设备占天然气整体消耗的30%,因此增加废气处理设备工作时长数据维度,经过比较和分析,预测准确率有显著提升。
3 模型预测结果及分析
3.1 XGBoost模型预测结果
本次研究采用R2与RMSE评估模型预测效果,同时,由于该企业生产节拍在数据采集过程中不断提升,
导致总用电量和天然气消耗量不断增加,因此,另外定义平均误差率k判断模型的相对误差百分比,如式(2)—式(4)。
3.2 特征工程分析和比较
在本文的第1章中详细介绍和讨论了4种能耗预测建模过程中使用的特征工程方法,包括从已有数据中提取关键信息、针对关键数据进行线性压缩、创建多项式特征和增加补充维度。这一节将以2.1中建立的XGBoost能耗预测模型为基础,展示在不同组合的特征工程方法下,模型预测效果提升的情况。
其中实验1到4采用同一组数据集(2021年11月至2021年12月)和同样的数据集划分。但因为2021年11月至2021年12月缺乏详细的废气处理设备运行时长数据,所以实验5无法使用同样的数据集进行学习和测试。在实际走访中了解到,该厂油漆车间2021年1月至6月的真实生产情况与2021年7月至12月相比变动不大,因此可认为数据的特征保持稳定不变。实验5最终采用2021年1月至6月的数据进行学习和测试,可近似认为实验5的结果与实验1至4有一定可比性。
从表1的结果可以看出,这四种特征工程组合对于XGBoost能耗预测模型均有一定程度的提高,但提高的幅度有明显的不同,提高程度最高的两种方法为增加补充维度和提取日期中的信息,增加多项式特征与线性压缩对模型有微弱的提升但不明显。这也证实了提高模型效果最有效的方法是增加有效的新信息,无论是从已有的字符(如日期、产品编号)中提取还是从外界新增相关的数据。
发布评论