基于KNN‑SVR的海底管道漏磁数据缺失插补方法与流程

文档序号:14033022阅读:194来源:国知局

本发明涉及数据处理和人工智能领域,具体涉及一种基于knn-svr的海底管道漏磁数据缺失插补方法。



背景技术:

通常情况下输油管道的工作条件很恶劣,易使其出现腐蚀裂纹等损伤,对其进行无损检测是必要的。漏磁检测就是一种常用的无损检测方法,该方法是通过对内检测器采集的漏磁数据进行综合分析进而判断管道的损伤情况。内检测器运行期间,难免由于传感器的非正常行为,导致部分采样数据的异常或者缺失。在分析漏磁数据之前对数据进行预处理,其中重要的一部分是对缺失数据进行插补,以保证数据的完整性,为后续的数据处理打下基础。

漏磁内检测器得到的数据量很庞大,这些数据与漏磁内检测器所在的里程位置等因素并不是简单的函数关系,各个因素之间的关系的数学模型通常是非线性的复杂模型,传统的建模方法很难实现这种数学模型,因此对缺失数据的预测和插补也是很困难的。漏磁信号的插补是尽可能地利用缺失点附近的数据信息来预测插补点的特征值。数据插补问题中采取的方法有很多种,总的来说可以分为直接线性插值法和回归拟合插值法。

直接线性插值法是一种非模型的插值方法。它的主要步骤是:确定缺失点所在位置;提取缺失点前后的完备数据;利用缺失点与完备数据点之间的位置信息以及传感器间的关联特征建立与缺失点数据的线性关系。通过上述步骤,就可以得到缺失点的预测值。但直接线性插值法具有一定局限性:对线性拟合度不高的情况预测结果不够理想;预测结果受信号噪声和信号畸变的影响较大。需要确保缺失点附近数据的完备性,否则直接线性插值得到的预测值误差较大。

回归拟合方法是一种基于模型的插值方法。它的主要步骤是:判断缺失点周围的缺失情况;提取缺失点前后合适距离的完备数据点,以及传感器间的相同位置点的数据;利用大量的完备数据通过回归拟合得出数据点与所在位置之间的非线性模型。通过上述步骤,就可以得到缺失点的预测值。回归拟合插值法相比直接线性插值法精度更高。但回归拟合插值法仍然存在以下缺点:难以保证非线性模型的准确性;预测结果容易陷入局部最优解;需要对传感器间的关联特征具有一定的提前认知。预测结果受信号噪声和信号畸变的影响较大。



技术实现要素:

本发明实施例提供一种基于knn-svr的海底管道漏磁数据缺失插补方法,解决现有异常判定与填补方法计算时间长,大量过拟合,数据缺失点情况复杂等问题。

本发明提供一种基于knn-svr的海底管道漏磁数据缺失插补方法,包括以下步骤:

步骤1:从不含缺失点的原始漏磁数据中分割出特征数据块构成完备数据集,构建完备数据集的kd树;

步骤2:对含缺失点的漏磁数据进行范化处理,以获得由待插补数据块构成的待插补数据集,并对待插补数据集进行补零处理;

步骤3:在完备数据集中搜索待插补数据块的k近邻,获得k个完备数据块;

步骤4:基于k个完备数据块,构建训练集,对训练集进行归一化处理;

步骤5:利用支持向量回归机对训练集进行模型训练;

步骤6:预测待插补数据块中的缺失特征值,完成对缺失数据的插补。

在本发明的基于knn-svr的海底管道漏磁数据缺失插补方法中,所述步骤1具体包括:

步骤1-1:对原始漏磁数据做偏移处理,得到完整的漏磁数据:

步骤1-2:在完整的漏磁数据中选取特征明显的区域,针对包含漏磁缺陷、管道焊缝、管道组件的数据按块进行分割,得到完备数据块,由完备数据块构成完备数据集;

步骤1-3:在完备数据集中选择方差最大的特征做为分割维度,然后在该维度上选择中位值作为分界超平面,对完备数据集进行划分,得到两个子集合,同时创建一个树结点;

步骤1-4:对两个子集重复步骤1-3的过程,直至所有子集合都不能再划分为止,如果某个子集合不能再划分时,则将该子集中的完备数据块保存到叶子结点。

在本发明的基于knn-svr的海底管道漏磁数据缺失插补方法中,所述步骤2具体包括:

步骤2-1:从含缺失点的漏磁数据中划分出含缺失点较多的待插补数据块,以待插补数据块构成待插补数据集;

步骤2-2:对待插补数据集进行补零处理。

在本发明的基于knn-svr的海底管道漏磁数据缺失插补方法中,所述步骤2-1具体包括:

步骤2-1-1:对含缺失点的漏磁数据进行偏移处理,在偏移处理后的数据中按块进行分割,得到待插补数据块;

步骤2-1-2:判断每一个待插补数据块的数据缺失率,如果缺失率小于设定的下限值,则表明该待插补数据块的数据信息较为充足,可采用简单直接插补法进行插补;如果缺失率大于设定的上限值,则将该待插补数据块加入待插补数据集中。

在本发明的基于knn-svr的海底管道漏磁数据缺失插补方法中,所述步骤2-2具体包括:

步骤2-2-1:对每一个待插补数据块,在其缺失点位置处用零值填充,与完备数据块特征信息完成格式匹配。

在本发明的基于knn-svr的海底管道漏磁数据缺失插补方法中,所述步骤3具体包括:

步骤3-1:从kd树的根结点开始,按照待插补数据块与各个结点的比较结果向下访问kd树,直至达到叶子结点,并记录最终的k个节点;

步骤3-2:进行回溯操作,查找离待插补数据块更近的k近邻点,获得k个完备数据块。

在本发明的基于knn-svr的海底管道漏磁数据缺失插补方法中,所述步骤4具体包括:

步骤4-1:由步骤3得到的k个完备数据块,参照经补零处理后的待插补数据块,将每一个完备数据块分成零值以及非零值两部分;

步骤4-2:将完备数据块中对应待插补数据块中非零值的全部特征值作为输入x,将完备数据块中对应待插补数据块中零值的全部特征值作为输出y,得到k对输入输出向量,作为训练样本集(x,y);

步骤4-3:根据下式对训练样本集中的数据分别进行归一化处理:

在本发明的基于knn-svr的海底管道漏磁数据缺失插补方法中,所述步骤5具体包括:

步骤5-1:建立支持向量回归机的基本数学模型,用以逼近样本数据集(x,y),回归函数f(x)如下式所示:

其中,w为待定系数,b为补偿值,c为完备数据集;

步骤5-2:从结构风险最小化思想出发,其最优回归函数的优化模型如下式所示:

其中,t是权衡因子,是表示对系统输出进行约束的松弛变量,l(.)是损失函数;

步骤5-3:用核函数代替上述点积,使回归函数f(x)可以是非线性的,建立起支持向量回归机模型;

步骤5-4:根据基本数学模型和最优回归函数的优化模型,解出w和b,从而得到最优线性回归函数f(x)。

在本发明的基于knn-svr的海底管道漏磁数据缺失插补方法中,所述步骤6具体包括:

步骤6-1:将待插补数据块中非零特征值作为支持向量回归机模型的输入,记录得到的输出特征值,并与原待插补数据块中缺失点相应位置完成对应;

步骤6-2:将经过步骤3所得的k个完备数据块作为近似值,直接估计待插补数据块中的缺失特征值;

步骤6-3:将步骤6-1的输出与步骤6-2中得到的缺失特征值的估计值进行比较,如果差值在设定阈值范围之内,则将步骤6-1得到的输出值作为最终的预测缺失特征值;如果差值超过阈值范围,则表明步骤6-1的输出可信度偏低,选择步骤6-2的缺失特征值的估计值作为最终的预测缺失特征值。

在本发明的基于knn-svr的海底管道漏磁数据缺失插补方法中,所述步骤6-2具体包括:

步骤6-2-1:对应待插补数据块中每一个零值位置,取k个完备数据块相应位置的数据作为待插补数据块中的缺失特征值的近似值;

步骤6-2-2:将得到的k个近似值按下式做均值处理,所得结果作为该零值位置处的估计值:

其中,aij为k个完备数据块相应位置的数据,bij为估计值,i、j为待插补数据块中零值所在位置的下标。

供一种基于knn-svr的海底管道漏磁数据缺失插补方法,本发明将基于欧式距离的knn算法与svr回归算法相结合,基本思路是利用knn算法在完备数据集中找出待检测样本特征相近的k个近邻,并将处理后的特征值作为svr回归的训练样本库,得出的回归模型即可用于样本缺失漏磁数据的填补。该方法中间层采用knn算法提取待检测数据在完备数据集中的特征相似的k个样本作为svr回归的训练集。这种先经过knn提取的训练集有效减少了svr算法的计算量,且对噪声具有一定的容忍能力,即表现出一定的鲁棒性。解决了现有方法存在的大量过拟合问题。该方法中的svr回归算法将训练样本的内部联系作为训练模型,有效地利用了特征相似样本集中的内在特征关联,提高了特征信息的利用率。

附图说明

图1是本发明的一种基于knn-svr的海底管道漏磁数据缺失插补方法的流程图。

具体实施方式

本发明将基于欧式距离的最近邻法(k-nearestneighbor,knn)与支持向量回归(supportvectorregression,svr)相结合,基本思路是利用knn算法在完备数据集中找出待检测样本特征相近的k个近邻,并将处理后的特征值作为svr回归的训练样本库,得出的回归模型即可用于样本缺失漏磁数据的填补。

如图1所示为本发明的一种基于knn-svr的海底管道漏磁数据缺失插补方法的流程图,如图所示本方法包括下步骤:

步骤1:从不含缺失点的原始漏磁数据中分割出特征数据块构成完备数据集,构建完备数据集的kd树;

步骤2:对含缺失点的漏磁数据进行范化处理,以获得由待插补数据块构成的待插补数据集,并对待插补数据集进行补零处理;

步骤3:在完备数据集中搜索待插补数据块的k近邻,获得k个完备数据块;

步骤4:基于k个完备数据块,构建训练集,对训练集进行归一化处理;

步骤5:利用支持向量回归机对训练集进行模型训练;

步骤6:预测待插补数据块中的缺失特征值,完成对缺失数据的插补。

步骤1具体包括:

步骤1-1:对原始漏磁数据做偏移处理,得到完整的漏磁数据,偏移处理按下式进行,得到z路完整的漏磁数据:

s'ij=sij+0.002×i,(i=1,2,3...z)(1)

其中,sij为原始漏磁数据,i为传感器的编号,j为数据时序编号。

步骤1-2:在完整的漏磁数据中选取特征明显的区域,针对包含漏磁缺陷、管道焊缝、管道组件的数据按块进行分割,得到完备数据块,由完备数据块构成完备数据集;

具体实施时,得到对数据进行去偏移处理后的n*m的完备数据块d,对数据进行去偏移处理后的数据块d如下式:

尽量保证各类数据集的样本量在同一数量级,由完备数据块d构成完备数据集c。

步骤1-3:在完备数据集中选择方差最大的特征做为分割维度,然后在该维度上选择中位值作为分界超平面,对完备数据集进行划分,得到两个子集合,同时创建一个树结点。

步骤1-4:对两个子集重复步骤1-3的过程,直至所有子集合都不能再划分为止,如果某个子集合不能再划分时,则将该子集中的完备数据块保存到叶子结点。

所述步骤2具体包括:

步骤2-1:从含缺失点的漏磁数据中划分出含缺失点较多的待插补数据块d1,以待插补数据块d1构成待插补数据集q;步骤2-1具体包括:

步骤2-1-1:按照公式(1)对含缺失点的漏磁数据进行偏移处理,在偏移处理后的数据中按块进行分割,得到待插补数据块d1;

步骤2-1-2:判断每一个待插补数据块d1的数据缺失率,如果缺失率小于设定的下限值,则表明该待插补数据块的数据信息较为充足,可采用简单直接插补法进行插补;如果缺失率大于设定的上限值,则将该待插补数据块加入待插补数据集中。

步骤2-2:对待插补数据集进行补零处理,具体包括:

步骤2-2-1:对每一个待插补数据块d1,在其缺失点位置处用零值填充,如下式,与完备数据块特征信息完成格式匹配:

所述步骤3具体包括:

步骤3-1:从kd树的根结点开始,按照待插补数据块与各个结点的比较结果向下访问kd树,直至达到叶子结点,并记录最终的k个节点;具体包括:

步骤3-1-1:待插补数据块与各个结点的比较具体为:将待插补数据块对应于结点中方差最大维度上的特征值进行比较,若待插补数据块在此维度上值小,则访问左子树,否则访问右子树;

步骤3-1-2:达到叶子结点时,计算待插补数据块与记录中的第k个结点之间的距离,记录为当前“k近邻点”p和最小距离d。

步骤3-2:进行回溯操作,查找离待插补数据块更近的k近邻点,获得k个完备数据块,具体包括:

步骤3-2-1:判断未被访问过的分支里是否还有离待插补数据块更近的点,它们之间的距离小于d;

步骤3-2-2:如果待插补数据块与“k近邻点”父结点下的未被访问过的分支之间的距离小于d,则认为该分支中存在离待插补数据块更近的数据,进入该结点,重复步骤3-1的查找过程;如果找到更近的数据点,则更新为当前的“k近邻点”p和d,并更新3-1中记录的k个节点;

步骤3-2-2:如果待插补数据块与“k近邻点”父结点下的未被访问过的分支之间的距离大于d,则说明该分支内不存在与待插补数据块更近的点,回溯的判断过程是从下往上进行的,直到回溯到根结点时已经不存在与p更近的分支,或者达到限制的回溯次数为止,结束本次回溯操作。

所述步骤4具体包括:

步骤4-1:由步骤3得到的k个完备数据块,参照经补零处理后的待插补数据块,将每一个完备数据块分成零值以及非零值两部分;

步骤4-2:将完备数据块中对应待插补数据块中非零值的全部特征值作为输入x,将完备数据块中对应待插补数据块中零值的全部特征值作为输出y,得到k对输入输出向量,作为训练样本集(x,y);

步骤4-3:根据下式对训练样本集中的数据分别进行归一化处理:

所述步骤5具体包括:

步骤5-1:建立支持向量回归机的基本数学模型,用以逼近样本数据集(x,y),回归函数f(x)如下式所示:

其中,w为待定系数,b为补偿值,c为完备数据集;

步骤5-2:从结构风险最小化思想出发,损失函数l选择ε-损失函数,如下式所示:

采用ε不敏感函数,其最优回归函数的优化模型如下式所示:

其中,t是权衡因子,是表示对系统输出进行约束的松弛变量,l(.)是损失函数;(式5-3)中的作用是使回归曲线尽可能平坦,的作用是使曲线尽可能逼近样本点。

步骤5-3:用sigmoid核函数代替上述点积,使回归函数f(x)可以是非线性的,建立起支持向量回归机模型;其中sigmoid核函数形式如下:

(w,x)=tanh(k(w×x)+v);(k>0,v>0)(8)

其中,k表示系数,v表示偏移量。

步骤5-4:根据基本数学模型和最优回归函数的优化模型,解出w和b,从而得到最优线性回归函数f(x),即ε-支持向量回归机的数学模型。

所述步骤6具体包括:

步骤6-1:将待插补数据块中非零特征值作为支持向量回归机模型的输入,记录得到的输出特征值,并与原待插补数据块中缺失点相应位置完成对应;

步骤6-2:将经过步骤3所得的k个完备数据块作为近似值,直接估计待插补数据块中的缺失特征值;所述步骤6-2具体包括:

步骤6-2-1:对应待插补数据块中每一个零值位置,取k个完备数据块相应位置的数据作为待插补数据块中的缺失特征值的近似值;

步骤6-2-2:将得到的k个近似值按下式做均值处理,所得结果作为该零值位置处的估计值:

其中,aij为k个完备数据块相应位置的数据,bij为估计值,i、j为待插补数据块中零值所在位置的下标。

步骤6-3:将步骤6-1的输出与步骤6-2中得到的缺失特征值的估计值进行比较,如果差值在设定阈值范围之内,则将步骤6-1得到的输出值作为最终的预测缺失特征值;如果差值超过阈值范围,则表明步骤6-1的输出可信度偏低,选择步骤6-2的缺失特征值的估计值作为最终的预测缺失特征值。

以上所述仅为本发明的较佳实施例,并不用以限制本发明的思想,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1