RMSE、wRPD与净误差:routee-powertrain-model-library 模型精度评估体系解读

原创2026-10-20 17:47:571,718 阅读

RMSE、wRPD与净误差:routee-powertrain-model-library 模型精度评估体系解读

routee-powertrain-model-library 是一个收录 280 多个预训练车辆能耗预测模型的开源模型库,覆盖 ICE、HEV、BEV、PHEV 及重型卡车等 74 种车辆配置。对新手来说,拿到一个模型后最关心的问题往往是:它预测得准不准? 本项目用一套完整的模型精度评估体系来回答这个问题——每个模型都在 metadata.json 中自带留一测试误差,包括 RMSE、加权相对百分比偏差(wRPD)与净误差(Net Error),并在链路(link)和行程(trip)两个粒度上报告。

本文带你零基础读懂这套模型精度评估体系,不用写代码也能看懂每个指标的含义。

一、评估数据藏在哪里:每个模型自带"体检报告"

本库的目录结构是:v2/<品牌>/<车型>/<年份>/<模型配置>/v1/,每个模型目录下有两个文件:

  • 模型本体:model.onnx(随机森林/CNN)或 model.joblib(NGBoost 概率模型)
  • 模型卡片:metadata.json——包含输入输出契约、训练来源(provenance)和误差指标(errors)

打开任意一份 metadata.json,找到 errors 字段就能看到测试集上算好的全套精度指标。此外,仓库根目录的 index.json 是全部模型的机读目录,方便程序批量提取精度信息。

以 2016 款丰田凯美瑞随机森林模型为例,它的 errors 字段核心内容如下:

"fuel_gge": {
  "link_root_mean_squared_error": 0.00118,
  "link_weighted_relative_percent_difference": 0.423,
  "net_error": 0.00668,
  "trip_root_mean_squared_error": 0.00764,
  "trip_weighted_relative_percent_difference": 0.112,
  "trip_norm_root_mean_squared_error": 0.179
}

训练时按 metadata.json 中 provenance.training 的设定划分了 20% 的留一测试集(test_size: 0.2,random_seed: 52),所以上面每个数字都是未见过的数据上的表现,不是"考试前的模拟成绩"。

二、逐个拆解三大核心指标:RMSE、wRPD 与净误差

1. RMSE(均方根误差):平均每次"偏"了多少

link_root_mean_squared_error 和 trip_root_mean_squared_error 分别给出单条路段和整段行程的 RMSE。凯美瑞模型的链路级 RMSE 是 0.00118 加仑——平均而言,模型对一条路段的油耗预测与真实值相差约 0.001 加仑。

与之配套的 norm_root_mean_squared_error(归一化 RMSE)把误差除以数据尺度,得到一个无量纲数:越接近 0 越准,接近 1 说明误差已和数据本身的波动一样大。凯美瑞的行程级 nRMSE 为 0.179,即行程总油耗的预测误差约为数据自身变动的 18%。

2. wRPD(加权相对百分比偏差):相对偏差的直观表达

weighted_relative_percent_difference 衡量"预测值相对真实值平均偏了几个百分点",以小数表示:0.13 就代表约 13% 的相对误差。这是选型时最直觉的指标——

  • 凯美瑞(ICE):行程级 wRPD ≈ 0.112,即整趟行程油耗预测平均偏差约 11%
  • 链路级 wRPD 高达 0.42:单条路段上车速、坡度变化剧烈,单段预测天然更"抖",这属于正常现象(详见第四节的对比)

3. Net Error(净误差):整盘算下来"高估还是低估"

单段预测有正有负,汇总后正负会互相抵消。net_error 就是把测试集所有预测加总后与所有真实值加总的偏差:凯美瑞模型为 0.00668,意味着全测试集总油耗只被高估了约 0.7%。这正是车队级、走廊级能耗统计真正关心的口径。

三、为什么有 link 和 trip 两行数字?

粒度 含义 凯美瑞示例(trip wRPD / link wRPD)
link(链路级) 每条路网路段的能耗预测误差 0.112 / 0.423
trip(行程级) 把一次完整行程的所有路段聚合后的误差 —

链路级误差大、行程级误差小是能量守恒式的必然结果:一段高估、一段低估,汇总后互相抵消。因此:

  • 做逐段路径规划时,重点看 link 级指标
  • 做全程能耗、续航估算时,trip 级指标更有参考意义

errors 字段中还有一组里程经济性指标:actual_dist_per_energy(真实每加仑里程 31.2 mi/gal)、pred_dist_per_energy(模型 31.0)与 real_world_pred_dist_per_energy(应用实车修正系数后的 26.6)。后者体现了库内的 real-world adjustment 机制——实验室/仿真能耗会按动力类型乘以修正系数(如 ICE 为 1.166)向真实道路表现靠拢,这一机制及完整系数表见 README.md。

四、全库精度总览:哪类车预测得最准?

README.md 的 Evaluation 章节汇总了 280 个报告行程级误差的模型,按动力类型给出中位数、p90 与最大值:

动力类型 模型数 行程级中位 wRPD p90 最大
ICE(燃油) 95 0.09 0.11 0.27
HEV(混动) 31 0.12 0.15 0.33
重型卡车 48 0.12 0.16 0.19
BEV(纯电) 76 0.18 0.23 0.72
PHEV(纯电模式) 15 0.25 0.30 0.32
PHEV(混动模式) 15 0.16 0.48 0.48
全部 280 0.13 0.24 0.72

几个值得记住的结论:

  • 燃油车最准(中位约 9% 行程级偏差),BEV 次之——纯电车型能耗受电池热管理、空调影响更大,建模难度更高
  • 全库行程级中位 wRPD 约 13%,即"典型一趟行程的能耗预测偏差在 13% 左右"
  • 中位净误差仅 1.5%(p90 4.3%):单段可以偏差十几个百分点,但聚合到车队/走廊尺度上,系统性偏差非常小
  • 链路级中位 wRPD 为 0.40,再次印证"逐段预测更难"

五、进阶:NGBoost 概率模型的专属指标

库中还有 16 个 model.joblib 形式的 NGBoost 随机模型(如 toyota/corolla_ice/2016 下的 4 个配置),除了上述指标外,还多报告三项概率校准指标:

指标 全称 凯美瑞 NGBoost 示例 怎么读
negative_log_likelihood 负对数似然 行程级 -5.28 数值越高(越不负)概率预测越好
continuous_ranked_probability_score CRPS 分数 行程级 0.00094 越低越好,衡量整个概率分布的拟合
prediction_interval_coverage_probability 预测区间覆盖率 行程级 0.98 声明 95% 置信时实际覆盖 98%,说明置信区间略偏保守,可信度充足

普通确定性模型这三项为 null;如果你关心"预测的不确定性有多大"(例如续航估算的风险边界),应优先选择 NGBoost 配置。

六、三步快速读懂任意模型的精度

  1. 定位模型目录:通过 index.json 或直接浏览 v2/ 找到目标车型,例如 v2/toyota/camry_ice/2016/
  2. 打开 errors 字段:看 error_by_target 下你的目标列(fuel_gge、electric_kwh 等)
  3. 按使用场景挑指标:
    • 逐段能耗/路径规划 → 看 link_weighted_relative_percent_difference
    • 全程续航/油耗 → 看 trip_weighted_relative_percent_difference 与 net_error
    • 不确定性需求 → 看 NGBoost 模型的 PICP 与 CRPS

常见问题

问:0.13 的 wRPD 算好还是差? 对"仅凭车速、坡度等路段级特征预测能耗"这类任务,行程级 10%~20% 属于该领域主流精度水平;且净误差中位仅 1.5%,用于车队级统计完全可用。

问:为什么 PHEV 的 p90 与 max 差异很大? PHEV 同时覆盖纯电(kwh)与保电(gge)两种模式,且样本量仅各 15 个模型,个别车型工况单一会拉高上尾值。

问:这些数字是怎么来的,可信吗? 每个模型使用固定随机种子、独立 20% 测试集在训练时计算,并随 metadata.json 一同发布;模型还带 model_digest(sha256)指纹,路径与元数据一旦不一致加载器会直接报错,从机制上保证了指标与模型一一对应。


总结:routee-powertrain-model-library 用"模型自带体检报告"的方式,把 RMSE(平均偏差)、wRPD(相对偏差百分比)、Net Error(系统性偏差) 三大指标在链路/行程两个粒度上完整披露,并辅以概率校准指标。新手只需记住一条主线:单段看 link、全程看 trip、统计看 net error,即可为任何场景快速判断模型精度是否够用。

登录后查看全文
routee-powertrain-model-library