发明内容
本发明的目的是提供一种基于滑动窗口的随机森林突发性故障预警方法,通过自适应生成目标标签对数据进行预处理,并在测试集中加入滑动窗口,以块结构的思想,对制氩空分***的突发性故障进行及时地预测。
本发明所采用的技术方案是,基于滑动窗口的随机森林突发性故障预警方法,具体按照以下步骤实施:
步骤1、构建随机森林算法中自适应目标标签生成策略:通过分析制氩空分***中监测的突发性故障数据特征,在传统随机森林算法的基础上,自适应构建目标标签Lp;
步骤2、构建数据集:将制氩空分***突发性故障的监测数据作为样本集,并将该样本集划分为训练集和测试集,构建适合于基于滑动窗口的随机森林算法的数据集;
步骤3、建立决策树:针对步骤2中所得训练集,通过随机抽取该训练集中的样本,建立多棵决策树;
步骤4、在测试集中加入滑动窗口,实现突发性故障预警:通过计算多棵决策树预测值的平均值确定输入样本的最终预测结果。
本发明的特点还在于,
步骤1具体如下:
步骤1.1、找出制氩空分***中突发性故障监测数据的最值。在监测数据xi中,i=1,2,…,N,找出最大值xmax和最小值xmin,其中,xi表示第i个突发性故障监测数据,N表示突发性故障监测数据的总个数;
步骤1.2、根据式(1)计算监测数据中相邻两个数据之间的一阶差分绝对值Δxj,j=1,2,…,N-1,并将计算得到的一阶差分绝对值Δxj存放在差分集合ΔX中;
其中,Δxj表示计算得到的第j个相邻数据的一阶差分绝对值,N-1表示所得差分绝对值的总个数;
步骤1.3、找出差分集合ΔX={Δx1,Δx2,…,Δxj|j=1,2,…,N-1}中的最小值Δxmin,并将Δxmin作为生成目标标签的步长;
步骤1.4、生成目标标签Lp,以xmin和xmax作为目标标签生成的区间端点,Δxmin作为目标标签生成的步长,构建目标标签Lp,p=1,2,…,M,其中,Lp表示生成的第p个标签,M表示目标标签生成的总个数;
经过以上步骤,对制氩空分***中突发性故障数据的预处理完成。
步骤2具体如下:
步骤2.1、将步骤1中生成的目标标签Lp作为基于滑动窗口的随机森林算法的训练集标签y_train,p=1,2,…,M;
步骤2.2、将目标标签作为训练集样本x_train;
步骤2.3、将制氩空分***中所有的突发性故障监测数据作为基于滑动窗口的随机森林的测试集x_test;
步骤2.3、利用bootstrap方法,从训练集样本x_train中随机且有放回地抽取M个子样本,共进行Mt次采样,并生成Mt个子训练集,其中,每组子训练集的样本容量与训练集的样本容量相同,均为M。
步骤3具体如下:
步骤3.1、确定单棵决策树的***属性:根据式(2)~式(4)分别计算每棵决策树的信息增益、信息增益比和基尼系数,并记录该决策树每个划分节点的特征ftr(t=1,2,…Mt;r=1,2,…R):
其中,f
tr表示第t棵决策树中第r个划分节点的特征,式(2)中的Gain(D,A)表示属性A划分到决策树D的熵,Entropy(D)表示该棵决策树的信息熵,
表示单棵决策树中第m个划分节点的权重值,Entropy(D
m)表示单棵决策树中第m个划分节点的的信息熵,i表示第i个类别标签,共有m个标签,p
i表示每个类别被预测的概率,式(3)中GainRation(D,A)表示属性A划分到决策树D的信息增益,式(4)中Gini(D
m)表示第m个划分节点的基尼系数;
步骤3.2、选择单棵决策树的***特征:将所述步骤3.1中每棵决策树中每个划分节点的特征ftr保存在整体特征集F中,从整体特征集F中选取p个特征作为单棵决策树的***特征,p≤t×r;
步骤3.3、建立单棵决策树:利用步骤2.4中划分的Mt个子训练集生成Mt棵决策树,每棵决策树直到不可***或达到设定的阈值时,设定的阈值即如叶子结点树或的树的深度,单棵决策树建立完成。
步骤4具体如下:
步骤4.1、在测试集x_test中加入预测滑动窗口,滑动窗口的尺寸为1×10,滑动窗口的移动步长为1,其中,滑动窗口内的测试样本为待预测样本,每进行一次预测得到1个预测值xk';
步骤4.2、计算预测输出值:利用式(5)对步骤3中建立的多棵决策树的输出计算平均值
其中,/>
表示每棵决策树的预测输出结果,M
t表示决策树的总数;
其中,滑动窗口相当于记录与当前时刻邻近的测试样本历史状态,t时刻之前的状态通过滑动窗口保留,且将t时刻之前滑动窗口内的测试样本作为随机森林的输入信息,不仅实现对t时刻状态的预测,还描述了时间序列之间的长期依赖关系。
本发明的有益效果是,一种基于滑动窗口的随机森林突发性故障预警方法,通过构建自适应目标标签生成策略,对制氩空分***中突发性故障的监测数据进行预处理,并在测试集中加入预测滑动窗口,构建基于滑动窗口的突发性故障预警模型,最后,以块结构的形式实现了工业***的突发性故障预警。通过实验仿真验证了所提方法在突发性故障预警方面的准确性和高效性。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于滑动窗口的随机森林突发性故障预警方法,流程图如图1所示,具体按照以下步骤实施:
步骤1、构建随机森林算法中自适应目标标签生成策略:通过分析制氩空分***中监测的突发性故障数据特征,在传统随机森林算法的基础上,自适应构建目标标签Lp;
如图2~图5,步骤1具体如下:
步骤1.1、找出制氩空分***中突发性故障监测数据的最值。在监测数据xi中,i=1,2,…,N,找出最大值xmax和最小值xmin,其中,xi表示第i个突发性故障监测数据,N表示突发性故障监测数据的总个数;
步骤1.2、根据式(1)计算监测数据中相邻两个数据之间的一阶差分绝对值Δxj,j=1,2,…,N-1,并将计算得到的一阶差分绝对值Δxj存放在差分集合ΔX中;
其中,Δxj表示计算得到的第j个相邻数据的一阶差分绝对值,N-1表示所得差分绝对值的总个数;
步骤1.3、找出差分集合ΔX={Δx1,Δx2,…,Δxjj=1,2,…,N-1}中的最小值Δxmin,并将Δxmin作为生成目标标签的步长;
步骤1.4、生成目标标签Lp,以xmin和xmax作为目标标签生成的区间端点,Δxmin作为目标标签生成的步长,构建目标标签Lp,p=1,2,…,M,其中,Lp表示生成的第p个标签,M表示目标标签生成的总个数;
经过以上步骤,对制氩空分***中突发性故障数据的预处理完成。
步骤2、构建数据集:由于利用随机森林进行预测时,其输出结果为预测样本所对应的标签类别,因此,为了保证随机森林的预测结果与输入样本属性一致,需将训练集中的训练样本与训练标签一一对应。将制氩空分***突发性故障的监测数据作为样本集,并将该样本集划分为训练集和测试集,构建适合于基于滑动窗口的随机森林算法的数据集;
步骤2具体如下:
步骤2.1、将步骤1中生成的目标标签Lp作为基于滑动窗口的随机森林算法的训练集标签y_train,p=1,2,…,M;
步骤2.2、为保证训练集中的样本与所述步骤2.1中生成的训练标签一一对应,将目标标签作为训练集样本x_train;
步骤2.3、将制氩空分***中所有的突发性故障监测数据作为基于滑动窗口的随机森林的测试集x_test;
步骤2.3、利用bootstrap方法,从训练集样本x_train中随机且有放回地抽取M个子样本,共进行Mt次采样,并生成Mt个子训练集,其中,每组子训练集的样本容量与训练集的样本容量相同,均为M。
步骤3、建立决策树:针对步骤2中所得训练集,通过随机抽取该训练集中的样本,建立多棵决策树;
步骤3具体如下:
步骤3.1、确定单棵决策树的***属性:根据式(2)~式(4)分别计算每棵决策树的信息增益、信息增益比和基尼系数,并记录该决策树每个划分节点的特征ftr(t=1,2,…Mt;r=1,2,…R):
其中,f
tr表示第t棵决策树中第r个划分节点的特征,式(2)中的Gain(D,A)表示属性A划分到决策树D的熵,Entropy(D)表示该棵决策树的信息熵,
表示单棵决策树中第m个划分节点的权重值,Entropy(D
m)表示单棵决策树中第m个划分节点的的信息熵,i表示第i个类别标签,共有m个标签,p
i表示每个类别被预测的概率,式(3)中GainRation(D,A)表示属性A划分到决策树D的信息增益,式(4)中Gini(D
m)表示第m个划分节点的基尼系数;
步骤3.2、选择单棵决策树的***特征:将所述步骤3.1中每棵决策树中每个划分节点的特征ftr保存在整体特征集F中,从整体特征集F中选取p个特征作为单棵决策树的***特征,p≤t×r;
步骤3.3、建立单棵决策树:利用步骤2.4中划分的Mt个子训练集生成Mt棵决策树,每棵决策树直到不可***或达到设定的阈值时,设定的阈值即如叶子结点树或的树的深度,单棵决策树建立完成。
步骤4、在测试集中加入滑动窗口,实现突发性故障预警:通过计算多棵决策树预测值的平均值确定输入样本的最终预测结果。
如图6~图7所示,将步骤3中的Mt棵决策树组合为随机森林,并在步骤2中的测试集中加入滑动窗口,以块结构的形式实现突发故障的预警。步骤4具体如下:
步骤4.1、在测试集x_test中加入预测滑动窗口,滑动窗口的尺寸为1×10,滑动窗口的移动步长为1,其中,滑动窗口内的测试样本为待预测样本,每进行一次预测得到1个预测值xk';
步骤4.2、计算预测输出值:由多棵决策树预测值的均值决定最终的预测结果,利用式(5)对步骤3中建立的多棵决策树的输出计算平均值
其中,/>
表示每棵决策树的预测输出结果,M
t表示决策树的总数;
其中,滑动窗口相当于记录与当前时刻邻近的测试样本历史状态,t时刻之前的状态通过滑动窗口保留,且将t时刻之前滑动窗口内的测试样本作为随机森林的输入信息,不仅实现对t时刻状态的预测,还描述了时间序列之间的长期依赖关系。
实施例
本次实验以某制氩空分***为研究对象,***以30s作为采样频率,共收集了24个传感器的168个小时的样本数据(共518400个样本点)。本发明以监测突发故障传感器的采集数据作为样本集,并对该样本集中的数据进行分析。其中,样本集中的最大值为-185.0037℃,最小值为-192.9392℃,最小步长为0.0001,训练集有79355个样本点,测试集有6925个样本点。
基于以上数据,采用本发明的方法与传统的随机森林方法进行突发性故障预警,表1表明两种方法性能比较结果。
表1两种方法对比结果
方法名称 |
基于滑动窗口的RF故障预警 |
基于传统RF的故障预警 |
RMSE |
1.0265 |
0.955 |
MAE |
57.025 |
52.431 |
由表1所示的结果可以看出,两种方法中,基于滑动窗口的随机森林方法预测结果的RMSE和MAE均比传统随机森林方法的RMSE和MAE小,说明基于滑动窗口的随机森林方法的预测结果更好。
为了更加清晰地描述实验结果,将以上仿真结果可视化,结果见图8。
通过观察图8可知,所提基于滑动窗口随机森林模型的预测效果比传统随机森林模型的预测效果更好;基于滑动窗口随机森林模型预测结果的RMSE比传统随机森林的RMSE小0.057,基于滑动窗口的随机森林模型预测结果的MAE比传统随机森林的MAE小0.033。通过以上仿真实验的结果对比,验证了使用所提方法来预测突发性故障的有效性和可行性。