想象你是一座气象站的站长,手下有位预报员小林,每天报“明天下不下雨”。月底你想知道他到底靠不靠谱,怎么办?很简单:把每天他报的天气和实际天气对一对,记录偏差有多大、是报早了还是报晚了。再进一步,你会想:淋了雨的人和带了伞却白跑一趟的人,谁更生气?当然是淋雨的人。所以考核不能只看平均偏差,还得给“漏报”加倍扣分。这就是预测精度评估的全部智慧。 在预测性维护里,AI 模型就像这位预报员,它预测的是设备的“剩余寿命”——机器还能健康跑多久。模型报得准不准、误差会不会随时间变大、该不该回炉重训,都靠一套评估体系来回答。这套体系分三个递进层次:用 MAE 和 RMSE 算日常误差,用 PHM 行业评分算不对称代价,用交叉验证与在线监控确保持续有效。读完这篇,你就能像站长一样,把 AI 预报员管得明明白白。

岗位关联

对 AI 从业者而言,掌握预测精度评估,意味着你交付的不只是一个“能跑的模型”,而是一套可度量、可信赖、可持续迭代的工业级解决方案——这正是制造业客户最愿意买单的核心能力。

目录
  1. 可视化演示
  2. 误差度量基础:MAE 与 RMSE
  3. 行业评分标准:PHM 评分
  4. 测试集设计
  5. 交叉验证实践
  6. 在线监控评估
  7. 模型衰退检测
  8. 自动再训练机制
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示LRU(最近最少使用)页面置换算法的工作过程,追踪页面访问序列,在物理帧满时淘汰最久未使用的页面,支持步进和自动播放查看每次访问的置换结果。

本节配有交互动效(进入视口后自动加载,约 3KB)。

LRU页面置换 红色框表示缺页中断,需置换页面 绿色框表示页面命中,直接访问 淘汰 argmin(t_last_used)

误差度量基础:MAE 与 RMSE

考核第一天,站长想给预报员小林算“平均偏差”。他翻出过去一个月的记录:第 1 天预报 31 度,实际 33 度;第 2 天预报有雨,实际没下……把这些偏差的绝对值全部累加再除以天数,就得到最朴素的误差指标。生活里我们常说“平均错了几度”,这就是 MAE 给人的直觉。

在预测性维护中,模型输出的是设备剩余寿命的数值,比如“还能跑 200 天”,而真实值是 180 天,差了 20 天。把所有样本的这种差值取绝对值后求平均,就是 MAE(Mean Absolute Error,平均绝对误差)。它的优点是直观好懂,缺点是会被大量小误差“平均”掉:哪怕模型偶尔把 500 天预报成 50 天,只要这样的灾难性失误不多,MAE 依然很好看。

既然 MAE 有盲区,站长决定换一种记分法:把每次偏差先平方再平均再开方,这就是 RMSE(Root Mean Square Error,均方根误差)。平方运算让 50 天的大偏差变成 2500,而 1 天的小偏差只有 1——大错误的“票重”被成倍放大,再也藏不住了。中间的 MSE(Mean Square Error,均方误差)只是没有开方的一步,单位变成了“天²”,不直观,所以工业上更常用 RMSE。

站长看完报表恍然大悟:MAE 是“平均感觉”,RMSE 是“风险雷达”。如果一个模型的 MAE 和 RMSE 差距很大,说明它偶尔犯大错——对设备维护来说,一次大错就可能是一次产线趴窝,这正是 RMSE 存在的意义。

MAE=1n∑i=1n∣yi−y^i∣\displaystyle MAE = \frac{1}{n}\sum_{i=1}^{n}\left| y_i - \hat{y}_i \right|
公式说明:先对每个误差求平方,再求平均,最后开方还原到“天”的单位。由于平方的存在,RMSE 永远不小于 MAE,两者的差距就是“偶发大误差”的代价。
  1. 误差平方计算每个样本误差的平方,大误差的数值被急剧放大,小误差几乎不影响大局。
    (yi−y^i)2\left( y_i - \hat{y}_i \right)^2
  2. 平均平方误差把所有平方误差求和再取平均,得到均方误差 MSE。
    1n∑i=1n(yi−y^i)2\frac{1}{n}\sum_{i=1}^{n}\left( y_i - \hat{y}_i \right)^2
  3. 开方还原单位对 MSE 开根号,数值回到“天”的尺度,方便和 MAE 直接对比。
    1n∑i=1n(yi−y^i)2\sqrt{\frac{1}{n}\sum_{i=1}^{n}\left( y_i - \hat{y}_i \right)^2}

行业评分标准:PHM 评分

考核第二周,站长接到市民投诉:小林昨天说“小雨”,结果地铁站被淹了;另一天他预报“大暴雨”,全城停工一天,却只飘了几滴雨。站长发现,漏报的愤怒远大于空报的懊恼。维护行业也是一样:提前换件只是浪费一个零件的钱,滞后漏报却要赔上整条产线的停机损失。

于是行业引入了 PHM(Prognostics and Health Management,故障预测与健康管理)标准评分。它定义偏差 $d_i$ = 预测剩余寿命 − 真实剩余寿命:$d_i < 0$ 表示“提前报警”(空报),$d_i \geq 0$ 表示“滞后报警”(漏报)。关键是,两种方向的惩罚完全不对称——这就是行业评分与普通误差指标的本质区别。

站长的考核表从此有了“不对称力”:漏报一天大雨的扣分,抵得上空报十次小雨。对应到工厂,PHM 评分让 AI 团队和维修团队说同一种语言——不是“误差几毫米”,而是“这个模型让我们少亏了多少钱”。

si={exp⁡(−di13)−1,di<0exp⁡(di10)−1,di≥0\displaystyle s_i =\begin{cases}\exp\left(-\dfrac{d_i}{13}\right) - 1, & d_i < 0 \\[8pt]\exp\left(\dfrac{d_i}{10}\right) - 1, & d_i \geq 0\end{cases}
公式说明:提前分支分母是 13,惩罚曲线平缓;滞后分支分母是 10,惩罚曲线陡峭。把每个样本的子得分 $s_i$ 加起来得到总分,总分越小代表模型越安全。
  1. 预测偏差定义$d_i$ 是预测值减真实值,负数代表提前报警,正数代表滞后报警,它决定了走哪条分支。
    di=T^i−Tid_i = \hat{T}_i - T_i
  2. 提前分支(温和)分母 13 让指数增长缓慢,提前 10 天的代价远小于滞后 10 天,符合“多备件总比趴窝强”的工程直觉。
    exp⁡(−di13)−1,di<0\exp\left(-\frac{d_i}{13}\right) - 1, \quad d_i < 0
  3. 滞后分支(严厉)分母 10 让指数增长迅猛,同样 10 天的滞后误差会带来大得多的惩罚,直接映射突发停机的巨额损失。
    exp⁡(di10)−1,di≥0\exp\left(\frac{d_i}{10}\right) - 1, \quad d_i \geq 0
  4. 汇总总分把 $n$ 个设备的子得分累加得到总分 $S$,总分越低越安全,负数/小正数代表模型倾向于提前预警。
    S=∑i=1nsiS = \sum_{i=1}^{n} s_i

测试集设计

站长想正式考核小林,绝不能拿今天的天气考昨天的预报,得用过去从没让他看过的历史记录当考卷。如果小林提前翻过答案,成绩再好也是假的。机器学习里,这张“没见过的试卷”就是测试集。

训练模型前,工程师把历史数据按时间顺序切成三份:训练集(复习资料)、验证集(模拟考)、测试集(正式考卷)。关键在于,切分必须严格按时间进行——如果随机打乱,未来某个时刻的数据会混进训练集,模型等于“偷看了未来”,这叫数据泄漏。此外还要注意样本平衡:设备故障样本本来就稀少,不能为了切分把仅有的几次故障全扔进训练集;同时测试集的分布要贴近真实部署场景,比如工厂换了新机型,就得用新机型的工况数据来考。

站长把 10 年天气记录按时间排好:前 8 年当复习资料,第 9 年当模拟考,第 10 年当正式卷。只有当小林在“从没见过的年份”里依然报得准,他才有资格正式上岗。模型评估也是同样的道理:考卷设计得好不好,直接决定你对模型水平的判断真不真。

ptest=ntestntrain+nvalid+ntest≈0.1∼0.2\displaystyle p_{\text{test}} = \frac{n_{\text{test}}}{n_{\text{train}} + n_{\text{valid}} + n_{\text{test}}} \approx 0.1 \sim 0.2
公式说明:测试集样本数占全体样本的比例,经验上取 10% 到 20%,太少则评估不稳定,太多则训练数据不足。
  1. 分子——测试集样本数$n_{\text{test}}$ 是正式考卷的样本量,这部分数据在训练阶段必须完全不可见。
    ntestn_{\text{test}}
  2. 分母——全集样本数$n_{\text{train}} + n_{\text{valid}} + n_{\text{test}}$ 是训练集、验证集、测试集三部分的样本总和。
    ntrain+nvalid+ntestn_{\text{train}} + n_{\text{valid}} + n_{\text{test}}
  3. 比例与参考值$p_{\text{test}}$ 通常取 0.1 到 0.2,故障样本极少时甚至可以更小,但要保证测试集包含足够的“坏日子”。
    ptest≈0.1∼0.2p_{\text{test}} \approx 0.1 \sim 0.2

交叉验证实践

只用一年当考卷,万一那年天气特别反常怎么办?站长决定把 10 年记录分成 10 份,每份轮流当考卷、其余 9 份当资料,考 10 次取平均。这就是 K 折交叉验证。

在时序数据里,不能简单随机打乱做 K 折,因为时间因果会断裂。预测性维护常用“滚动窗口”或“前推验证”:先用前 70% 的数据训练,预测紧挨着的 10%;然后整体前移,把刚才的测试段纳入训练,再预测下一段,如此滚动多次。这样每次考试都严格“考未来”,没有一道题泄漏。交叉验证还有一个额外价值:用它来选超参数——在验证集上反复比较不同配置,挑出十次考试平均成绩最好的模型。

十次小考的平均成绩,比一次期末考可信得多。站长从此敢在汇报里写“近十年平均命中率”,模型团队的评估报告也在 K 折交叉验证的支撑下经得起业务方追问。

Eˉ=1K∑k=1KEk\displaystyle \bar{E} = \frac{1}{K}\sum_{k=1}^{K} E_k
公式说明:$E_k$ 是第 $k$ 折(第 $k$ 次考试)的验证误差,把 K 次考试误差取平均,得到更稳健的模型水平估计。
  1. 第 k 折误差$E_k$ 表示第 $k$ 次把第 $k$ 份数据当作考卷时的误差指标,可以选用 MAE、RMSE 或 PHM 分数。
    EkE_k
  2. 累加所有折$\sum_{k=1}^{K} E_k$ 把 K 次独立考试的误差全部加起来,覆盖数据的各个时期。
    ∑k=1KEk\sum_{k=1}^{K} E_k
  3. 取平均$\bar{E}$ 是 K 轮考试的平均误差,单次考卷可能偏难或偏易,平均成绩才代表真实水平。
    Eˉ=1K∑k=1KEk\bar{E} = \frac{1}{K}\sum_{k=1}^{K} E_k

在线监控评估

小林正式上岗后,站长没有一劳永逸。每天下班,他都会拿当天的实况对一遍预报,算一算“今日误差”。模型部署也一样——评估不是上线那一刻的一次性动作,而是日复一日的持续体检。

在线监控的做法是:每来一批新数据(比如每天记录一次设备振动特征和真实剩余寿命),就计算实时误差;同时用滑动窗口统计“近期成绩”。窗口越长越平稳、越短越灵敏,工业上常用 30 天窗口的平均绝对误差作为近期成绩单。除了误差本身,还要监测输入数据分布是否漂移——比如传感器换了新批次、设备改了工况,模型面对“陌生长相”的数据,误差自然上升。一旦窗口误差连续超过告警阈值,系统就要通知工程师介入。

站长的墙上挂着一块“近 30 天误差白板”,数字一抬头就能看见。模型团队也应该把滑动窗口误差和漂移指标做成监控大屏,让衰退在酿成大祸之前就无处遁形。

MAEw(t)=1w∑i=t−w+1t∣yi−y^i∣\displaystyle \text{MAE}_w(t) = \frac{1}{w}\sum_{i=t-w+1}^{t}\left| y_i - \hat{y}_i \right|
公式说明:$w$ 是滑动窗口长度,只统计最近 $w$ 个时刻的绝对误差均值,反映“当下最近的预测水平”,而不是被历史好成绩平均掉的旧账。
  1. 窗口长度 w$w$ 是滑动窗口大小,比如 30 天或 50 个运行周期,决定评估的灵敏度。
    ww
  2. 窗口区间$i = t-w+1, \dots, t$ 表示只取最近 $w$ 个时刻,早于窗口的旧误差一律不再计入。
    i=t−w+1,…,ti = t-w+1, \ldots, t
  3. 窗口平均误差对这 $w$ 个样本的绝对误差求平均,得到时刻 $t$ 的近期 MAE。
    MAEw(t)=1w∑i=t−w+1t∣yi−y^i∣\text{MAE}_w(t) = \frac{1}{w}\sum_{i=t-w+1}^{t}\left| y_i - \hat{y}_i \right|

模型衰退检测

第三年,小林的成绩开始悄悄下滑。站长仔细对比发现,不是小林偷懒,而是城市扩张后微气候变了,他脑子里的老经验逐渐失灵。设备的“微气候变化”就是数据漂移和设备老化——工况在变,传感器在漂移,故障模式也在演化。

衰退检测的思路是:把近期表现和上线初期的基线表现放在一起比。定义衰退比 $R$ = 近窗口 MAE ÷ 基线 MAE。基线 $\text{MAE}_{\text{baseline}}$ 是模型刚部署、表现稳定时的窗口误差,代表“正常水位”;近期 $\text{MAE}_{\text{recent}}$ 是当前滑动窗口的误差,代表“此刻水位”。当 $R$ 超过经验阈值(通常取 1.2,即误差上涨 20%)就判定模型衰退。为了避免单周抖动误报,还要看趋势:连续多周上升才算数,同时检查残差是否出现系统性规律(比如总是低估,说明模型出现固定偏差)。

站长给小林配了一盏状态指示灯:绿=正常,黄=重点观察,红=必须处理。模型的衰退检测就是这盏灯,让团队在成绩彻底崩盘之前先行动,而不是等设备突然趴窝才去翻监控记录。

R=MAErecentMAEbaseline,R>θ (θ≈1.2)\displaystyle R = \frac{\text{MAE}_{\text{recent}}}{\text{MAE}_{\text{baseline}}}, \quad R > \theta \ (\theta \approx 1.2)
公式说明:衰退比 $R$ 是近期误差与基期误差的比值,大于阈值 $\theta$(经验值约 1.2)时触发衰退告警。
  1. 基线误差$\text{MAE}_{\text{baseline}}$ 是模型刚上线、精度稳定时的窗口 MAE,作为衡量“正常水平”的标尺。
    MAEbaseline\text{MAE}_{\text{baseline}}
  2. 近期误差$\text{MAE}_{\text{recent}}$ 是当前滑动窗口算出的 MAE,代表模型此刻的真实表现。
    MAErecent\text{MAE}_{\text{recent}}
  3. 衰退比与阈值$R$ 大于 $\theta$(约 1.2)说明近期误差比基线高了两成以上,判定模型进入衰退期。
    R=MAErecentMAEbaseline>θR = \frac{\text{MAE}_{\text{recent}}}{\text{MAE}_{\text{baseline}}} > \theta

自动再训练机制

站长把制度写进了规章:小林要么在红灯亮起时去回炉培训,要么每季度定时回炉一次,哪个先到按哪个执行。自动再训练就是给模型装上同样的双保险触发器——既看“成绩”,也看“日历”。

触发条件由两条路并联:事件触发(衰退比 $R > \theta$)和周期触发(距上次训练时间 $\Delta t \geq T_{\max}$,比如 90 天)。触发后不能直接拿新模型替换旧的,必须走完整流程:用新积累的数据做增量更新(在旧模型基础上继续学习,保留已经学会的规律),然后在历史测试集上做回归测试,确认新模型不比旧版本差;通过后再灰度上线,逐步放大流量。这套流程保证每一次模型更新都是“越换越好”,而不是“赌一把”。

站长发现,自从有了这套机制,小林的成绩再也没亮过红灯。预测性维护团队也一样:能自动发现自己变笨、并及时回炉重学的模型,才配得上“工业级 AI”四个字——评估不是终点,而是让模型持续保持年轻的循环起点。

触发  ⟺  (R>θ) 或 (Δt≥Tmax⁡)\displaystyle \text{触发} \iff \left( R > \theta \right) \ \text{或} \ \left( \Delta t \geq T_{\max} \right)
公式说明:触发条件是“衰退超阈值”与“超过最大周期”的逻辑或关系,任一条件满足即触发再训练。
  1. 阈值触发$R > \theta$ 表示衰退比击穿红线,模型已经明显变笨,需要立刻回炉。
    R>θR > \theta
  2. 周期触发$\Delta t \geq T_{\max}$ 表示距离上次训练太久,即使成绩还没下滑,也要定时更新以吸收最新工况。
    Δt≥Tmax⁡\Delta t \geq T_{\max}
  3. 或逻辑判定两个条件互不依赖,任一成立即触发,确保“既看成绩,也看日历”。
    触发  ⟺  (R>θ) 或 (Δt≥Tmax⁡)\text{触发} \iff \left( R > \theta \right) \ \text{或} \ \left( \Delta t \geq T_{\max} \right)

AI 应用场景

风电齿轮箱剩余寿命预测

阶段:模型评估与在线监控阶段

解决的问题:传统风电维护按固定日历停机检修,要么过度维护浪费发电窗口,要么维护不足导致突发故障。AI 模型预测齿轮箱剩余寿命后,必须用 PHM 评分标准考核“漏报比空报贵得多”这一行业规则,确保预测系统宁可提前预警、绝不滞后漏报。

具体案例:某风电场为 36 台风机部署齿轮箱 RUL 预测模型,先用过去两年振动数据按时间顺序切分并做滚动交叉验证,MAE 从 18 天优化到 6.5 天;上线后每月计算滑动窗口误差,第 7 个月衰退比 R 突破 1.2,系统自动触发再训练,用最近三个月的数据增量更新并经回归测试后重新上线,精度恢复到 MAE 7.1 天。

半导体晶圆厂设备健康管理

阶段:模型部署与持续迭代阶段

解决的问题:晶圆制造设备(如刻蚀机)停机一小时损失可达数十万元,设备预测误差评估必须区分“提前换件”与“故障停线”的成本不对称,用普通误差指标无法驱动正确的维护决策。

具体案例:设备工程团队对 12 台刻蚀机的传感器数据训练剩余寿命模型,用 PHM 评分替代朴素 MAE 作为考核标准,识别出频繁“滞后预测”的短板后针对性优化;随后通过在线监控发现其中 2 台设备因传感器批次更换出现数据漂移,触发自动再训练,将误报率降低 40%,年度非计划停机时间减少 55%。

Python 演示

python45 行
# -*- coding: utf-8 -*-"""预测性维护 - 预测精度评估演示"""import numpy as np  def mae(y_true, y_pred):    """平均绝对误差: 平均偏差有多大"""    return float(np.mean(np.abs(y_true - y_pred)))  def rmse(y_true, y_pred):    """均方根误差: 对大误差惩罚更重"""    return float(np.sqrt(np.mean((y_true - y_pred) ** 2)))  def phm_score(y_true, y_pred):    """PHM 行业评分: 滞后(漏报)惩罚远重于提前(空报)"""    d = y_pred - y_true    s = np.where(d < 0, np.exp(-d / 13.0) - 1.0, np.exp(d / 10.0) - 1.0)    return float(np.sum(s))  def main():    rng = np.random.default_rng(42)    n = 200    time = np.arange(n)    y_true = np.clip(100 - time * 0.5, 0, 100)    y_pred = y_true + rng.normal(0, 4, n)    big_error_idx = rng.random(n) < 0.05    y_pred[big_error_idx] += rng.normal(18, 6)    y_true = np.clip(y_true, 0, 100)    y_pred = np.clip(y_pred, 0, 100)     print("MAE  = %.4f" % mae(y_true, y_pred))    print("RMSE = %.4f" % rmse(y_true, y_pred))    print("RMSE >= MAE 恒成立, 差值体现偶发大误差的代价")    early = phm_score(y_true, y_pred - 5.0)    late = phm_score(y_true, y_pred + 5.0)    print("整体提前 5 的 PHM 分数: %.2f" % early)    print("整体滞后 5 的 PHM 分数: %.2f" % late)    print("滞后远大于提前 -> 漏报代价更高")  if __name__ == "__main__":    main()
目的:模拟一批设备剩余寿命的真实值与模型预测值,用同一份数据计算 MAE、RMSE 和 PHM 评分,直观对比三类指标对“日常小误差”和“偶发大误差”的不同敏感度。
  1. return float(np.mean(np.abs(y_true - y_pred)))对每个样本求偏差绝对值后取平均,这就是 MAE 的核心逻辑。
  2. np.sqrt(np.mean((y_true - y_pred) ** 2))先平方、再平均、最后开方,让偶发大误差的权重显著变大。
  3. d = y_pred - y_true计算预测偏差,负数是提前报警,正数是滞后报警,决定了 PHM 走哪条惩罚曲线。
  4. np.where(d < 0, np.exp(-d / 13.0) - 1.0, np.exp(d / 10.0) - 1.0)提前分支分母 13 温和,滞后分支分母 10 严厉,完全对齐行业不对称代价。
  5. rng.normal(0, 4, n)引入常规随机误差,模拟现实中模型“平时大体靠谱”的状态。
  6. y_pred[big_error_idx] += rng.normal(18, 6)随机给 5% 的样本注入大误差,考验 RMSE 与 PHM 能否抓住尾部风险。
  7. phm_score(y_true, y_pred + 5.0)整体滞后 5 天时的 PHM 总分,运行结果将明显大于提前 5 天,验证不对称惩罚。

常见误区

误区“我的模型准确率 99%,预测精度肯定没问题。” 初学者常把分类指标直接套到回归任务上,看到接近 100% 的数字就觉得模型很强。

正解剩余寿命预测是回归任务,要回答“还有多久坏”,而不是“会不会坏”。设备大多数时间不会立刻故障,模型只要一直报“健康”就能刷出极高的二分类准确率,但它对关键故障几乎零感知。真正要看的是 MAE、RMSE、PHM 评分这些“误差距离”。就像站长如果只统计小林说“没下雨”的日子,他一年能对三百天,却可能在仅有的十场暴雨里漏掉八场。

为何常见:准确率是分类场景最常用的指标,惯性思维让人误以为它放之四海皆准;而“99%“听起来远比”误差 6.5 天”有安全感。

误区“MAE 才 2 天,说明预测非常准,可以放心上线了。” 只盯着 MAE 一个数字就下结论。

正解MAE 把所有误差简单平均,偶尔一次偏 50 天的大错误会被几十个偏 1 天的小误差淹没。RMSE 平方后才平均,让大误差的“票重”翻倍;PHM 评分还会给滞后型大错加码。好比弓箭手大多射中 9 环、偶尔脱靶,平均环数是 8.9,但“脱靶风险”却被平均值掩盖了。评估时必须同时看 MAE、RMSE 和 PHM 分数,三者差距越大,越说明模型“平时还行、关键时刻掉链子”。

为何常见:MAE 最直观、最好算,很多入门教程只讲这一个指标,让人忽略误差分布的尾部风险。

误区“交叉验证不就是把数据分成几份轮流训练测试吗?随机打乱一下没毛病。”

正解时间序列数据一旦被打乱,未来的样本就会混进训练集,模型等于提前看了答案——这就是数据泄漏,评估分数会虚高到失真。预测性维护必须按时间顺序切分,或使用滚动窗口、前推验证,保证测试集严格位于训练集之后。就像不能用明天的雨量记录去“训练”昨天的预报模型,那等同于开卷考试。

为何常见:教科书上的 K 折交叉验证默认样本独立同分布,初学者直接照搬到时序数据,忽略了“时间因果”这一前提。

误区“部署时测过 MAE 很理想,之后就不用再管了。” 把评估当成上线前的临时检查。

正解设备磨损、工况改变、传感器漂移都会让输入分布悄悄变化,模型性能会随时间衰减。工业实践要求在线监控:用滑动窗口持续计算近期误差、对比基线、检测漂移,衰退比超过阈值(如 1.2)就告警,必要时自动触发再训练。预报员上岗后再也不考核,成绩单只会越来越难看,等到设备突然趴窝再补救就晚了。

为何常见:传统软件部署后基本静态运行,人们对“模型部署后仍需要持续体检”缺乏认知。

误区“PHM 评分不就是把 MAE 换个公式算吗?随便挑一个指标看就行。”

正解MAE 和 RMSE 只衡量数值偏差大小,PHM 评分把“提前 vs 滞后”的业务代价编码进公式:滞后漏报的惩罚曲线(分母 10)比提前空报(分母 13)陡峭得多。同样一组误差,如果全是滞后型,PHM 分数会急剧放大;如果全是提前型,分数温和得多。这正是维护行业的“不对称经济学”:提前换件只亏零件钱,滞后漏报赔上整条产线。选哪个指标取决于汇报对象——向算法团队报 MAE,向管理层报 PHM。

为何常见:初学者只看到“都是误差函数”,忽略了 PHM 评分携带的行业业务语义和不对称惩罚设计。

面试题

Q1. 预测性维护中,常用来衡量“平均预测偏差大小”的指标是?

单选题 · easy

  • A.平均绝对误差 MAE← 正确答案
  • B.均方根误差 RMSE
  • C.行业综合评分 PHM
  • D.分类准确率 ACC

答案:A。MAE 对每个样本的误差取绝对值求平均,直接回答“平均错多少天”;RMSE 是平方后开方,强调大误差;PHM 是带业务代价的评分;ACC 是分类指标,不适合剩余寿命这类回归任务。站长先看 MAE,了解小林日常报得有多准。

Q2. 关于 RMSE 与 MAE 的大小关系,正确的是?

单选题 · easy

  • A.RMSE 恒大于 MAE
  • B.RMSE 恒等于 MAE
  • C.RMSE 恒不小于 MAE← 正确答案
  • D.两者大小没有固定关系

答案:C。由于平方运算对较大误差赋予更高权重,数学上恒有 RMSE ≥ MAE。只有当所有误差完全相等时两者才相等。“恒不小于”准确涵盖等于与大于两种情形。若 RMSE 明显大于 MAE,说明模型存在偶发大误差——好比预报员平时平均偏 2 度、偶尔偏 15 度的风险信号。

Q3. PHM 评分公式中,对“预测滞后”(di ≥ 0)的惩罚项是?

单选题 · mid

  • A.exp(di/10) - 1← 正确答案
  • B.exp(-di/13) - 1
  • C.|di| 的绝对值函数
  • D.di 的平方函数

答案:A。PHM 评分把偏差分成两段:滞后用分母 10 的指数函数(惩罚陡峭),提前用分母 13 的指数函数(惩罚平缓),故选 A。绝对值与平方函数没有不对称设计,无法体现“漏报比空报更贵”的行业规则。站长考核小林时,漏报暴雨的扣分必须远重于空报。

Q4. 对时间序列预测模型做交叉验证时,正确的做法是?

单选题 · mid

  • A.随机打乱样本再划分
  • B.按时间顺序滚动切分← 正确答案
  • C.用全部数据训练后自评
  • D.只保留最后一刻的数据

答案:B。时序数据必须保证测试集时间在训练集之后,常用滚动窗口或前推验证,否则未来信息会泄漏进训练集,评估分数虚高。随机打乱是“样本独立”假设下的做法,对时序失效;自评等于开卷考试;只留最后一刻样本太少。站长要用“没见过的年份”考小林,而不是把答案混进复习资料。

Q5. 与全量 MAE 相比,滑动窗口误差统计的主要优势是?

单选题 · mid

  • A.能及时反映近期趋势← 正确答案
  • B.计算速度一定更快
  • C.可以彻底消除噪声
  • D.不需要真实标签值

答案:A。滑动窗口只看最近 w 个样本,能捕捉“最近预报越来越不准”的苗头,而全量平均会被早期好成绩拖平。计算速度不是滑动窗口的必然优势;它也不能消除噪声;实时评估永远需要真实标签来对照。站长挂在墙上的“近 30 天误差白板”就是滑动窗口思想的体现。

Q6. 下列哪些现象提示预测性维护模型可能正在衰退?

多选题 · mid

  • A.滑动窗口误差持续上升← 正确答案
  • B.输入数据分布发生漂移← 正确答案
  • C.测试集 RMSE 变为负数
  • D.预测残差出现规律性偏差← 正确答案

答案:ABD。窗口误差上升是最直接的性能衰减信号;输入分布漂移(如传感器批次更换)会让模型在陌生数据上失准;残差出现规律说明模型系统性高估或低估。RMSE 是平方和开根号,恒为非负,不可能出现负值——看到“RMSE 变负”只能说明计算代码写错了。

Q7. 模型部署后监测到预测精度持续下滑,正确的第一步是?

单选题 · easy

  • A.立即删除旧模型重新训练
  • B.先定位衰退原因再决策← 正确答案
  • C.调低告警阈值掩盖问题
  • D.更换全部传感器硬件

答案:B。精度下滑可能源于数据漂移、传感器故障、工况变化或模型本身衰减,原因不同对策不同:数据漂移要补充新数据重训,传感器故障要修硬件。跳过诊断直接删除模型,会把已学到的有效知识也丢掉。站长遇到小林成绩下滑,会先查是气候变了还是方法过时了,而不是直接开人。

Q8. 关于 PHM 不对称评分,下列说法正确的是?

多选题 · hard

  • A.提前预测的惩罚相对温和← 正确答案
  • B.滞后预测的惩罚更为严厉← 正确答案
  • C.总分越低代表整体预测越好← 正确答案
  • D.滞后预测完全不受惩罚

答案:ABC。PHM 评分对提前(空报)用分母 13,对滞后(漏报)用分母 10,相同偏差幅度下滞后惩罚更大,故 A、B 正确。总分是各样本惩罚的和,越低说明整体误差与风险越小,C 正确。滞后不仅受惩罚,恰恰是设计重点,D 错误。这就是“宁可多换一次零件,也不愿突发停机”的业务直觉。

Q9. 真实剩余寿命为 60 天,模型预测为 48 天,该样本的 PHM 子得分约为?

单选题 · extreme

  • A.低于同幅度滞后误差的得分← 正确答案
  • B.高于同幅度滞后误差的得分
  • C.等于同幅度滞后误差的得分
  • D.提前预测所以得分为零

答案:A。di = 48 − 60 = −12,走提前分支:exp(12/13) − 1 ≈ 1.52;若偏差同幅度但滞后 12 天:exp(12/10) − 1 ≈ 2.32。1.52 < 2.32,故选 A。计算说明“提前 12 天”的成本显著低于“滞后 12 天”,这正是维护行业宁可早换件也不愿漏报的量化表达。

Q10. 关于自动再训练的触发与验证,正确的做法有?

多选题 · hard

  • A.衰退比超过阈值即触发← 正确答案
  • B.达到最大更新周期也触发← 正确答案
  • C.新模型需通过回归测试← 正确答案
  • D.直接覆盖旧模型不验证

答案:ABC。常见的触发方式是事件触发(R > θ)与周期触发(Δt ≥ Tmax)的“或”关系,A、B 都是合法触发条件。新模型必须先在历史测试集上做回归测试、确认精度不倒退再灰度上线,C 正确。直接覆盖旧模型是工业大忌——没有验证就替换,可能把可靠的模型换成更差的版本。就像站长不会让小林刚回炉就上岗,必须先通过模拟考核。