18 回归图 regplot

18 回归图 regplot

这类图是什么

散点 + 回归线 + bootstrap 置信带,order 可拟合多项式。

看什么:看两量的平均趋势与不确定性,非线性关系用 order 指定。

5 个案例

18-1 变压器负载率与效率的回归:带 bootstrap 置信带

regplot 自动拟合直线并给出 95% 置信带,带宽反映拟合的不确定性;散点已足够说明形状时,这条线给出的是"平均趋势"而非预测区间。

变压器负载率与效率的回归:带 bootstrap 置信带

18-2 气温与负荷的线性回归:斜率即温度敏感度

气温与负荷的线性回归:斜率即温度敏感度

18-3 辐照度与光伏出力的回归:过原点附近的线性关系

辐照度与光伏出力的回归:过原点附近的线性关系

18-4 风速与风电出力的二次回归:捕捉功率曲线的非线性

order=2 拟合二次曲线,能体现"低风速立方增长、高风速趋于饱和"的功率特性,直线拟合会同时低估中段、高估两端。

风速与风电出力的二次回归:捕捉功率曲线的非线性

18-5 转速与转矩的回归:机械特性曲线

转速与转矩的回归:机械特性曲线

代码

5 个函数取自 code/第四批_回归与矩阵261107.py。关键约束:不调用 sns.set_theme(),否则 font.family 被改成 Arial,中文会变方框;版式由 code/公共配置261107.py 里的 setup_cn_style() 与 save() / save_grid() 统一接管。

# 摘自 code/第四批_回归与矩阵261107.py

def rp_01():
    """变压器负载率与效率的回归:带 bootstrap 置信带。

    regplot 自动拟合直线并给出 95% 置信带,带宽反映拟合的不确定性;
    散点已足够说明形状时,这条线给出的是"平均趋势"而非预测区间。
    """
    fig, ax = new_fig(left=0.19)
    rng = np.random.default_rng(1801)
    b = rng.uniform(0.15, 1.0, 140)
    eta = 98.4 - 1.5 * (1 - b) ** 1.4 - 0.5 * b ** 2 + rng.normal(0, 0.07, 140)
    df = pd.DataFrame({"负载率": b, "效率": eta})
    sns.regplot(data=df, x="负载率", y="效率", ax=ax, color=C1,
                scatter_kws={"s": 16, "edgecolor": "white", "linewidths": 0.3},
                line_kws={"lw": 1.1})
    ax.set_xlabel("负载率 " + IT["beta"])
    ax.set_ylabel("效率 " + IT["eta"] + " / %")
    ax.set_xlim(0.05, 1.06)
    ax.margins(y=0.16)
    save(fig, "18_回归图", "18_回归图_负载率与效率")

def rp_02():
    """气温与负荷的线性回归:斜率即温度敏感度。"""
    fig, ax = new_fig(left=0.19)
    rng = np.random.default_rng(1802)
    t = rng.normal(28, 8, 160)
    p = 380 + 9.5 * (t - 20) + rng.normal(0, 52, 160)
    df = pd.DataFrame({"气温": t, "负荷": p})
    sns.regplot(data=df, x="气温", y="负荷", ax=ax, color=C3,
                scatter_kws={"s": 16, "edgecolor": "white", "linewidths": 0.3},
                line_kws={"lw": 1.1})
    ax.set_xlabel("气温 " + IT["T"] + " / °C")
    ax.set_ylabel("有功负荷 " + IT["P"] + " / kW")
    ax.set_xlim(0, 50)
    ax.margins(y=0.16)
    save(fig, "18_回归图", "18_回归图_气温与负荷")

def rp_03():
    """辐照度与光伏出力的回归:过原点附近的线性关系。"""
    fig, ax = new_fig(left=0.19)
    rng = np.random.default_rng(1803)
    g = rng.uniform(0, 1050, 170)
    p = 0.90 * g + rng.normal(0, 20, 170)
    df = pd.DataFrame({"辐照度": g, "出力": p})
    sns.regplot(data=df, x="辐照度", y="出力", ax=ax, color=C3,
                scatter_kws={"s": 15, "edgecolor": "white", "linewidths": 0.3},
                line_kws={"lw": 1.1})
    ax.set_xlabel("辐照度 " + IT["G"] + " / (W/m²)")
    ax.set_ylabel("有功出力 " + IT["P"] + " / kW")
    ax.set_xlim(-30, 1080)
    ax.margins(y=0.14)
    save(fig, "18_回归图", "18_回归图_辐照度与出力")

def rp_04():
    """风速与风电出力的二次回归:捕捉功率曲线的非线性。

    order=2 拟合二次曲线,能体现"低风速立方增长、高风速趋于饱和"的功率特性,
    直线拟合会同时低估中段、高估两端。
    """
    fig, ax = new_fig(left=0.19)
    rng = np.random.default_rng(1804)
    v = rng.uniform(2, 18, 180)
    p = np.clip(0.42 * v ** 3, 0, 1650) + rng.normal(0, 90, 180)
    df = pd.DataFrame({"风速": v, "出力": np.clip(p, 0, None)})
    sns.regplot(data=df, x="风速", y="出力", ax=ax, color=C1, order=2,
                scatter_kws={"s": 14, "edgecolor": "white"},
                line_kws={"lw": 1.1})
    ax.set_xlabel("风速 " + IT["v"] + " / (m/s)")
    ax.set_ylabel("风电出力 " + IT["P"] + " / kW")
    ax.set_xlim(0, 20)
    ax.margins(y=0.16)
    save(fig, "18_回归图", "18_回归图_风速与出力")

def rp_05():
    """转速与转矩的回归:机械特性曲线。"""
    fig, ax = new_fig(left=0.19)
    rng = np.random.default_rng(1805)
    n = rng.uniform(400, 1480, 150)
    tq = 2.1 * (1 - ((n - 1450) / 700) ** 2) + rng.normal(0, 0.04, 150)
    df = pd.DataFrame({"转速": n, "转矩": tq})
    sns.regplot(data=df, x="转速", y="转矩", ax=ax, color=C1, order=2,
                scatter_kws={"s": 15, "edgecolor": "white", "linewidths": 0.3},
                line_kws={"lw": 1.1})
    ax.set_xlabel("转速 " + IT["n"] + " / (r/min)")
    ax.set_ylabel("电磁转矩 " + IT["T"] + " / (N·m)")
    ax.set_xlim(350, 1550)
    ax.margins(y=0.18)
    save(fig, "18_回归图", "18_回归图_转速与转矩")

说明

  • axes 级图 1181×944 px;figure 级多轴图按内容取 1100~1470 px 宽。
  • 图内不放标题,图题由本文件的标题承担。
  • 数据为 10 kV 配网、380 V 低压、50 Hz 量级的仿真算例,随机种子固定。
posted @ 2026-11-08 08:32  小青蛙电气  阅读(3)  评论(0)    收藏  举报