实验六:预测误差分析与优化改进

实验目的:

- 掌握模型误差分析的方法,从全局和局部两方面评估预测误差的分布和特征。能够针对误差较大的情形进行深入剖析,找出造成偏差的原因(如某些输入条件下模型系统性误差偏高)。

- 学习运用分析结果指导模型改进。针对特定误差模式,采取定向优化措施,例如残差建模、特征补强或输出校正,从而进一步降低模型误差,力争满足设计要求(误差控制在1°C以内)。

- 了解工程上误差控制的重要性,以及模型优化与实际系统需求的结合。体会科研反哺教学的思路:通过严谨的误差分析,让学生认识到学术上的模型评估如何服务于工程目标的达成。

- (拓展目标)初步了解利用优化算法改进系统性能的思路。例如,借助SciPy优化工具对模型和系统参数进行搜索优化(如优化空调控制参数,使预测温度曲线更接近目标),拓宽学生视野。

实验资源要求:

- 数据: 集成模型在测试集上的预测结果,以及对应的真实温度数据。必要时也使用训练集/验证集结果用于比较模型在不同数据上的表现差异。

- 软件环境: Python 3.x,NumPy、Pandas用于误差计算分析,Matplotlib/Seaborn用于可视化(残差分布图、误差随时间/特征的关系图等)。SciPy库用于可能的优化计算(如使用scipy.optimize模块对参数进行优化尝试)。

- 计算环境: 常规计算机即可(误差分析计算量不大)。需保证有良好图形显示能力用于结果可视化。

实验时长: 約3小时

实验内容: 经过前面模型构建和优化,当前集成模型已达到较高精度,但为了确保误差严格受控且满足所有设计指标,本实验进一步针对模型误差进行详细分析和优化调整。学生将在此培养严谨的评估和改进能力,这是从模型开发走向实际部署的关键一步。

首先,进行整体误差评估。计算模型在测试集上的全局误差指标,例如MAE、RMSE,并与1°C这一阈值进行比较。如果MAE已经在1°C以内,则关注最大误差和特定场景下误差;如果仍稍超出,则需重点降低。绘制模型残差分布直方图或核密度图,查看残差(预测值-真实值)的均值和方差是否接近0和尽可能小,是否存在显著偏差。理想情况下残差应接近零均值的对称分布。若观察到残差均值偏离0,说明模型存在系统性偏差(如普遍高估或低估温度);若分布长尾显著,表示有少数场景误差较大,需要针对性处理。

图1 残差分布(校正前 vs 校正后,含平滑密度)

接着,展开细粒度误差分析。将误差与相关影响因素联系:例如绘制误差随时间的曲线,观察在降温过程的哪个阶段误差最大——可能在降温初始阶段由于温度骤降模型略滞后,或在接近稳态时微小温度波动难以预测导致误差;绘制误差与外部环境温度、光照等特征的关系散点图,检查是否在极端高温或强光照情况下误差偏大,提示模型在这些条件下欠拟合。若项目有定义VDS目标曲线某几个关键评价点(如降温5分钟温度、10分钟温度等),则重点计算模型在这些关键点的误差是否满足精度要求。这种分析可以帮助定位问题最集中的环节。

图2 残差随时间(阶段性对比,校正前/后)

根据分析结果,提出有针对性的优化方案,指导学生实施改进。常见思路包括: - 校正系统偏差: 若发现模型整体预测偏高或偏低(残差均值≠0),可以通过后处理进行校正。例如,根据验证集计算的平均偏差值,将模型输出整体平移纠正;或者训练一个简单的线性回归以残差为目标,输入为模型预测值,学得校正公式后对输出进行修正(即残差校准)。

- 特征/模型改进: 如果误差与某些特征相关,如高光照时误差大,可能说明模型未充分利用该特征或该特征的重要性在训练中不足。可考虑增加相关特征的权重(例如在损失函数对高光照样本赋予更大权重,使模型更好拟合这些情况),或者引入新特征(比如如果未考虑湿度而它可能影响降温,则尝试加入)。也可以在模型结构上针对性改进,例如增加一支专门学习初始骤降阶段的子模型。

- 分段建模: 针对不同阶段或工况,训练不同子模型以提高专门精度。例如用一模型预测前5分钟降温,另一模型预测之后的平稳段,然后拼接。这在实际中增加系统复杂度,但可以在实验中探讨其效果。

- 优化算法求解: 进一步连接到实际空调控制优化问题。利用现有模型,借助SciPy优化工具,尝试对某些输入进行优化以达成目标。例如,固定环境条件不变,使用优化算法搜索出风口风速的控制曲线,使得模型预测的舱内温度曲线最接近目标VDS曲线。这相当于在仿真环境下优化空调控制策略,有助于理解如何将预测模型用于反向指导控制。此步骤属于扩展内容,可供感兴趣的学生探究,提高实验科研深度。

图3 残差 vs 外部温度(散点 + 分箱均值轨迹)

实施上述改进措施后,重新在测试集评估模型性能,比较优化前后的误差指标变化。理想情况下,通过校正和局部优化,模型在所有关键指标上均达到或超过要求(如所有关键时间节点误差<1°C)。即使未完全达到,通过本实验的练习,学生也能体会到精益求精的工程精神,以及利用数据分析反哺模型改进的思路。这种严谨的误差分析方法对他们未来从事机器学习项目大有裨益。

实验步骤:

1. 全局误差统计

目标: 在严格可比口径下,对测试集预测进行总体与稳健统计,判定是否满足 1 °C 阈值要求,并识别系统性偏差与长尾风险。

执行要点

  • 统一口径与切分:固定与训练阶段一致的数据版本、标准化参数与时间对齐方式;确保测试集零泄漏。

  • 误差族群:除 MAE、RMSE、MaxAE 外,增加

    • 中位绝对误差 MedAE、分位误差(P90/P95/P99 |y−ŷ|)、覆盖率 Cov1C=Pr(yy<1C)Cov1C=Pr(yy^<1C)Cov1∘C=Pr⁡(∣y−y^∣<1∘C)\mathrm{Cov}_{1^\circ\mathrm{C}}=\Pr(|y-\hat y|<1^\circ\mathrm{C})

    • 置信区间:对 MAE/RMSE 进行自助法(bootstrap, B=1000)置信区间估计;报告 [2.5%,97.5%][2.5%,97.5%] 区间。

  • 残差分布诊断

    • 计算残差 r=yyr=yy^r=y−y^r=y-\hat yμ,σ,μ,σμ,σ,\mu,\sigma, 偏度(skew)、峰度(kurtosis);

    • 零均值检验:单样本 t 检验(或对非正态使用 Wilcoxon 符号秩检验);

    • 正态性/厚尾:Shapiro–Wilk 或 D’Agostino K²;若厚尾明显,建议改用 Huber/Tukey 损失评估稳健性。

  • 相关性与白噪声性:对残差序列做 Ljung–Box 白噪声检验与 ACF 检查;若显著自相关,说明模型仍遗漏可学习结构。

  • 达标判定:同时满足(优先次序):

    • MAE ≤ 1 °C(及其 95% CI 上界 ≤ 1.1 °C);

    • MaxAE ≤ 项目上限(若定义);

    • Cov1CCov1C95Cov1∘C\mathrm{Cov}_{1^\circ\mathrm{C}} ≥ 95%

质量门控(Gate):|E[r]| ≤ 0.1 °C;P95(|r|) ≤ 1.2 °C;残差 t 检验不拒绝零均值假设(或偏差a后可校正)。 产出物:global_metrics.csv、residual_hist_kde.png、residual_acf.png、bootstrap_ci.json。

2. 误差随时间分析

目标:降温时间轴上定位误差峰值区间与阶段性特征,支撑后续分段改进与加权训练。

执行要点

  • 时间对齐与聚合:以冷启动时刻为 t=0t=0 对齐所有测试样本;对每个时间步 tt 计算

    • 平均误差 rˉ(t)rˉ(t)rˉ(t)\bar r(t)、平均绝对误差 r(t)r(t)∣r∣‾(t)\overline{|r|}(t)、标准误(用于误差带);

    • 置信带:rˉ(t)±1.96SE(t)rˉ(t)±1.96SE(t)rˉ(t)±1.96 SE(t)\bar r(t) \pm 1.96\,\mathrm{SE}(t)

  • 阶段定义:建议 0–300 s(冷启动)、300–900 s(快速降温)、>900 s(趋稳)三段;分别统计 MAE、RMSE、MaxAE 与覆盖率。

  • 关键点(VDS)核验[11]:对 5 min、10 min、… 的温度点计算

    • 点误差均值/最大值/覆盖率;

    • 若最大误差超阈,记录样本 ID、工况摘要(外温/光照/风速区间)。

  • 时间漂移:若不同样本存在“温降速度不同步”,可补充时间归一(如将时间按到达某阈值温度的归一化进度τ[0,1]τ[0,1] τ∈[0,1]\tau\in[0,1] 表达),对rˉ(τ)rˉ(τ) rˉ(τ)\bar r(\tau) 重复上述统计,以区分相位差与幅值差。

质量门控:冷启动段r(t)r(t)∣r∣‾(t)\overline{|r|}(t) 峰值 ≤ 1.5 °C 且在 300 s 内单调下降;关键点覆盖率 ≥ 95%。 产出物:time_profile_mae.csv、time_residual_band.png、vds_checkpoints.csv。

3. 误差与特征关系

目标: 识别误差与关键外生/初始条件的统计关联与潜在因果线索,定位欠拟合区域与交互效应。

执行要点

  • 样本级标签:为每个测试样本形成聚合误差标签(如全程 MAE、冷启动段 MAE、趋稳段 MAE、关键点误差向量)。

  • 单变量关系:绘制(外温/初始舱温/光照/车速均值/送风强度等)vs. 误差的散点 + LOWESS/分箱均值曲线;报告 Pearson/Spearman 相关与 95% CI。

  • 多变量/交互

    • 线性/岭回归:MAEExtTemp+Sun+ExtTemp×Sun+MAEExtTemp+Sun+ExtTemp×Sun+MAE∼ExtTemp+Sun+ExtTemp×Sun+…\mathrm{MAE} \sim \text{ExtTemp} + \text{Sun} + \text{ExtTemp}\times\text{Sun} + \dots

    • 偏相关:控制协变量后检验某特征与误差的独立贡献;

    • 分层分析:极端工况(如外温≥P90、光照≥P90)子集的误差差异。

  • 统计稳健性:多重比较校正(Benjamini–Hochberg FDR);对显著发现(q<0.1)才进入改进白名单。

  • 可解释性扩展(可选):对集成模型输出构造“近似 SHAP”或 PDP(部分依赖)以验证非线性与交互形态。

质量门控:显著性发现须在验证集再验证并方向一致;极端工况子集不低于 N=30。 产出物:error_feature_correlations.csv、scatter_lowess/*.png、subset_comparison_report.md。

4. 系统偏差校正

目标: 在验证集学习校准参数,仅在测试集离线应用,消除系统性高估/低估与线性缩放偏差。

执行要点

  • 常数偏差补偿y=ybiasvaly^=y^biasvaly^⋆=y^−biasval \hat y^\star = \hat y - \mathrm{bias}_{\text{val}},其中 biasval=mean(rval)biasval=mean(rval)biasval=mean(rval)\mathrm{bias}_{\text{val}}=\mathrm{mean}(r_\text{val})

  • 线性回归校正:在验证集拟合 y=a+byy=a+by^y=a+b y^y = a + b\,\hat y(可加入环境项:y=a+by+cSun+dExty=a+by^+cSun+dExty=a+b y^+c Sun+d Exty=a+b\,\hat y + c\,\text{Sun}+d\,\text{Ext});

    • 若 b≠1 或 a≠0 显著(p<0.05),在测试集应用 y=a+by(+cSun+dExt)y^=a+by^(+cSun+dExt)y^⋆=a+b y^(+c Sun+d Ext)\hat y^\star = a + b\,\hat y (+ c\,\text{Sun}+d\,\text{Ext})

  • 子群体校正(可选):对“高外温”“强光照”等子群体分别学习 a,ba,b(需验证样本量与稳定性)。

  • 稳健性:采用时间分块的验证法(blocked CV)估计 a,b 的方差;若方差过大,回退到常数偏差补偿方案。

  • 对比与选择:以验证集 MAE/RMSE 与 P95(|r|) 为主指标,选择更稳健的一项进入测试集应用。

质量门控:应用校正后,测试集 |mean(residual)| ≤ 0.05 °C;P95(|r|) 降幅 ≥ 10%;无显著过校正(分段均值不反向偏移)。 产出物:calibration_params.json、postcal_metrics.csv、residual_hist_before_after.png。

5. 局部改进措施

目标: 以问题导向补强薄弱环节:初始阶段滞后、极端工况欠拟合等;优先选择可控、可回退的轻量策略,再评估是否需要重训。

执行要点

  • 初始阶段误差大

    • 训练端方案:在损失中加入时间权重 w(t)w(t)(如 0–300 s 权重×2),或多任务头专学“温降斜率”;重训比较(短训快速判别)。

    • 推理端方案(轻量):检测 0–300 s 的系统性滞后,应用动态残差平滑/前馈校正:

yt=ytλ(t)biasearly,λ(t)=et/τy^t=y^tλ(t)bias^early,λ(t)=et/τy^t⋆=y^t−λ(t)⋅bias^early,λ(t)=e−t/τ\hat y^\star_t = \hat y_t - \lambda(t)\cdot \widehat{\mathrm{bias}}_{\text{early}},\quad \lambda(t)=e^{-t/\tau}

其中biasearlybias^early bias^early\widehat{\mathrm{bias}}_{\text{early}} 来自验证集的早段均值偏差。

  • 特征相关误差大

    • 加权训练或采样重平衡:对高外温样本提高权重/采样率;

    • 二阶校正模型:训练一个轻量偏置回归 Δ=g(ExtTemp,Sun,t)Δ=g(ExtTemp,Sun,t)Δ=g(ExtTemp,Sun,t)\Delta = g(\text{ExtTemp},\text{Sun},t),在推理端输出 y=yΔy^=y^Δy^⋆=y^−Δ\hat y^\star=\hat y-\Delta

    • 交互特征增强:引入ExtTemp×tExtTemp×tSun×tSun×t ExtTemp×t\text{ExtTemp}\times t、Sun×t\text{Sun}\times t 等交互项(先在验证集离线校验其边际收益)。

  • 控制优化(扩展)

    • 设定 0–5 min 风速序列 uuu\mathbf{u}(分段常数或样条),目标

minut(y(tu)ytarget(t))2min⁡u ∑t(y^(t∣u)−ytarget(t))2逼近VDS+λtut2VDS + λ∑tut2能耗minu t(y^(tu)ytarget(t))2逼近VDS + λtut2能耗\min_{\mathbf{u}} \ \underbrace{\sum_t(\hat y(t|\mathbf{u})-y_{\text{target}}(t))^2}_{\text{逼近VDS}} \ + \ \lambda\underbrace{\sum_t u_t^2}_{\text{能耗}}

s.t.uminutumaxuminutumaxut+1utδut+1utδs.t. umin⁡≤ut≤umax⁡u_{\min}\le u_t \le u_{\max},∣ut+1−ut∣≤δ|u_{t+1}-u_t| \le \delta(平滑约束)。

    • 用 SciPy minimize/随机重启/网格 + 局部(L-BFGS-B);该步骤仅作可行性演示与模型指导能力验证。

质量门控:局部策略不得恶化非目标区段的误差(设“不退化约束”);轻量改进先于重训方案。 产出物:early_phase_fix.json、bias_regressor.pkl、control_opt_demo.png、ablation_report.md。

6. 重新评估与比较

目标: 以统一评估脚本对“改进前/后”做成对比较,给出统计显著性与工程可用性结论。

执行要点

  • 成对指标:对每条测试轨迹计算 ΔMAE=MAEafterMAEbeforeΔMAE=MAEafterMAEbeforeΔMAE=MAEafter−MAEbefore\Delta\mathrm{MAE}=\mathrm{MAE}_{\text{after}}-\mathrm{MAE}_{\text{before}}(RMSE/MaxAE 同理);

  • 显著性与效应量:配对 t 检验/ Wilcoxon;报告 Cohen’s d;同时给出非劣检验(设定 δ=0.1 °C 容忍界)。

  • 分层对比:对阶段(早/中/稳)与工况(外温/光照分层)分别汇总 Δ 指标,验证薄弱环节确实改善;

  • 可视化

    • 关键样例的“真实 vs 预测(前/后)”叠图;

    • MAE(t)MAE(t)MAE(τ)MAE(τ)MAE(t)\mathrm{MAE}(t) 或 MAE(τ)\mathrm{MAE}(\tau) 曲线的“前/后”对比;

    • 覆盖率曲线 Pr(r<1C)Pr(r<1C)Pr⁡(∣r∣<1∘C)\Pr(|r|<1^\circ\mathrm{C}) 随时间的“前/后”差异。

质量门控:整体 MAE/RMSE 显著下降(p<0.05),且无主流分层出现退化;覆盖率提升 ≥ 3 pp。 产出物:compare_before_after.csv、significance_report.md、timeseries_overlay/*.png、coverage_curves.png。

7. 结论与展望

目标: 给出是否达标的最终结论与可执行的后续路线,并映射到工程部署关注点与持续优化机制。

结论框架

  • 是否达标:汇总 MAE/RMSE/MaxAE 与 1 °C 目标[6]、VDS 关键点达标率;如已达标,明确运行边界(在何种外温/光照范围内成立)。

  • 为何有效:以“系统偏差校正 + 局部补强 +(可选)控制优化演示”为主的改进链条,结合残差统计、分层 Δ 指标与显著性报告,说明提升因果逻辑。

  • 剩余差距与根因:若仍有短板,定位在数据覆盖不足(极端高外温样本稀缺)、容量/归纳偏差(初期动力学未充分建模)、或模型—物理失配(稳态振荡)。

  • 工程落地要点

    • 实时性:推理延迟预算、分段校正开销、控制策略上线可行性;

    • 安全裕度:上线时在输出侧留 0.2–0.3 °C 安全带;

    • 持续学习:数据漂移监测(KS 检验 / POP shift 指标)、定期重估校准参数、在线 A/B 评估闭环。

  • 下一步路线

    • 数据:补充极端工况与季节迁移数据;

    • 模型:阶段化专家混合、直接多步监督、带物理先验的多任务约束;

    • 评估:不确定性估计与风险觉察(分位回归、MC Dropout),把“1 °C 目标”升格为置信覆盖指标。

产出物:final_conclusion.md、deployment_checklist.md、monitoring_plan.yaml、roadmap_next.md。

最后更新于