摘要: 本研究旨在通过集成学习算法对页岩油藏压裂效果进行预测,以提高压裂效果预测的准确性。采用了多种机器学习、深度学习和集成学习模型进行比较,包括线性回归、决策树、XGBoost、LSTM、BP神经网络、投票法、加权投票法、堆叠法等。模型评估指标包括决定系数(R
2)、均方误差(MSE)、平均绝对误差(MAE)和均方根误差(RMSE)。实验结果表明,集成学习方法中的堆叠法(Stacking)表现出更优的性能,R
2达到0.946,MSE为0.380,MAE为0.383,RMSE为0.616,显著优于单一模型和深度学习模型。通过比较不同模型的性能,本研究表明集成学习方法,特别是堆叠法,能够更有效地提升页岩油藏压裂效果预测的精度。结果为油田开采提供了可靠的预测工具,有助于优化压裂作业和提升生产效率。
Abstract: This study aims to predict the fracturing performance of shale oil reservoirs using ensemble learning algorithms to improve prediction accuracy. Various machine learning, deep learning, and ensemble learning models were compared, including Linear Regression, Decision Tree, XGBoost, LSTM, BP Neural Network, Voting, Weighted Voting, and Stacking. Model evaluation metrics include R2, Mean Squared Error (MSE), Mean Absolute Error (MAE), and Root Mean Squared Error (RMSE). Experimental results indicate that the Stacking method in ensemble learning performs the best, with an R2 of 0.946, MSE of 0.380, MAE of 0.383, and RMSE of 0.616, significantly outperforming both individual models and deep learning models. By comparing the performance of different models, this study demonstrates that ensemble learning methods, especially stacking, can more effectively improve the accuracy of prediction of shale oil reservoir fracturing performance. The results provide reliable predictive tools for oilfield development, helping to optimize fracturing operations and improve production efficiency.
1. 引言
随着全球能源需求的持续增长,页岩油藏的开发成为石油勘探与开发领域的一个重要方向。页岩油藏压裂技术,作为提高油气产量的关键手段,广泛应用于提高压裂井的产能与生产效率[1]。然而,由于页岩油藏的复杂性与异质性,如何准确预测压裂效果以优化开发方案,仍然是油田工程中的难题之一。准确的压裂效果预测不仅能够提高生产效率,还能帮助制定科学的开发决策,从而有效地降低勘探与开发的风险,提升经济效益[2]。
传统的预测方法通常依赖于经验公式或线性回归模型,但由于页岩油藏压裂过程中涉及的因素众多且非线性关系复杂,传统方法的预测精度较低,无法充分反映实际油藏的动态特性。因此,机器学习和深度学习等先进数据驱动技术逐渐成为解决这一问题的有效途径。近年来,集成学习算法在多个领域中取得了显著的成功,通过组合多个基础学习模型的优势,集成学习算法能够有效地提高预测精度和模型的稳定性[3]。
本研究旨在通过集成学习算法对页岩油藏压裂效果进行精准预测。我们使用了包括线性回归、决策树、XGBoost、LSTM、BP神经网络等多种模型,并通过投票法、加权投票法和堆叠法等集成学习技术,进一步提升预测效果。实验结果表明,集成学习方法相较于单一模型具有明显的性能优势,尤其是在压裂效果预测中,堆叠模型的表现尤为突出,达到了较高的R2值和较低的误差指标。本研究的创新点在于结合集成学习算法,通过多模型融合的方式克服单一模型的不足,提供了一种新的页岩油藏压裂效果预测的有效方法。
2. 数据集介绍以及处理
2.1. 数据集
本研究采用的数据来源于某油田的实际生产记录,数据由现场监测系统采集并经过初步清洗和校验后形成。数据集共包含528个样本记录,每个样本记录均包含压后产量、孔隙度、渗透率、含水饱和度、有效厚度、加砂量、排量、加砂强度、平均砂比和液量等10个关键指标,部分原始数据如表1所示。各指标均为反映油藏地质特性及作业参数的重要变量,对后续的油井产量预测与生产优化具有重要指导意义。
Table 1. Display of partial original data
表1. 部分原始数据展示
序号 |
压后产量 |
孔隙度 |
渗透率 |
含水饱和度 |
有效厚度 |
加砂量 |
排量 |
加砂强度 |
平均砂比 |
液量 |
0 |
7.035 |
10.794 |
2.926 |
78.739 |
6.981 |
16.079 |
3.207 |
2.305 |
39.279 |
146.209 |
1 |
2.823 |
14.360 |
38.585 |
82.067 |
16.055 |
23.192 |
3.832 |
1.389 |
26.275 |
190.584 |
2 |
4.633 |
23.916 |
1088.871 |
68.865 |
4.810 |
14.604 |
3.989 |
3.015 |
16.437 |
169.237 |
3 |
6.846 |
19.276 |
44.096 |
44.825 |
5.953 |
27.181 |
4.460 |
4.538 |
27.530 |
207.261 |
4 |
5.212 |
13.637 |
125.702 |
66.293 |
7.035 |
20.045 |
3.507 |
2.921 |
34.009 |
135.168 |
从表2的统计描述结果来看,各变量均无缺失数据,样本量为528,数据完整性较好。压后产量的均值为5.522,标准差为2.675,最小值1.289、最大值12.307,说明油井压后产量存在一定的波动性;同时,25%分位数为3.931、50%分位数为5.103、75%分位数为6.881,反映了产量数据总体呈现出右偏分布的特征。孔隙度作为油藏储层的重要参数,其均值为13.196,标准差为3.082,取值范围从5.833到24.193,表明不同区域的储层孔隙结构存在较大差异。渗透率的统计特征尤为显著,其均值为53.631,标准差达到158.824,数据最小值仅为1.667,而最大值高达1093.027,呈现出极大离散性,提示部分样本可能受极端值影响较大,这为后续建模时异常值检测与处理提供了依据。含水饱和度均值为66.702,标准差14.483,数据分布从最低10.535到最高84.780,显示出油藏含水情况的显著差异,对油井产量具有直接影响。有效厚度的均值为10.710,标准差7.423,范围介于3.270与37.926之间,反映了地层厚度及其变化对采收效果的影响。加砂量的均值为30.773,标准差17.038,数据范围由7.926至102.769,表明在加砂作业中存在较大波动,可能与不同施工方案及地层条件有关。排量指标均值为4.251,标准差0.810,数据较为集中,范围在2.973至8.067之间,说明该参数相对稳定,是评价井眼产能的重要参考。加砂强度与平均砂比的均值分别为3.362和26.290,标准差分别为1.132与5.374,且二者的取值区间分别为[1.090, 6.036]和[9.331, 39.370],体现了施工工艺中砂体流动性及砂水配比的多样性。液量指标均值为235.899,标准差102.987,数据范围90.855至647.028,则显示出采出液量在不同作业条件下存在显著差异,可能受到井下作业、注采比及地层渗流特性等多重因素的综合影响。
Table 2. Statistical data information
表2. 数据统计信息
统计量 |
压后产量 |
孔隙度 |
渗透率 |
含水饱和度 |
有效厚度 |
加砂量 |
排量 |
加砂强度 |
平均砂比 |
液量 |
count |
528.000 |
528.000 |
528.000 |
528.000 |
528.000 |
528.000 |
528.000 |
528.000 |
528.000 |
528.000 |
mean |
5.522 |
13.196 |
53.631 |
66.702 |
10.710 |
30.773 |
4.251 |
3.362 |
26.290 |
235.899 |
std |
2.675 |
3.082 |
158.824 |
14.483 |
7.423 |
17.038 |
0.810 |
1.132 |
5.374 |
102.987 |
min |
1.289 |
5.833 |
1.667 |
10.535 |
3.270 |
7.926 |
2.973 |
1.090 |
9.331 |
90.855 |
25% |
3.931 |
11.464 |
16.271 |
64.035 |
6.029 |
20.007 |
3.931 |
2.613 |
22.964 |
167.820 |
50% |
5.103 |
13.072 |
22.264 |
69.125 |
8.148 |
25.246 |
4.028 |
3.297 |
26.201 |
208.640 |
75% |
6.881 |
14.811 |
43.669 |
76.149 |
11.445 |
38.442 |
4.520 |
4.112 |
29.389 |
287.716 |
max |
12.307 |
24.193 |
1093.027 |
84.780 |
37.926 |
102.769 |
8.067 |
6.036 |
39.370 |
647.028 |
该数据集涵盖的指标较为全面,既反映了油井生产过程中的关键工艺参数,又揭示了地质储层的物理特性。数据的描述统计为进一步的多元回归分析、机器学习模型构建及深度学习方法应用提供了基础,能够帮助研究者从多个角度解析各变量之间的内在关系与影响机制。此外,通过对变量分布、离散程度及极值情况的初步了解,可以为后续的数据预处理、异常值剔除及特征工程提供有针对性的改进策略,确保模型训练时数据质量满足分析要求[4]。
2.2. 数据可视化
通过直方图对油井压后产量进行特征分析,可以直观地了解该变量在整个数据集中的分布情况。图1的统计结果显示,压后产量的取值范围大致在1.29到12.31之间,共划分为16个分箱,分箱边界呈现出一定的规律性。在最低的区间(约1.29至1.98)内,有60个样本;而在部分中间区间,如3.35至4.04和4.73至5.42,样本数量分别达到84和88,表明在这些数值段内数据较为集中。另一方面,部分区间样本数较少甚至为零,例如在8.86至9.55和10.93至11.62的区间内未出现样本或样本极少,提示压后产量在这些取值段出现了明显的空缺。这一分布特征揭示了油井压后产量受多种因素影响,数据呈现多峰性和不均衡性,反映出生产过程中存在一定的波动性和离散性。
Figure 1. Distribution of production data
图1. 产量数据分布
Figure 2. Correlation analysis
图2. 相关性分析
进一步分析储层物性指标,如图2所示,“孔隙度”与“渗透率”之间的正相关性较为显著(相关系数约0.571),这与地质理论中孔隙结构与渗流能力密切相关的认识相符[5]。然而,二者与“压后产量”之间的相关性较低,提示单独的孔隙度或渗透率不足以直接解释产量变化,可能需要与其他参数共同作用才能反映实际生产状况。另一方面,从工艺参数角度看,“加砂量”与“排量”之间存在较高正相关(相关系数约0.796),同时这两项指标与“液量”之间的相关性也十分显著(加砂量与液量相关系数约0.873,排量与液量相关系数约0.723),表明在加砂作业过程中,砂量与排量对液体产出的影响较为密切,可能反映了加砂操作在提高油井产能方面的联合作用。此外,“加砂强度”与其他变量之间的相关性呈现中等水平,而“平均砂比”总体与其他特征的相关性较低,说明后者在解释产量变化中的独立贡献有限。整体来看,各特征之间的相关系数大多处于低到中等水平,但在某些变量间仍存在多重共线性问题,例如加砂量、排量与液量之间的高度相关性,这可能在模型构建时引起冗余信息并影响参数估计的稳定性[6]。
2.3. 数据处理
在本研究中,为了确保数据质量和后续模型的准确性,对原始数据集开展了全面的数据清洗工作,主要包括缺失值处理、重复数据剔除以及异常值检测三个方面。首先,通过对数据集各变量缺失情况的统计分析,研究人员确认数据整体较为完整,但仍对缺失值处理方法进行了充分探讨。常见的缺失值处理策略包括直接剔除含有缺失值的样本、删除缺失比例较高的变量以及利用均值、中位数或众数对缺失数据进行填补,从而降低空值对后续建模带来的干扰。
针对异常值的识别与处理,本研究采用了基于四分位数间距(IQR)的检测方法。通过计算每个变量的25%和75%分位数及其间距,进一步设定合理的上下边界,将超出此范围的观测值视为异常[7]。异常值可能由数据录入错误或极端作业条件引起,其存在容易拉动均值、放大标准差,并对回归模型的稳定性和预测效果产生负面影响。因此,在剔除或修正这些异常值后,数据的分布特性得到了进一步优化,有效提高了模型训练的鲁棒性和准确性[8]。本研究通过系统的数据清洗、缺失值填补和异常值检测,极大地提升了数据质量,为后续的多变量建模和预测分析提供了坚实基础。这一系列预处理工作不仅消除了数据中潜在的噪声和错误,还确保了后续模型结果具有较高的解释力和可信度,为油井压后产量预测及相关应用提供了可靠的数据支撑。
3. 页岩油藏压裂效果预测
3.1. 基于机器学习页岩油藏压裂效果预测
线性回归是一种经典的回归模型,假设自变量与因变量之间存在线性关系。在本实验中,线性回归模型的R2为0.129,表示模型只能解释大约12.9%的目标变量(压后产量)的变化。相对于其他复杂的模型,线性回归的性能较差,可能是因为油井压后产量与特征之间的关系并非完全线性。此外,线性回归对异常值较为敏感,这可能影响了模型的稳定性。均方误差(MSE)为6.152,表示预测值与实际值之间的平均误差较大。平均绝对误差(MAE)为1.917,均方根误差(RMSE)为2.480,表明模型的预测误差较为显著。线性回归预测如图3所示。
决策树回归是一个非参数的回归模型,适合处理复杂的非线性关系[8]。该模型的R2为0.056,说明决策树回归模型几乎无法解释目标变量的变化。这表明在油井压后产量预测问题中,决策树模型可能未能有效地捕捉到数据的内在规律。MSE为6.665,MAE为2.057,RMSE为2.582。这些结果表明,决策树模型的预测误差较大,且其泛化能力较弱。可能的原因是决策树过拟合了训练数据,导致在测试数据上的表现较差,决策树预测如图4所示。
Figure 3. Linear regression prediction plot
图3. 线性回归预测图
Figure 4. Decision tree prediction plot
图4. 决策树预测图
XGBoost是一种基于梯度提升树(GBDT)的回归模型,广泛应用于各种回归任务中[9]。XGBoost的R2为0.761,远高于其他模型,表明该模型能够较好地解释目标变量的变化,具有较强的预测能力。与其他模型相比,XGBoost在捕捉数据中的非线性关系方面表现出色。XGBoost预测如图5所示。
Figure 5. XGBoost prediction plot
图5. XGBoost预测图
3.2. 基于深度学习页岩油藏压裂效果预测
LSTM模型是一种特殊的循环神经网络(RNN),专门设计用来处理序列数据,能够学习长时间步长依赖关系。LSTM在时间序列预测任务中具有很强的表现能力,尤其是在序列间存在长期依赖时[10]。在本实验中,LSTM模型的R2值为−0.0015,说明该模型几乎没有解释目标变量(油井压后产量)的变化。这可能是由于LSTM的模型结构在本任务中没有充分利用数据的时间序列特性,或者在模型训练过程中未能捕捉到数据的关键规律。LSTM模型的均方误差(MSE)为7.074,表明预测结果与实际值之间的误差较大。平均绝对误差(MAE)为2.117,表示LSTM模型的预测结果偏差较为显著。均方根误差(RMSE)为2.660,进一步强调了模型预测的不准确性。LSTM模型的表现未达到预期,可能是因为该模型过于复杂,且未能有效捕捉到数据中的主要趋势。虽然LSTM在处理序列数据时表现优秀,但在本实验中,数据可能缺乏明显的时间序列特征,导致其在油井压后产量预测中的效果较差[11]。LSTM预测如图6所示。
BP神经网络(Backpropagation Neural Network)是一种经典的前馈神经网络,其通过反向传播算法调整权重,逐步优化模型[12]。在本实验中,BP神经网络通过多个隐藏层的加权连接,能够处理复杂的非线性关系,并适应数据的多变性。BP神经网络的R2值为0.2392,相比于LSTM,BP神经网络的表现显著提高。该模型能够解释约23.92%的目标变量变化,表明其能够在一定程度上捕捉数据中的规律。MSE为5.373,表示该模型的预测误差较小,表现优于LSTM。MAE为1.752,显示BP神经网络的预测偏差较为适中,且其RMSE为2.318,进一步表明该模型的误差相对较低。与LSTM模型相比,BP神经网络的性能较为稳定,能够在油井压后产量预测中提供较为准确的结果。BP神经网络预测如图7所示。
Figure 6. LSTM prediction plot
图6. LSTM预测图
Figure 7. BP neural network prediction plot
图7. BP 神经网络预测图
3.3. 基于集成学习页岩油藏压裂效果预测
在本实验中,我们采用了三种不同的多模型融合方法来对油井压后产量进行预测,分别是硬投票(Hard Voting)、加权投票(Weighted Voting)和堆叠(Stacking)方法。下面将对每个模型的实验结果进行单独分析,探讨它们在油井压后产量预测中的表现。
在本研究中,我们通过使用网格搜索(GridSearchCV)对多个回归模型进行了超参数优化,以提高页岩油藏压裂效果预测的精度。首先,我们针对每个模型设置了不同的参数网格进行调优。对于线性回归(lr),最优的参数为fit_intercept = True和normalize = False;对于决策树(dt),最佳参数组合为max_depth = 3和min_samples_split = 5;支持向量机(svm)模型的最优参数为C = 1,kernel = 'rbf'和gamma = 'auto';随机森林(rf)模型的最佳超参数为max_depth = 3,min_samples_split = 10和n_estimators = 200;最后,XGBoost(xgb)模型的最佳参数为max_depth = 3,learning_rate = 0.1和n_estimators = 100。通过GridSearchCV的交叉验证过程,我们获得了每个模型的最优参数,从而能够有效提升每个模型在训练集上的拟合效果。最终,通过将这些优化后的模型应用于集成学习方法,包括投票回归、加权投票回归和堆叠回归,进一步提升了预测精度,并得到了更加稳健的预测结果。
硬投票方法是通过对多个基学习器的预测结果进行投票,最终选择最多的预测类别作为模型的输出。在回归任务中,硬投票是通过对每个基模型的预测值进行平均来决定最终输出。该方法相对简单,且能有效结合多个模型的优点[13]。在本实验中,硬投票模型的R2为0.306,表示该模型能够解释约30.6%的目标变量(压后产量)变化。虽然该结果相较于其他更复杂的模型有所不足,但其具有一定的拟合能力。在均方误差(MSE)上,硬投票模型的值为4.902,说明模型的预测误差较大,存在一定的偏差。平均绝对误差(MAE)为1.724,表明模型的误差在实际应用中较为显著。均方根误差(RMSE)为2.214,表明该模型的预测结果仍然有一定的波动。硬投票模型能够有效地结合不同基模型的优势,但由于其预测的平均化特性,可能导致对一些复杂模式的忽视,从而降低了模型的表现。在油井压后产量的预测中,硬投票模型虽然没有取得非常优异的结果,但其结构简单,容易实现,适合在基学习器性能相近的情况下使用。投票法预测如图8所示。
Figure 8. Voting prediction plot
图8. 投票法预测图
加权投票方法是硬投票的扩展,其中每个基学习器的投票权重不再相等,而是根据每个模型在验证集上的表现赋予不同的权重。在本实验中,加权投票模型的权重是根据每个模型的R2值来决定的,从而增强了表现较好的模型的影响力。加权投票模型的R2为0.635,相较于硬投票模型有了明显提升,能够解释63.5%的目标变量变化。这个结果表明,加权投票模型相比硬投票在预测油井压后产量方面更为准确,能够更好地适应数据中的变化和复杂性。MSE为2.575,说明模型的预测误差相对较小,模型表现较为稳定。MAE为1.237,表明模型的预测误差较为适中,相较于硬投票有所减少。RMSE为1.605,进一步验证了加权投票在减少预测误差方面的优势。加权投票方法通过为每个基学习器分配不同的权重,能够使模型在处理数据时更为精准地聚焦于表现较好的学习器,从而在某些场景下比硬投票方法更有效。特别是在基学习器之间表现差异较大时,加权投票能够显著提高预测精度[14]。加权投票法预测如图9所示。
Figure 9. Weighted voting prediction plot
图9. 加权投票法预测图
堆叠方法是基于多层学习的模型融合技术,其中多个基学习器的预测结果被作为输入特征,进一步训练一个元学习器(meta-model)来做最终预测[14]。在本实验中,我们使用随机森林作为元学习器,进行模型融合。堆叠方法能够有效结合基模型的优势,同时减少基模型之间的误差和偏差。堆叠模型在本实验中的表现最为突出,其R2为0.946,表示该模型能够解释94.6%的目标变量变化,远超其他模型。这表明堆叠方法能够充分利用各基模型的预测结果,并通过元学习器优化最终的预测结果,从而显著提高了模型的准确性。MSE为0.380,MAE为0.383,RMSE为0.616,所有评价指标都表明堆叠模型的预测误差极小,说明其在油井压后产量预测中的表现十分优秀。堆叠方法通过多层次的学习结构,能够有效融合多个基学习器的优点,并通过元学习器调整和优化预测结果,极大地提高了模型的预测性能。这种方法在多个模型之间建立了更为复杂的关系,从而增强了模型对数据的适应性和准确性。堆叠法预测如图10所示。
Figure 10. Stacking prediction plot
图10. 堆叠法预测图
3.4. 基于集成学习算法的敏感性分析
在本研究中,随机森林(RandomForest)模型用于评估各特征在页岩油藏压裂效果预测中的重要性。我们通过训练模型并提取特征重要性值,从而对特征进行排序,以识别对预测结果影响最大的前五个特征。以下是特征重要性的排序结果,如表3所示。
Table 3. Feature importance
表3. 特征重要性
Feature |
Importance |
有效厚度 |
0.9 |
孔隙度 |
0.06 |
渗透率 |
0.02 |
加砂强度 |
0.02 |
含水饱和度 |
0.001 |
从图11中可以看出,有效厚度在预测模型中起到了主导作用,其特征重要性值为0.90,表明其对页岩油藏压裂效果的预测贡献最大。其他特征,如孔隙度(0.06)、渗透率(0.02)、加砂强度(0.02)也具有一定的影响,但远不及有效厚度。含水饱和度的特征重要性几乎为零,表明其对预测结果的影响较小。在代码中,我们使用了plotly.express库来可视化特征重要性。通过随机森林模型训练并提取各特征的feature_importances_,我们对特征进行了排序并选取了前五个最重要的特征。接着,使用px.bar函数绘制了条形图,以直观地展示各特征的重要性。
Figure 11. Feature importance visualization
图11. 特征重要性可视化
4. 结论
在本研究中,针对页岩油藏压裂效果预测问题,我们采用了多种机器学习、深度学习和集成学习模型进行比较,并通过不同评估指标对模型性能进行了评估,如表4所示。模型包括线性回归、决策树、XGBoost、LSTM、BP神经网络、投票法、加权投票法和堆叠法(Stacking)。研究结果表明,集成学习中的堆叠法(Stacking)显著优于其他模型,展现出最优的预测性能。
Table 4. Prediction result evaluation
表4. 预测结果评估
模型 |
R2 |
MSE |
MAE |
RMSE |
Linear Regression |
0.128981 |
6.151906 |
1.916883 |
2.480304 |
Decision Tree |
0.056387 |
6.664630 |
2.057195 |
2.581594 |
XGBoost |
0.761224 |
1.686444 |
1.006597 |
1.298632 |
LSTM |
−0.001523 |
7.073639 |
2.117367 |
2.659631 |
BP Neural Network |
0.239249 |
5.373094 |
1.752292 |
2.317994 |
Voting |
0.305964 |
4.901898 |
1.723749 |
2.214023 |
Weighted Voting |
0.635419 |
2.574991 |
1.236578 |
1.604678 |
集成学习方法中的投票法和加权投票法相较于单一模型有所提升。投票法的R2为0.306,MSE为4.902,表现出一定的改进,但仍不如加权投票法的表现。加权投票法通过为不同模型分配权重,提高了预测准确性,R2为0.635,MSE为2.575,MAE为1.237,RMSE为1.605。最优的预测性能来自于堆叠法(Stacking)。该方法通过将多个基模型的预测结果作为输入,训练一个元模型来生成最终的预测结果。堆叠法的R2达到了0.946,MSE为0.380,MAE为0.383,RMSE为0.616,显著优于所有单一模型及其他集成学习方法。这表明堆叠法能够有效整合不同模型的优势,提升预测准确性和稳定性。