刘高宇
摘要:以某煤矿十年来的煤质化验数据作为分析对象,采用多层神经网络方法进行建模,分析煤质指标和发热量之间的关联关系。并根据煤质数据的特点对数据集进行时间段划分,利用LSTM神经网络对煤炭的历史发热量做时间序列分析,预测短期内煤炭的发热量。
关键词:煤质分析;多层神经网络;LSTM神经网络
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2019)28-0210-03
煤炭在我国能源结构中占主导地位,是各个领域的重要能源基础。由于煤炭不可再生的性质,一直以来各行业不断探索新方法以达到资源的最大利用。目前,分级燃烧获取最大发热量是提升利用率的有效方法之一。分级的主要依据就是煤炭发热量的高低,因此,煤矿在煤炭销售前会对开采的煤炭进行煤质分析,运用物理或者化学的方式,对煤样进行的化验和测试,测定该批次煤炭包括发热量在内的各项煤质指标,然后将满足需求的煤炭发往客户。各项指标的测定结果决定着该批次煤炭的使用方式,所以煤质的分析测定结果在煤炭交易中有着十分重要的地位。而现行的测定方法步骤繁多,耗时较长,过程不可逆,测定结果的准确性只能根据化验技术人员的专业进行估计,没有评判的标准。如果测定的结果存在一定误差却未及时发现,在客户使用过程中检测出来就会造成十分严重的后果,这就需要一种辅助方法来对测定后的数据进行评判。另外,如果能够对煤炭的发热量做出相对精准的预测,将会对煤炭的生产起到积极的辅助作用,煤矿可以根据预测结果合理按需安排生产作业;在化验之前就对其发热量有可靠的掌握,可以缩短生产流程时间,更加及时地将开采的煤炭交付到客户。
近年来随着深度学习的提出,神经网络又开始焕发一轮新的生机,在诸多人工智能应用中被广泛使用表现出了当前最佳的准确度。其中,多层神经网络已被证明是一种通用的函数近似方法,可以被用来拟合复杂的函数。针对上述问题,煤质数据的众多指标之间有着复杂的关联关系,以大量数据为基础利用多层神经网络的方法对这些指标进行建模分析以得到指标值和发热量之间的关联关系,那么不符合关联关系的数据即为疑似异常数据。
1数据集和使用方法介绍
1.1数据集
煤矿的每一批煤炭在售出之前都会进行严格的煤质检验过程,依据行业标准对各个指标做出检定。数据集包含该煤矿近十年的煤质化验数据,考虑到煤质的趋同性[1],地理位置越接近的煤炭其组成结构更加相似,所以我们选取了该煤矿最大的一个矿区的煤质数据作为研究对象。经过数据提取,发现该矿区产出的煤有两种:1/3焦混煤和1/3焦特混煤。
我们将对这两种煤炭分别进行数据分析和预测工作(本文结果以1/3焦特混煤为例),以化验数据中煤质的16个成分指标作为模型的输入,以收到基低位发热量作为模型的输出,建模探究其关联关系。数据集中的化验记录以化验时间为组织方式,同一天内存在多条化验记录对应不同批次的煤样。但在煤质成分指标和发热量的关联关系探究中各数据记录间相互独立,与顺序无关。因此,将数据集以一定的比例随机划分为训练集和测试集进行模型训练和测试。
1.2异常值检测与处理
1.2.1煤质指标数据可视化
为了对煤质指标有更加深入的理解,我们对煤质的指标数据逐个进行了可视化绘制了散点图,如图1所示,通过散点图中数据的分布情况可对其取值有大概的认知。
煤质的各项指标都有其特定的取值范围,从图中明显可见,各个指标数据都聚集在一定范围之内整体呈带状分布,这与常识一致。但是,我们也从图中看出有少数数据点孤立整体带状范围以外。以Mt和St,ad这两个指标为例:指标Mt的大多数数据分布在6%~22%之间,少数存在于5%~6%以及22%~23%之间,与整体偏差很小,故而存在异常数据的概率就很低;指标St,ad的大多数数据分布在1%以下,明显有两个数据点在4%左右,与整体偏差很大,故而存在异常数据的概率就很高。
1.2.2孤立森林异常值检测
异常数据存在两个特征:少量,与正常数据差别较大。根据统计学原理,在数据空间里面,分布稀疏的区域表示数据发生在此区域的概率很低,因而可以认为落在这些区域里的数据是异常的[2]。结合可视化结果我们可以得出结论:数据集中有存在部分异常点。
为了解决异常值问题,我们使用孤立森林的方法进行异常值检测。孤立森林异常值检测方法适用于连续数据的异常检测,其基本原理是在數据集上建立大量二叉树以对数据进行分割,构建二叉树型结构的时候,异常数据离根更近而正常数据离根更远,更深。根据二叉树分割结果将分布稀疏且离密度高的群体较远的点视作异常,定义为容易被孤立的离群点[3]。得益于随机森林的思想,孤立森林方法能快速处理大规模的数据,在实际使用中有着非常好的效果。我们使用了孤立森林的方法对煤质的各个指标数据进行了异常值检测,如图2所示,图中展示了1/3焦特混煤指标Vd和FCad的异常值检测结果,绿色为正常数据,红色为异常数据。
1.3相关性分析与特征选择
数据集中煤质的指标有16种之多,其中部分指标之间存在紧密的数学关联系。若将所有的指标都加入训练过程,会严重加大计算量降低性能。所以,要对煤质的指标进行相关性分析并做出特征选择。如下图3所示,煤质的16个化验指标相关性分析的结果,明显可以看出部分指标之间存在强相关(存在相关系数为0.99,甚至为1的情况),这些强相关的指标对模型的拟合贡献相近,为了减少计算量我们对特征进行选择,尽量只保留相关性弱的指标。
我们利用特征选择工具feature-selector对煤质指标进行相关性选择,将具有强相关性的特征筛选出来。如图4所示,图中这些指标都存在一个甚至多个指标与其自身的相关性大于0.9(认为其具有强相关),因为强相关的特征可以互相替代故而根据feature-selector的选择结果,我们在建模过程中会尝试删除指标['Ad(%)', 'Aar(%)', 'Vd(%)', 'Var(%)', 'FCad(%)', 'FCd(%)', 'FCar(%)', 'St,d(%)', 'Hd(%)']进行模型训练。
2建模
2.1模型结构
2.1.1 多层神经网络
多层神经网络,又称多层感知机(MLP),是典型的深度学习模型。对于数据集中的数据用向量[X=(x1, x2, ... ..., x16)]表示煤质化验数据的16个指标(经过特征选择后训练过程中注入模型的特征不足16个),其中向量[xn=(x1n, x2n, ... ..., xmn)Τ, 1≤n≤16;m,n ∈Ν+]表示每个指标的记录值。由此得出模型的输入是一个m×n的二维向量。我们建立了一个三层的全连接神经网络结构,每层有200个神经元。利用该神经网络对数据中划分出的训练集进行训练,并使用sigmoid和relu激活函数对神经层输出结果进行处理。
2.1.2 LSTM神经网络
LSTM(长短期记忆)网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件[4],我们使用LSTM神经网络对发热量进行预测。假设W,Q[∈]D,其D为样本数据集,Wi,Qi表示第i条样本中的重量值和发热量值,我们把每一批煤炭的重量和发热量做加权平均,计算形式如下:
[E(Qi)=i=1mWi*Qii=1mWi]
然后以天为单位进行汇总统计得出每日的加权平均发热量,这样就得到了一个煤炭发热量的时间序列S={q1, q2, … …, qd},其中d为天数。由于LSTM是一个监督模型所以要将序列S转换为带有标记的二维序列。时间序列在进行预测时往往使用相隔固定时间步长的两个数据作为预测的输入和输出,我们的目标是以天为单位进行预测故而将序列S的值向后平移一位作为输出。经过变换和处理之后得到数据集Dset={( q1, q2),( q2, q3), … …,( qd-1, qd)}。
上述内容为单变量LSTM的数据准备过程,同时LSTM也支持多变量的训练。在进行多变量LSTM网络构建时,我们加入了经过特征选择后的特征一起作为输入变量,这些特征值的处理方式和发热量一样进行加权平均,输出变量保持不变认为发热量平移一个单位后的序列。
2.2结果
我们使用了TensorFlow和Keras这两个深度学习框架对2.1节阐述的网络结构进行了实现,通过建模和不断优化得到了最终的模型。利用这些模型以及测试集,对模型进行了评估。
2.2.1 评价标准
在预测任务中,假设样例集为D={(x1,y1),(x2,y2),... ... ,(xm,ym)},其中yi为样本xi的真实标记,为了评估模型得出的关联关系f的性能,要把模型得出的结果f(xi)与真实值y进行比较。
(1)均方根误差(RMSE)
我们常用均方根误差(RMSE)来衡量观测值同真实值之间的偏差,其计算公式为:
[Ef;D=1mi=1mf(xi)-yi2]
(2)准确度
我们定义预测值f(xi)与真实值y的差除以真实值y为样本xi处的预测误差比,则整个样本集D上的误差为各点处的均值,其形式为:
[ε=1mi=1mf(xi)-yy]
则准确度为,acc = 1-ε。
2.2.2 煤质分析
我们在得到的多层神经网络模型上运行了相应的测试集得到了测试结果,将测试得到的发热量结果和测试集中真实的发热量进行比对,如图5上图所示,图中蓝色实线为真实的发热量记录数值曲线,黄色虚线是经过模型得出的结果值曲线,其均方根误差为35.39,准确度为99.4%,从图中可以看出模型取得了优良的拟合效果。为了进一步直观地观测拟合效果,我们将真实值和拟合值标准化后的值当作纵坐标和横坐标绘制在坐标系中,如图5下图所示,图中的红色直线为y=x,绿色的点为(真实值,拟合值),从图中可以看出,这些点呈带状均匀地分布在直线y=x附近,这也说明了我们得到的拟合值与真实值相差不大,即模型具有优秀的拟合效果。
2.2.3 发热量预测
与发热量的分析不同,发热量的预测是一个时间序列问题,在数据准备阶段需要将数据严格按照时间先后顺序进行排序。我们的目标是对煤炭的发热量做出短期预测,并且考虑到数据的实用价值,时间间隔太长的数据对于当前的预测参考价值不大,预测太长时间段的数据使用价值也很小。因此,将所有的煤质数据作为样本集来训练和测试模型是没有意义的。如图6上图所示,图中展示了以两年数据作为样本集进行训练和测试的测试结果,其中蓝色线是真实值曲线,黄色线是预测值曲线,其均方根误差为75.69,准确度为98.48%,容易看出预测曲线和真实曲线具有优良的拟合效果,在图6下图中也很明显可以得出这个结论。
为了确定样本集规模对结果的影响,我们以年为单位做了9组实验,其结果如表1所示,每次增加一年的煤质数据来扩充样本容量,从实验结果可以看出LSTM神经网络在煤炭的发热量预测中变现优异。但是,时间序列样本容量的变化对LSTM的预测结果有着一定的影响。
3总结
LSTM神经网络是目前进行时间序列分析性能最优表现最好的方法之一。然而,煤质数据与常见的时间序列有所不同,它的数據受自然条件制约,时间间隔较短的煤质数趋近相似,在煤矿出现断层煤质发生改变后煤质的各项数据可能会出现大幅的跳跃性变化。因此,像大多数时间序列那样将整体数据划分训练、集测试集后利用LSTM进行建模,我们得出的预测结果与真实值相差很大,尤其随时间推移误差逐渐变大。在将数据集按时间段划分后,如上文所述,最终取得了更加准确的预测结果。综上所述,LSTM对较短时间段的数据有优秀的预测性能,故而在实际应用中需要根据时间的推移不断更新模型。经过一系列的实验和验证,我们得出深度神经网络络可以很好地应用在煤质数据的分析和预测工作中,多层神经网络和LSTM神经网络在煤质的分析和预测任务中表现出了优异的性能。但是,要想发挥出其最优的性能是一件艰巨的工作,我们还需要从各个方面进行思考和探索。
参考文献:
[1] 韩慧颖. 煤质检验数据分析及热值预测研究分析[J].科学中国人,2017(6).
[2] 胡姣姣,王晓峰,张萌,等. 基于深度学习的时间序列数据异常检测方法[J].信息与控制,2019(3).
[3] Fei Tony Liu,Kai Ming Ting,Zhi-Hua Zhou. Isolation-Based Anomaly Detection[J]. ACM Transactions on Knowledge Discovery from Data (TKDD). 2012(1).
[4] Xiang Li,Ling Peng,Xiaojing Yao,et al. Long short-term memory neural network for air pollutant concentration predictions: Method development and evaluation[J]. Environmental Pollution,2017.
【通联编辑:梁书】