3. 产量数据准备与预处理
Arps递减拟合的精度,在很大程度上并不取决于拟合算法本身,而取决于喂给算法的产量时间序列是否干净。现场得到的产量数据往往来自计量间、单井计量、功图折算或数据库导出,天然带有开关井、计量误差、修井停产、注水见效、措施增产等干扰。若直接把这些点投入拟合,最小二乘会把异常点当作真实趋势去迁就,导致递减率偏大或偏小、初始产量 qi 失真、预测储量偏差。因此本节的核心任务是:把一段"能反映自然递减规律"的产量序列从原始数据中提炼出来。
一、数据收集:先明确"用哪一段、用哪个量"
收集阶段要解决三件事:时间口径、产量口径、约束条件。时间上,Arps拟合要求等时间间隔序列,现场常见的是日产量、月产量或旬度折算产量。日产量噪声大但分辨率高,月产量平滑但点数少(拟合指数递减时月数据点少于12个往往不稳定)。工程上常用做法是:以月产量为主拟合,用日产量辅助识别异常。
产量口径必须统一。油井应明确用产油量还是产液量:含水上升期用产油量拟合递减更符合Arps的物理假设,而产液量在含水稳定阶段更平稳。同时要记录生产时间(开井时率),因为关井20天的月份产量天然偏低,这不是递减,而是停产。常见处理是把月产量折算为"正常生产日的日产水平":
q_norm = Q_month / (N_days × H) # H 为开井时率(0~1)
# 示例:某月产油 620 t,30 天,开井时率 0.83
# q_norm = 620 / (30 × 0.83) ≈ 24.9 t/d
此外要同步收集工作制度(油嘴/泵径/冲程冲次)、措施记录、注水对应关系。这些不是拟合输入,却是判断"某个点该不该剔除"的唯一依据——没有措施记录的异常点,你无法区分它是计量错误还是真实增产。
二、异常值识别:三类来源、三种判据
异常值按成因分三类:停产型(关井、修井、地面故障导致产量骤降甚至为零)、计量型(单点跳变、单位错误、录入重复)、工程型(压裂、酸化、补孔、换泵造成的真实台阶式变化)。前两类应剔除或修正,第三类不能简单剔除,而应分段拟合,因为它是油藏/工艺状态的真实改变。
识别判据建议组合使用,而不是只看一条:
- 物理阈值:产量 ≤ 0 或超过该井历史峰值 1.5 倍且无措施记录,标记可疑。
- 统计判据:对相邻点计算一阶差分,用中位数绝对偏差 MAD 稳健估计离散度,|Δq − median(Δq)| > 3×1.4826×MAD 判为跳变。MAD 比标准差抗污染,适合含多个异常点的序列。
- 趋势判据:对序列做局部线性回归或三点滑动中值,残差超过 2 倍局部标准差的点标记;连续多点同向偏离则更可能是真实台阶而非孤立异常。
三、数据平滑:保留趋势、压掉噪声
平滑的目的是抑制计量噪声,但绝不能把真实递减"抹平"。常用方法有三类,适用场景不同:
滑动平均最简单,取窗口内算术平均,窗口取 3 或 5 个点。缺点是端点损失、对台阶响应滞后。中值滤波对孤立尖峰特别有效,窗口 3 点即可去掉单点跳变而不改变台阶位置,是清洗阶段的首选。指数平滑给近期数据更大权重,适合产量缓慢连续变化的井,平滑系数 α 取 0.2~0.4 较常用。
# 3点中值滤波示例(月产油,t/d)
raw = [25.1, 24.6, 61.3, 23.9, 23.2, 22.8]
# 对第3点取中值:median(24.6, 61.3, 23.9) = 24.6
# 61.3 被判为计量跳变并被替换,趋势保持连续
需要强调的是:平滑不能替代剔除。若把停产月与正常月一起平滑,会把低值"摊"到相邻点,人为压低 qi。正确顺序是:先剔除/修正异常,再平滑,最后才进入拟合。
四、归一化:让不同井、不同制度可比
归一化在Arps拟合中有两个用途。其一是多井对比与批量拟合时消除量纲差异,常用 min-max 归一化把产量映射到 [0,1],或用 q/qmax 表示无因次产量。其二是时间归一化:把日历时间换算为"生产时间",即累计开井天数,使不同开井时率的井落在同一时间轴上。
q_scaled = (q - q_min) / (q_max - q_min)
t_prod = Σ (N_days × H) # 累计生产时间,替代日历时间
五、质量检查:进入拟合前的最后一道关
清洗完成后,用一张简表核对关键指标,确认数据"可拟合":有效点数是否足够(指数递减建议 ≥ 12 个,双曲递减建议 ≥ 18 个)、时间间隔是否等距、开井时率是否已折算、异常点是否均有处理记录、平滑前后趋势是否一致。若有效点不足,应改用更长的时间单元(如季度)或放宽平滑强度,而不是硬拟合。
把上述步骤串起来,一个可复用的处理顺序是:统一口径并折算日产 → 按开井时率剔除停产月 → MAD 抓孤立跳变 → 对照措施台账区分工程台阶 → 中值滤波平滑 → 归一化与生产时间换算 → 质量检查。以某示例井为例(数据为教学假设):原始月产油序列含 1 个停产月(时率 0.2)、1 个计量跳变点(61.3 t/d)、1 次压裂后产量台阶抬升。处理后剔除停产月、修正跳变点、在压裂点处分段,前段得到 14 个有效点,拟合指数递减 D≈0.021/月,回代预测与后段实测偏差在 8% 以内;若不做预处理直接拟合,D 被拉高到 0.034/月,预测一年后产量偏低约 22%。这个对比说明:预处理不是可选的"美化"步骤,而是决定拟合结果物理可信度的前置条件。