油田生产数据选取问题4

1 现状

因为遇到了数据不均衡问题,正在重新对数据进行分析以及修改模型。整个框架见 油田生产数据选取问题3

2 数据问题

2.1 统计

统计项 数量
时间跨度 3425 天
产液量计量 734 天
未选用产液计量 108 天
包含信息较丰富(在已有规则中且至少满足两项)的备注 181 天
油嘴尺寸变化 24 次
泵频率变化 16 次

2.2 分布视图
2.2.1 计量与时间
请添加图片描述

计量值在时序上的分布

横轴为日期,纵轴为产液量计量值,蓝色点为正类 选用,红色点为负类 未选用。可以看出选用的计量值有一定的时序关系,可能在局部存在一定的线性关系。

局部关系与产量预测比较有意思的论文
(待阅读)
[1] Ada B , Ar A , Im A , et al. Oil production forecast models based on sliding window regression[J]. Journal of Petroleum Science and Engineering, 2020.

2.2.2 计量与选用
为了降低复杂度观察模型训练效果,采用了最笨的方法,减少数据的维度,选取对影响最大的产液量计量值与选用值,时间。
产液量波动的规则为使用频率最高的规则,绘图观察计量值与选用值的数据分布。

本行以下的所有散点图,
横轴为 当前数据项 计量值,纵轴为 前一数据项 选用值。
请添加图片描述

计量与选用值分布

负类的分布确实不容易看出。中间部分负类数据有问题,其信息不充分,虽然按照规则可选用,但是未选用。

2.3 总结
模型表现不佳的原因可能来自于数据采集过程(如噪声,缺失值)、或者来自于数据集的特性(如类别重叠,庞大的数据规模)、也可能来自于采用的机器学习模型的特性(如模型容量过小/过大)和任务本身(如类别分布不平衡)

目前数据集有以下问题:
1)未选用的负类数据太少。
2)数据所包含的信息不够丰富。比如油嘴尺寸变化、泵频率变化情况太少。
3)低质量数据。原数据的部分数据可以采用,但是被分为负类。

2.4 考虑方法
考虑了基本的过采样与欠采样k邻近算法,但是仅仅在原本数据的基础上修改不足以丰富数据集的信息。从分布来说 k邻近 也会影响正类的分布。考虑了对负类样本增加loss的权重,但对提升负类的查准率与查全率的效果不明显。

(待阅读)
极端类别不平衡数据下的分类问题
[1] Liu Z , Cao W , Gao Z , et al. Self-paced Ensemble for Highly Imbalanced Massive Data Classification[J]. 2019.
从梯度的角度出发来解决样本不均衡的问题
[2] Li B , Liu Y , Wang X . Gradient Harmonized Single-Stage Detector[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2019, 33:8577-8584.

3 数据生成方法

根据规则,生成数据项,目的是解决数据不均衡,信息不丰富的问题。因为有规则的存在,所以代价比较小。
产液量:
主要依靠产液量波动规则。假设计量值(measuring)服从正态分布,以当天选用值为均值。方差暂时手动设置。
同时与油嘴尺寸、泵频率成线性正相关。系数手动设置。

含水率:
主要依靠含水率波动规则。假设采样值(sampling)服从正态分布,以当天选用值为均值。方差暂时手动设置。

油压与温度非强相关,未纳入考虑。

对于如何获取以上提到的系数方差,除手动以外,可能的方法:
根据数据做统计,计算方差、系数?对于产液量,虽然假设计量值服从正态分布,但是在不同的产液量水准上,方差可能都不同。可先按照规则分为两部分,以 1000 产液量作为统计的划分。含水率同理。
获取产液量方差公式如下:
− − − − − -----

这样的方法就类似状态转移方程,可参考之前在论文中见到的卡尔曼滤波。

4 模型

模型
网络:ANN 人工神经网络
损失函数:CrossEntropy 交叉熵
优化器:SGD 梯度下降

5 实验

5.1 生成数据
请添加图片描述

增加生成数据

绿色的点为按照规则生成的负类数据。

5.2 拟合效果
为了降低建立模型、数据分析的难度,目前只选取了时间、产液量计量值、产液量选用值来做训练。
只完成了训练集上的训练与测试。运气好的话…在训练集的结果分布上来说还可以入眼。模型在训练集的效果稳定且良好时,加入测试集(在训练集上稳定且良好时),新的维度(在训练集上效果稳定,但是差)。

以下是学习后,在训练集中的分类效果指标,以及分类的分布:

训练轮次 正确率 负类查准率 负类查全率 损失
6 77.38% 32.10% 48.15% 0.5609
11 81.20% 37.70% 42.59% 0.5554
16 82.15% 38.61% 36.11% 0.5613
第6轮训练
第11轮训练
第16轮训练
第21轮训练

训练越往后,虽然 loss 趋于稳定,但是对负类的划分效果则越差,查准虽然提高,但查全降低明显。

更清晰的图像见 附录。

5.3 模型评价
我个人期望是当前模型能正确将超出波动范围的数据划分出来。但模型目前对数据拟合能力差,少数情况下能学习到数据的大概分布。

6 评价指标

F1-score
F2-score
待定,可设计特定的评价指标,比如认为对负类的正确划分更重要,按正负类占比,加入非线性函数以划分权重。


附录

请添加图片描述

第1轮训练

请添加图片描述

第6轮训练

请添加图片描述

第11轮训练

请添加图片描述

第16轮训练

请添加图片描述

第21轮训练

おすすめ

転載: blog.csdn.net/weixin_43425490/article/details/122518037