1. 进水流量与关键水质指标的日尺度关联分析

任务对象与数据口径

本例取某污水厂连续30天的日运行记录,字段为:date(日期)、Q(进水流量,m³/d)、COD(进水COD,mg/L)、NH3N(进水氨氮,mg/L)。分析目标是判断流量波动是否对进水浓度产生稀释效应,即流量升高时COD、氨氮是否系统性下降,并给出可用于工艺调整的关联结论。

口径约定:全部按日均值计算;相关系数采用皮尔逊相关系数 r,样本量 n=30;显著性判断用 t 检验,自由度 df=n−2=28,双侧 α=0.05 时临界值约为 |r|≥0.361。r 为负表示流量升高伴随浓度下降(稀释),r 为正表示同向变化。

计算流程与判读逻辑

30天日运行记录 Q (m³/d) COD (mg/L) NH3N (mg/L) 预处理 日均值对齐 缺失日剔除 n=30 有效样本 皮尔逊相关 r(Q,COD) r(Q,NH3N) df=28, α=0.05 散点矩阵 Q–COD / Q–NH3N COD–NH3N 观察线性趋势与离群点 判读:|r| ≥ 0.361 且 r < 0 → 显著稀释 |r| < 0.361 → 线性关联不显著,需查其他因素 强稀释(r ≤ −0.6) 高流量日浓度明显走低 工艺:按流量前馈调节 碳源/曝气负荷,避免过量 弱/无稀释(|r|<0.361) 流量与浓度各自独立波动 工艺:以浓度为主控 关注管网来水冲击 正相关(r > 0) 高流量伴随高浓度 疑似外水入渗 或工业废水集中排放 输出关联结论:r 值 + 显著性 + 散点形态 → 决定前馈控制策略或来水核查方向 示例数据仅用于演示计算与判读方法,实际结论须以本厂真实运行数据计算为准

关键计算与实现

皮尔逊相关系数公式为 r = Σ[(xi−x̄)(yi−ȳ)] / √[Σ(xi−x̄)²·Σ(yi−ȳ)²]。下面给出可直接运行的 Python 实现,包含示例数据、相关系数计算、显著性判断与散点矩阵绘制。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 示例数据:30天日运行记录(教学示例,非实测)
np.random.seed(7)
days = pd.date_range("2024-03-01", periods=30, freq="D")
Q = np.random.normal(18000, 2200, 30)          # 进水流量 m3/d
COD = 320 - 0.008 * (Q - 18000) + np.random.normal(0, 18, 30)   # 含稀释效应
NH3N = 28 - 0.0006 * (Q - 18000) + np.random.normal(0, 2.2, 30)

df = pd.DataFrame({"date": days, "Q": Q, "COD": COD, "NH3N": NH3N})

def pearson_with_test(x, y, alpha=0.05):
    n = len(x)
    r = np.corrcoef(x, y)[0, 1]
    df_ = n - 2
    t = r * np.sqrt(df_ / (1 - r**2))
    # 双侧临界值近似(df=28, alpha=0.05 约 2.048)
    t_crit = 2.048
    significant = abs(t) > t_crit
    return r, t, significant

r_qc, t_qc, sig_qc = pearson_with_test(df["Q"], df["COD"])
r_qn, t_qn, sig_qn = pearson_with_test(df["Q"], df["NH3N"])
print(f"r(Q,COD)  = {r_qc:.3f}, t={t_qc:.2f}, 显著={sig_qc}")
print(f"r(Q,NH3N) = {r_qn:.3f}, t={t_qn:.2f}, 显著={sig_qn}")

# 散点矩阵
fig, axes = plt.subplots(1, 3, figsize=(12, 3.6))
pairs = [("Q", "COD"), ("Q", "NH3N"), ("COD", "NH3N")]
for ax, (a, b) in zip(axes, pairs):
    ax.scatter(df[a], df[b], s=22, color="#4a6fa5", alpha=0.75)
    ax.set_xlabel(a); ax.set_ylabel(b)
    r = np.corrcoef(df[a], df[b])[0, 1]
    ax.set_title(f"{a}–{b}  r={r:.2f}")
plt.tight_layout()
plt.savefig("scatter_matrix.png", dpi=120)

运行后输出两个 r 值及显著性标记,并生成三格散点矩阵图。判读时先看 r 的符号与绝对值,再看散点是否呈明显线性带状;若散点分散但 r 接近 0,说明流量与浓度在该时段无稳定线性关系。

结果判读与工艺结论

指标对r 示例值显著性判读工艺动作
Q–COD−0.62显著强稀释效应高流量日按流量前馈下调碳源投加,防止过量
Q–NH3N−0.41显著中等稀释关注高流量日氨氮负荷下降,曝气可适度回调
COD–NH3N0.35不显著两者来源不完全同步分别建立浓度预警,不合并为单一指标
表中 r 值为示例数据计算结果,用于演示判读方法;实际应用时应以本厂连续30天以上真实日均值重新计算,并检查是否存在降雨、检修、工业偷排等特殊日,必要时剔除后再算。
相关系数只反映线性关联,不代表因果。若 r 显著为负,仍需结合管网来水结构、降雨记录和工业排放规律确认稀释来源,避免把外水入渗误判为稀释效应。