System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于石油行业油井产油量预测,具体涉及一种基于ceemdan-sa-lstm的油井产油量预测方法。
技术介绍
1、石油在能源领域中占据着举足轻重的地位,并且国际原油价格易受到石油产量的影响,从而影响金融市场。高精度的油井产油量预测方法有助于优化油藏开采工艺,合理安排生产进度。从而减少因预测失误而造成的经济损失。
2、为了提高油井产油量预测的精确度,众多学者将统计学习和机器学习的方法应用到油井产油量预测中。统计学方法是利用历史数据的分析,寻找石油产量变化的潜在规律,从而构建概率统计模型,并使用该模型进行预测和分析;基于机器学习的预测方法则是利用经典机器学习方法或深度学习方法来进行预测,前者包括了线性回归(linearregression,lr)、支持向量回归(support vector regression,svr)、反向传播神经网络(back propagation neural network,bpnn)等。后者则是根据人脑神经结构来构建相似的网络结构,用来模拟人脑的学习过程,它包括了循环神经网络(recurrent neuralnetwork,rnn)、卷积神经网络(convolutional neural network,cnn)等等。
3、由于油井产油量与多元特征序列信息呈非线性变化,随着网络输入数据的增多,会导致模型收敛速度减慢,并出现过拟合问题;同时因欠缺产油量随时间变化这一特性的考虑,限制了预测精度的提升。与传统的线性回归模型相比,这些因素之间的非线性关系导致了传统模型的局限性,难
4、但是,单个lstm模型的预测效果不佳,不能有效的获取输入数据的特征,为了提高精度,需要将lstm与其他方法相结合,构建时间序列的复合预测模型。ceemdan具有强大的时序特征分解和挖掘能力,因此,学者们将ceemdan与lstm相结合,以便更有效地提取输入数据中的时空特征。引入自注意力机制来自动地学习并选择对产油量预测更重要的特征。通过给予不同的imfs和res不同的注意力权重,模型能够自适应地聚焦于最具信息量的分量,提高预测的准确性。
技术实现思路
1、针对现有油井产油量预测的准确率问题,本专利技术提供一种基于ceemdan-sa-lstm的油井产油量预测方法,通过对数据集进行ceemdan分解提取出数据的关键特征以及pca降维,减少模型训练的难度;同时反复迭代、重复训练该模型,提高准确率。包括以下步骤:
2、为了实现上述目的,本专利技术采用的技术方案是:
3、1)收集油井特征数据,进行缺失值补全和异常值处理,并转换成适合模型训练和预测的格式,得到数据集d={a1,a2,...,ai,...an};i代表特征个数;1≤i≤n;
4、2)将步骤1)的规范数据集利用boruta算法对油井特征数据进行特征重要性分析,保留与油井产油量相关性较高的属性,构建油井产油量特征数据集;
5、3)将步骤2)转换后的数据进行数据集划分;
6、4)将步骤3)得到的训练数据集利用自适应噪声的完备集合经验模态分解(complete ensemble empirical mode decomposition with adaptive noise,ceemdan)进行特征分解,得到固有模态函数(intrinsic modal functions,imfs)和残差(residual,res)分量特征,并利用主成分分析法(principal coordinate analysis,pca)进行数据降维,得到最终分量特征数据集。
7、5)将步骤4)得到的最终分量特征数据集输入至含有自注意力机制(self-attention mechanism,sa)的长短期记忆神经网络(long short-term memory,lstm)模型中,进行学习和模型训练,构建油井产油量预测模型;
8、6)计算损失函数,并采用并行遗传算法对模型进行调优,得到最优的模型参数组合;
9、7)根据训练所得的油井产油量预测模型,使用独立的测试集数据验证模型性能,计算出平均绝对误差(mean absolute error,mae)、均方根误差(root mean squareerror,rmse)以及平均绝对百分比误差(mean absolute percentage error,mape),并对油井产油量进行预测,得到输出的预测结果。
10、进一步的,所述步骤1)中,查找所获数据中是否存在缺失值或异常值,缺失值通过向前插值法填补,异常值通过归零法进行修改,在一定程度上确保了数据集的统一性和完整性。并对油井特征曲线数据集进行归一化处理,将数据集中的各个特征取值范围转换至[0,1]区间内,消除量纲对于油井产油量预测准确性的影响。归一化公式如(1)式所示:
11、
12、上式中,为输入值的运算结果,x为输入值,xmin为数该列数据特征的最小值,xmax为该列数据特征的最大值。
13、进一步的,所述步骤2)中,在采用boruta算法进行特征重要性分析时,创建原始特征的副本作为影子特征,随后将原始特征和影子特征合并在一起,形成扩展的特征集。将该特征集输入随机森林模型进行训练。在训练过程中,算法比较每个原始特征和对应的影子特征的重要性。当原始特征的重要性明显高于其所有对应的影子特征时,将其筛选为重要特征。
14、进一步的,所述步骤3)中,将数据集按时间先后顺序以8:2的方式划分为训练集和测试集,此操作可以使得模型训练与测试互不干涉,确保模型评估的准确性。
15、进一步的,所述步骤4),在ceemdan算法进行特征分解时,首先向原始数据中添加自适应的白噪声,随后对数据的局部极大值点和极小值点分别进行三次样条插值,根据极大值点构造上包络线,根据极小值点构造下包络线,计算上、下包络线的均值,用原始数据减去均值包络线,可得到imf分量,重复此步骤,直至不能再次分解为止,可得到若干个imfs。利用ceemdan算法可以消除在石油开采过程中各个特征向量之间的相互影响作用,以及油井特征数据的不稳定性。公式如(2)式所示:
16、
17、上式中:f(t)为原始信号;fi(t)为第i个imfs分量;r(t)为信号残差量。
18、进一步的,在ceemdan算法分解后的特征维数激增,在pca算法进行分量数据降低维度时,计算数据的协方差矩阵,对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。按照特征值的大小排序特征向量,选择最大的k个特征向量作为主成分,k通常是降低维度后的目标维度。将原始数据投影到选定的主成分上,可以得到降低维度后的数据。利用pca方法对数据本文档来自技高网...
【技术保护点】
1.一种基于CEEMDAN-SA-LSTM的油井产油量预测方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的基于CEEMDAN-SA-LSTM的油井产油量预测方法,其特征在于,所述步骤1)中,查找所获数据中是否存在缺失值或异常值,缺失值通过向前插值法填补,异常值通过归零法进行修改,在一定程度上确保了数据集的统一性和完整性。并对油井特征曲线数据集进行归一化处理,将数据集中的各个特征取值范围转换至[0,1]区间内,消除量纲对于油井产油量预测准确性的影响。
3.根据权利要求2所述的基于CEEMDAN-SA-LSTM的油井产油量预测方法,其特征在于,所述步骤2)中,在采用Boruta算法进行特征重要性分析时,创建原始特征的副本作为影子特征,随后将原始特征和影子特征合并在一起,形成扩展的特征集。将该特征集输入随机森林模型进行训练。在训练过程中,算法比较每个原始特征和对应的影子特征的重要性。当原始特征的重要性明显高于其所有对应的影子特征时,将其筛选为重要特征。
4.根据权利要求3所述的基于CEEMDAN-SA-LSTM的油井产油量预测方法,其特征在
5.根据权利要求4所述的基于CEEMDAN-SA-LSTM的油井产油量预测方法,其特征在于,所述步骤4),在CEEMDAN算法进行特征分解时,首先向原始数据中添加自适应的白噪声,随后对数据的局部极大值点和极小值点分别进行三次样条插值,根据极大值点构造上包络线,根据极小值点构造下包络线,计算上、下包络线的均值,用原始数据减去均值包络线,可得到IMF分量,重复此步骤,直至不能再次分解为止,可得到若干个IMFs。利用CEEMDAN算法可以消除油井数据各个特征向量之间的相互影响作用,以及油井特征曲线的不稳定性。并使用PCA算法进行分量数据降维,首先计算数据的协方差矩阵,对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。然后按照特征值的大小排序特征向量,选择最大的k个特征向量作为主成分,k通常是降低维度后的目标维度。最后将原始数据投影到选定的主成分上,可以得到降低维度后的数据。利用PCA方法对数据进行降低维度处理,同时克服过拟合的问题。
6.根据权利要求5所述的基于CEEMDAN-SA-LSTM的油井产油量预测方法,其特征在于,所述步骤5)中的具体过程是:
7.根据权利要求6所述的基于CEEMDAN-SA-LSTM的油井产油量预测方法,其特征在于,所述步骤6)中,模型中选用均方误差(Mean Squared Error,MSE)作为损失函数,将其作为并行遗传算法的目标函数。并行遗传算法将种群划分为多个子种群,在不同的处理器或计算节点上同时进行进化。各个子种群独立进行遗传操作,同时记录每个子种群的最优个体,定期进行子种群之间的信息交换,通过迁移操作将优良个体从其中一个子种群传递到另一个子种群。重复上述过程,直到满足停止条件,如达到最大迭代次数、目标函数值收敛等,然后合并所有子种群,选择全局最优个体作为最终的参数调优结果。
8.根据权利要求7所述的基于CEEMDAN-SA-LSTM的油井产油量预测方法,其特征在于,所述步骤7)中,均方根误差(RMSE)、平均绝对百分比误差(MAPE)、平均绝对误差(MAE)来对模型进行评估,最终评估模型的性能。
...【技术特征摘要】
1.一种基于ceemdan-sa-lstm的油井产油量预测方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的基于ceemdan-sa-lstm的油井产油量预测方法,其特征在于,所述步骤1)中,查找所获数据中是否存在缺失值或异常值,缺失值通过向前插值法填补,异常值通过归零法进行修改,在一定程度上确保了数据集的统一性和完整性。并对油井特征曲线数据集进行归一化处理,将数据集中的各个特征取值范围转换至[0,1]区间内,消除量纲对于油井产油量预测准确性的影响。
3.根据权利要求2所述的基于ceemdan-sa-lstm的油井产油量预测方法,其特征在于,所述步骤2)中,在采用boruta算法进行特征重要性分析时,创建原始特征的副本作为影子特征,随后将原始特征和影子特征合并在一起,形成扩展的特征集。将该特征集输入随机森林模型进行训练。在训练过程中,算法比较每个原始特征和对应的影子特征的重要性。当原始特征的重要性明显高于其所有对应的影子特征时,将其筛选为重要特征。
4.根据权利要求3所述的基于ceemdan-sa-lstm的油井产油量预测方法,其特征在于,所述步骤3)中,将数据集按时间先后顺序以8:2的方式划分为训练集和测试集,此操作可以使得模型训练与测试互不干涉,确保模型评估的准确性。
5.根据权利要求4所述的基于ceemdan-sa-lstm的油井产油量预测方法,其特征在于,所述步骤4),在ceemdan算法进行特征分解时,首先向原始数据中添加自适应的白噪声,随后对数据的局部极大值点和极小值点分别进行三次样条插值,根据极大值点构造上包络线,根据极小值点构造下包络线,计算上、下包络线的均值,用原始数据减去均值...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。