一种改进的分层注水数据清洗方法与流程

文档序号:18414247发布日期:2019-08-13 19:08阅读:203来源:国知局
一种改进的分层注水数据清洗方法与流程

本发明涉及数据分析预处理领域,具体涉及一种改进的分层注水数据清洗方法。



背景技术:

随着油田信息化的不断发展,分层注水开发过程中积累了海量的分层注水生产数据。综合考虑分层注水大数据中重要参数之间的关系,可以提高预测关键指标的准确率提高油田的生产效率和安全系数。分层注水过程中因录井的传感器运行不稳定,通信设备故障,井场断电等原因会造成数据失真和数据丢失,从而使异常预报准确率不高并影响分层注水配注方案的制定。这给注水系统的分析、诊断和优化带来了很大的挑战。

目前主流的油田分层数据清洗方法,在应对大数据环境下的高维数据时显得特别乏力,计算速度的不足使得这些算法很难在实际研究中起到作用。数据清洗中,对缺失值的插补尤为重要。原始的插补策略无法对数据的缺失情况进行判定,在实际运用中往往根据个人主观和以往经验来选择插补方法进行缺失值插补,因此需要对插补改进策略进行研究。



技术实现要素:

为解决上述技术缺陷,本发明采用的技术方案在于,提供一种改进插补策略的分层注水数据清洗方法,改善了原始算法的分支步骤,改进算法能够处理混合类型的数据集而不用将数据集中数据分为分类变量和连续变量分开采用不同的方法去处理,并且在保证插补精度的同时极大的提高了运算时间。

该算法包括以下步骤:

s1、根据原始数据确定影响瞬时流量的t个因素;

s2、检测步骤s1确定的t个因素,并进行显著性验证;

s3、对原始数据进行分类,通过关联方程进行迭代分析,得到完整的数据集;

s4、对步骤s3的插补精度进行验证。

进一步的,步骤s1包括:

s1-1、构建原始数据矩阵,如下式所示:

式中:|g|表示原始数据矩阵,gij(i=1,2,…,n;j=1,2,…,m)是第i个注水井关于第j个因素的实测数据;

s1-2、对原始数据进行均值化处理:

s1-3、根据原始数据和均值化处理后的数据计算绝对差矩阵;

s1-4、求解关联系数矩阵;

s1-5、关联度判断,筛选出关联度符合要求的因素,剔除无关变量。

进一步的,步骤s1-4所述关联系数矩阵由关联系数元素构成,关联系数元素通过下式得到:

式中,rij表示关联系数矩阵中的元素,δmin表示绝对差值矩阵中的最小值,δmax表示绝对差值矩阵中的最大值,δij表示绝对差值矩阵的i行j列的元素,ρ为分辨系数。

进一步的,步骤s2包括:

s2-1、构建关联方程,通过求得残差平方和q的最小值确定合适的系数,所述关联方程为:

式中:hi表示因变量,表示观测值,q为残差平方和,bp表示方程的系数;

s2-2、关联方程显著性验证,用以确定变量gpi与变量hi间是否确有函数关系;

s2-3、采用逐步分析法进行自变量选择。

进一步的,步骤s2-2具体通过下式进行离差平方和分解;

式中:e总表示平均值的波动大小,将其分解为e剩和e关,e剩是剩余平方和,e关是关联平方和,表示平均值,hi表示因变量,表示观测值。

通过spss软件进行关联性分析。

进一步的,步骤s3包括:

s3-1、定义原始数据集g=(g1,g2,…,gk);

s3-2、先调用基准插补快速插补初始数据集,将数据集g中所包含的k个变量随机分为αk大小的互斥组,其中0<α<1。

每组轮流作为自变量使用关联方程进行多次关联分析;

循环依次进行为1/α多次分析,从而完成一次迭代;

如果达到插补数据的归集精度容忍值ε时停止,否则重复直到收敛。

进一步的,步骤s4包括:

s4-1、在各种缺失数据假设下设置gj用(11,j,…,1n,j)表示将gj的值人工诱导缺失为0-1向量,定义当gi,j为缺失时,1i,j=1;反之,1i,j=0;定义θ和σ是一组具有多个人工诱导缺失值的连续数据和分类数据变量;表示gj的人工诱导缺失值的个数;定义θ和η是一组具有多个人工诱导缺失值的连续数据和分类数据变量;

s4-2、通过下式确定插补误差:

式中:为gj经过改进的插补策略τ插值处理后的n维向量,表示经过改进的插补策略τ插值处理后的元素,gi,j表示未经处理的原始元素,表示原始n维向量的均值,表示xj的人工诱导缺失值的个数,1i,j表示人工诱导缺失值,ε(τ)表示改进后插补策略误差,ε(θ)表示连续数据情况的误差,ε(η)表示分类数据情况的误差。

与现有技术比较本发明的有益效果在于:本发明运用关联度分析法定影响注水瞬时流量的重要因素,对分层注水数据最优因素变量进行分组,每组依次作为因变量进行多重分析,在保证插补精度的前提下提高计算速度改进算法能够处理混合类型的数据集而不用将数据集中数据分为分类变量和连续变量分开采用不同的方法去处理,并且在保证插补精度的同时极大的提高了运算时间。

本发明可根据用户自身需求而设定调整,是满足时间需要还是满足精度需要,提高了算法的灵活性。改进算法使用在分层注水数的数据插补工作,完成对分层注水缺失值数据的数据清洗工作。

本发明采用的关联度分析并对重要因素建立关联方程的方法对原始的插补策略进行了改进,在保障了插补策略精度的前提下,提高了插补效率,算法在不同缺失机制下,性能表现稳定,整体符合预期。

附图说明

图1为本发明整体流程图;

图2为影响瞬时流量相关的各重要因素的关联度计算后统计图,其中横坐标轴的分别为温度,水流速度,孔隙度,地表压力,层深,层厚,管压,套压,表皮系数9个影响瞬时流量的重要因素,纵坐标为各重要因素相应的关联度。

具体实施方式

以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。

s1、根据原始数据确定影响瞬时流量的t个因素;

s1-1.构建原始数据矩阵:

采用m个影响注水瞬时流量的因素得到原始数据矩阵如公式(1)所示:

式中:|g|表示原始数据矩阵,gij(i=1,2,…,18;j=1,2,…,9)是第i个注水井关于第j个因数的实测数据;

s1-2.消除量纲的影响,对原始数据进行均值化处理:

为消除量纲的影响,并且把原数据都变换成1附近的相对数值,采用均值化法处理原始数据;根据公式(2)均值化变化为:

式中:i=1,2,…,n;j=1,2,…,m+1;gij表示实测数据,g’ij表示均值化处理后的数据;

s1-3计算绝对差矩阵:

根据公式(3)绝对差值矩阵元素如下:

δij=|g’ij-g’i0|(3)

式中:i=1,2,…,n;j=1,2,…,m+1;δij表示绝对差值矩阵中的i行j列的元素,g’ij表示均值化处理后的数据。

s1-4求解关联系数矩阵,根据公式(4)求解关联系数矩阵:

式中:rij表示关联系数矩阵中的元素,δmin表示绝对差值矩阵中的最小值,δmax表示绝对差值矩阵中的最大值,δij表示绝对差值矩阵的i行j列的元素,ρ为分辨系数,其大小可以控制最大差对数据转化的影响,一般情况下,ρ在0~1之间取值,根据实际工程背景,选取ρ=0;

s1-5计算关联度,选取关联度大于0.7的几个因素:孔隙度、表压、管压、套压以及表皮系数作为预测因子,排除其他无关变量。

母因素与各个子因素的关联数序列的平均值称为关联度,为了对比分析母因素和各个子因素的关联性,根据公式(5)计算关联度,即:

式中:χ0i为子因素gi对母因素g0的关联度,且χ0i越接近1,表明二者关联性越高,rij表示关联系数矩阵中的元素。

s2、检测步骤s1确定的t个因素,并进行显著性验证;

s2-1参数估计:

检测关联分析得到后的t个重要因素,即根据公式(6)选择最为合适的系数,使得残差平方和q最小,求解出相应的关联方程:

式中:hi表示因变量,表示观测值,q为残差平方和,bp表示方程的系数;

s2-2关联方程显著性验证:

显著性检验,显著性值代表检验的显著性,在统计学上,显著性值<0.05一般被认为是系数检验显著,显著的意思就是你的回归系数的绝对值显著大于0,表明自变量可以有效预测因变量的变异,做出这个结论你有5%的可能会犯错误,即有95%的把握结论正确。

用以确定变量gpi与变量hi间是否确有函数关系,根据公式(7)首先需要进行离差平方和的分解。e总表示平均值的波动大小:

式中:e总表示平均值的波动大小,可分为e剩和e关。e剩是剩余平方和,e关是关联平方和,表示平均值,hi表示因变量,表示观测值;

在spss中,我们将影响瞬时流量的因素作为变量,进行设定,同时点击“选项”将置信百分比设置为95%,使用spss后的显著性分析数据如表所示。

s2-3自变量的选择:

采用逐步分析法进行自变量选择,刚开始时,方程只包含一个常数项,按照自变量对因变量的贡献大小由大到小依次选择;每引入一个自变量,都会对已在方程中的变量进行检验,对符合消除标准的变量逐一消除;

影响较大的自变量尽可能的加入到模型当中去,而不是将无足轻重的变量加入到模型当中去,从而能够构建一个优秀的模型。

s3、对原始数据进行分类,通过关联方程进行迭代分析,得到完整的数据集;

s3-1将原始数进行据分类:

定义原始数据集g=(g1,g2,…,gk)是一个n×k的矩阵;

s3-2使用插补方法得到完整的数据集:

先调用基准插补快速插补初始数据集,将数据集g中所包含的k个变量随机分为αk大小的互斥组,其中0<α<1。

每组轮流作为自变量使用关联方程进行多次关联分析;

循环依次进行为1/α多次分析,从而完成一次迭代;

如果达到插补数据的归集精度容忍值ε停止,否则重复直到收敛;所述插补数据的归集精度容忍值ε根据实际需要进行设定,本实施例取值为.0.05

s4、对步骤s3的插补精度进行验证。

s4-1定义诱导缺失变量:

在各种缺失数据假设下设置gj用(11,j,…,1n,j)表示将gj的值人工诱导缺失为0-1向量,定义当gi,j为缺失时,1i,j=1;反之,1i,j=0;定义θ和σ是一组具有多个人工诱导缺失值的连续数据和分类数据变量;表示gj的人工诱导缺失值的个数;定义θ和η是一组具有多个人工诱导缺失值的连续数据和分类数据变量;

s4-2精度测试实验设计:

连续变量采用标准均方根误差来评估模型性能,而分类变量则采用错分误差来评估模型性能;改进后插补策略误差ε(τ)的计算公式如式(8)所示:

式中:为gj经过改进的插补策略τ插值处理后的n维向量,表示经过改进的插补策略τ插值处理后的元素,gi,j表示未经处理的原始元素,表示原始n维向量的均值,表示xj的人工诱导缺失值的个数,1i,j表示人工诱导缺失值,ε(τ)表示改进后插补策略误差,ε(θ)表示连续数据情况的误差,ε(η)表示分类数据情况的误差;

对于未改进插补策略我们定于为ν,策略ν与策略τ的相对插补误差公式如式如式(9)所示:

当xr(τ)的值小于100时,策略τ的效果比策略ν的更优;

对于插补精度测试的参数设置,对于改进和未改进的算法重复10次实验计算平均插补精度;结点预选的变量个数mj,(为所有变量的个数),算法中结点的个数mt设置为1000,即每一个算法中包含1000个结点。插补精度测试的参数设置表如表1所示。

表1

本文改进的算法将关联方程中α的取值经过多次实验对比研究发现0.06、0.20的取值会使得实验结果具有更好的计算精度和计算速度。我们根据数据相关性的取值范围,将数据分为取值范围在[0,50]、[50,75]和[75,100]百位分数之间的三组。得出算法在针对macr机制下插补精度最高。取值范围在[0,50]、[50,75]和[75,100]百位分数之间的三组实验结果如表2,3,4所示。

表2

表3

表4

表2,3,4中的trqs是完全随机缺失的数据:数据缺失完全随机,不取决于观测值或缺失值;rqs是随机缺失数据:数据缺失取决于观测值,而不是缺失值;nrqs是非随机缺失的数据:数据缺失取决于观测值和缺失值;ro表示原始的插补策略,rgα表示改进后的插补策略,α分别取值0.06、0.20进行比较。

本本实施例改进的算法将关联方程中α的取值经过多次实验对比研究发现0.06、0.20的取值会使得实验结果具有更好的计算精度和计算速度。我们根据数据相关性的取值范围,将数据分为取值范围在[0,50]、[50,75]和[75,100]百位分数之间三组。得出算法在针对完全随机缺失的数据机制下插补精度最高。

本发明采用的关联度分析并对重要因素建立关联方程的方法对原始的插补策略进行了改进,在保障了插补策略精度的前提下,提高了插补效率,算法在不同缺失机制下,性能表现稳定,整体符合预期。

以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。

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