一、Gitee 远程仓库:

https://gitee.com/zhengzhuoying/oil-smart-forecast.git

这个项目是干什么的?

这是一个油气井产量智能预测项目,解决的核心问题是:

能不能不反复跑耗时的 CMG 数值模拟,就快速预测某工况下油井未来的产量?

背景

油田开发中,五点井网(四周注水井 + 中间生产井)很常见。要评估新注入参数(井底流压 BHP、井口压力 STG)下的产能,传统做法是:

  1. 在 CMG 里重新建模、调参
  2. 长时间数值模拟(一组工况可能要跑很久)
  3. 多工况批量仿真成本很高

这个项目怎么做

项目用 CMG 已经模拟好的 50 组工况、15 年产量数据,训练深度学习模型,学会「工况参数 + 历史产量 → 下一时刻产量」的映射关系。

具体流程:

  1. 读数据:训练集 30 组、验证集 10 组、测试集 10 组
  2. 洗数据:处理缺失值、负值、异常值
  3. 造样本:用前 5 个时间步(8 个注入参数 + 历史产量)预测第 6 步产量
  4. 训模型:CNN、LSTM、CNN-LSTM 三个模型对比
  5. 做评估:R²、RMSE、MAE,以及散点图、时序对比图、敏感性分析等

实际意义

训练完成后,给定一组注入工况和历史产量,模型可以秒级给出产量预测,替代重复、耗时的 CMG 数值模拟,用于:

  • 快速评估新工况产能
  • 辅助注入参数优化
  • 为智能油田 / 产能预判提供数据支撑

二、生成的结果:

在figures文件夹里面

一、单模型训练与评估图(每个模型 3 张,共 9 张)

CNN、LSTM、CNN-LSTM 各有一套,文件名前缀对应模型名。

1. *_loss_curve.png — 训练与验证损失曲线

  • 横轴:训练轮数(Epoch)
  • 纵轴:Loss(均方误差 MSE,越小越好)
  • 两条线:
    • 蓝/训练损失:模型在训练集上的误差
    • 橙/验证损失:模型在验证集上的误差

怎么看:

  • 两条线都下降 → 模型在学习
  • 训练 loss 一直降、验证 loss 上升或震荡 → 可能过拟合
  • 验证 loss 不再下降时早停 → 避免过拟合


2. *_scatter.png — 真实值 vs 预测值散点图

  • 横轴:真实产量(m³/day)
  • 纵轴:模型预测产量(m³/day)
  • 红色虚线:理想对角线(预测 = 真实)

怎么看:

  • 点越靠近对角线 → 预测越准
  • 点系统性偏对角线上方/下方 → 模型整体高估或低估
  • 点很散 → 误差大、稳定性差


3. *_error_dist.png — 误差分布直方图

  • 横轴:预测误差 = 真实值 − 预测值(m³/day)
  • 纵轴:该误差出现的次数(频数)
  • 红色虚线:误差为 0

怎么看:

  • 峰值在 0 附近 → 无偏、较准
  • 整体偏正/负 → 系统性高估或低估
  • 分布越窄 → 误差越稳定
  • 接近正态、中心在 0 → 模型较理想


二、三模型横向对比图(2 张)

4. models_comparison.png — 指标柱状对比图

三个子图分别是 R²、RMSE、MAE 在三个模型上的对比。

指标 含义 好坏

拟合优度,越接近 1 越好

越高越好

RMSE

均方根误差(m³/day)

越低越好

MAE

平均绝对误差(m³/day)

越低越好

用途: 一眼看出哪个模型综合最好(你这次 CNN 的 R² 最高)。


5. errors_boxplot.png — 预测误差箱线图

  • 每个箱子:一个模型在测试集上所有样本的误差分布
  • 箱体:中间 50% 误差的范围
  • 中线:误差中位数
  • 须线 / 圆点:正常范围外的离群点

怎么看:

  • 箱体越矮、越靠近 0 → 误差小且集中
  • 中位数离 0 远 → 有系统偏差
  • 箱子高或须线长 → 误差波动大、稳定性差


三、时序预测效果对比图(2 张)

6. 10_test_cases_comparison.png — 10 个测试工况时序对比

  • 10 个子图:测试集 10 个 case(case_41 ~ case_50)
  • 横轴:时间步
  • 纵轴:产量(m³/day)
  • 实线:真实产量
  • 虚线:最优模型(CNN)预测产量

怎么看:

  • 两条线贴合 → 该工况预测好
  • 明显偏离 → 该工况难预测或模型不足
  • 整体趋势(升/降)是否跟对

用途: 不只看整体指标,还看每个工况上的时序表现。


7. multi_model_case_comparison.png — 单工况三模型对比

  • 选一个测试工况(如 case_41)
  • 黑实线:真实产量
  • 彩色虚线:CNN、LSTM、CNN-LSTM 的预测

怎么看:

  • 哪条虚线最接近黑线 → 该工况下哪个模型更好
  • 能否跟上拐点、下降段

用途: 比较三个模型在同一条时序上的差异,而不只是平均指标。


四、敏感性分析图(1 张)

8. sensitivity_analysis.png — 输入特征敏感性分析

  • 9 个子图:8 个注入参数 + 1 个历史产量(Oil_Rate)
  • 横轴:该特征在合理范围内的变化
  • 纵轴:模型预测的产量(m³/day)
  • 方法:固定一个测试样本,只改变某一个特征,看预测产量如何变

怎么看:

  • 曲线陡 → 模型对该特征敏感,改动影响大
  • 曲线平 → 不敏感,改动影响小
  • 上升/下降 → 特征增大时产量升还是降

用途: 理解模型更依赖哪些输入(如某口井 BHP、STG),对工程调参有参考意义。


总结对照表

图片 回答的问题

损失曲线

训练是否正常?有没有过拟合?

散点图

预测值和真实值整体一致吗?

误差直方图

误差大不大?有没有系统性偏差?

指标柱状图

三个模型谁更好?

误差箱线图

哪个模型更稳?离群点多不多?

10 工况曲线

每个测试井预测得怎么样?

单工况多模型

同一条时序上谁更准?

敏感性分析

哪些输入对产量影响最大?

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐