把电网想象成一座 24 小时运转的医院:变电站是抢救室,输电线路是血管,而变压器就是最重要的“心脏”。过去,运维人员只有两种选择——要么等设备烧坏了再抢修,相当于病人心脏骤停才开胸抢救;要么不管有没有病,到点就大修,相当于每年强制所有人做一次手术。两种方式都代价巨大。现在,工程师给每台设备都戴上了“生命体征监护仪”:温度传感器测“体温”,振动传感器测“脉搏”,油中气体监测像“抽血化验”。而 AI 故障预测算法,就是那位 24 小时盯着监护仪、能提前发现异常的“值班医生”——它不等设备“昏倒”才报警,而是在病理指标刚刚偏离正常范围时就拉响警报,并告诉运维人员:这个“病人”需要提前干预。这篇文章,我们就顺着“给设备做体检”这条主线,把数据采集、预处理、异常检测、寿命预测、诊断分类、结果评估串成一整套“智能诊断”流程,看看 AI 是怎么读懂设备这份“体检报告”的。

岗位关联

掌握这套“设备体检”技术,你将拥有把传感器数据变成检修决策的能力,从被动抢修升级为主动预防,成为能源行业数字化转型中最稀缺的“设备主治医师”。

目录
  1. 可视化演示
  2. 故障预测价值
  3. 数据采集感知
  4. 数据预处理
  5. 时序异常检测
  6. 寿命预测
  7. 诊断分类
  8. 算法评估
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示时序异常检测与控制图告警、剩余寿命RUL退化轨迹预测、1D-CNN故障诊断分类流程,通过模式切换理解电力设备故障预测三大核心任务。

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

时序异常检测:控制图与阈值告警 SPC控制图设定统计控制限(UCL/LCL),监测值超出控制限时触发告警 孤立森林通过随机分割特征空间隔离异常点,无需标注正常模式 Alert if |x_t - μ| > k·σ (k=3 for 3σ rule) 时序异常检测是故障预警的第一道防线,实时监测设备运行状态

故障预测价值

把电网想象成一座 24 小时运转的 ICU 医院,变压器是其中最贵的“心脏”。过去,设备检修只有两种极端:等它烧坏了再抢修,相当于病人心脏骤停才抢救;或者不管有没有病,到点就大修,相当于每年强制给所有人做一次开胸手术。前者损失惨重,后者浪费惊人。故障预测技术带来了第三种选择——预测性维护:给每台设备戴上监护仪,让 AI 医生根据数据趋势判断“哪个器官快出问题了”,在病变早期就干预。

从运维经济学看,维护总成本由“预防成本”和“故障期望损失”两部分构成。故障概率 P 虽然无法降为零,但预测能把被动的故障成本转化为可控的预防成本——提前更换一个价值几千元的套管,可能省下的是整台主变烧毁后的数千万元损失,还有停电对工厂和居民造成的连锁影响。这正是电网公司愿意投钱建设状态监测系统的根本原因:数据上的小投入,换回可靠性上的大回报。

一句话总结:体检花小钱,手术花大钱。故障预测就是电网设备的“年度体检”,越早做越省钱,越精确越安心。

Ctotal=Cprevention+P(fault)×Cfault\displaystyle C_{\text{total}} = C_{\text{prevention}} + \mathbb{P}(\text{fault}) \times C_{\text{fault}}
这个公式把“体检”和“手术”的成本算成一本账:预防投入是花小钱,故障概率乘以故障损失是省大钱。
  1. 总运维成本把预防投入和故障期望损失相加,衡量整个维护策略的总开销。
    CtotalC_{\text{total}}
  2. 预防成本体检、监测系统、定期保养的投入费用。
    CpreventionC_{\text{prevention}}
  3. 故障概率设备在当前状态下发生失效的可能性,反映了健康状态的不确定性。
    P(fault)\mathbb{P}(\text{fault})
  4. 故障损失停电、设备烧毁、抢修带来的综合经济损失。
    CfaultC_{\text{fault}}

数据采集感知

医生看病先要有数据:量体温、测血压、听心音。电力设备也一样,它的“体温”“血压”来自贴附在设备上的各类传感器——变压器油箱上的温度探头、监测壳体振动的加速度计、分析油中溶解气体的色谱装置,还有测量电流电压的互感器。这些传感器把物理量变成电信号,再转换成一条条时间序列,就像监护仪把心跳画成心电图。

传感器布设位置决定了数据质量:探头贴在油箱底部和顶部,测到的油温可能相差好几度;振动传感器安装角度偏一点,幅值谱就会变形。采样频率同样关键——局部放电只持续几微秒,采样太稀疏会直接漏掉这“一瞬的心颤”;采样太密则存储和带宽吃不消。数据通过物联网网关上传到平台,传输中断、时延抖动都会污染“病历”。

更本质的问题是:观测到的信号从来不是纯净的,而是“真实状态”叠加“噪声”。噪声来自电磁干扰、测量误差、环境温度漂移。数学上写成 x(t)=s(t)+n(t),后续所有算法都在跟这份“带杂音的病历”打交道——谁能把杂音和真实心跳分开,谁就能做出准的预测。

监护仪的探头位置不对,测出来的全是杂音。传感器布设、采样频率、传输稳定性,决定了后续所有诊断的“地基”质量。

x(t)=s(t)+n(t)\displaystyle x(t) = s(t) + n(t)
传感器读数是“真实健康状态”和“环境噪声”的混合体,就像隔着雨声听心跳,先要知道哪些是雨声。
  1. 观测信号传感器在 t 时刻实际读到的数值序列。
    x(t)x(t)
  2. 真实状态设备真实的健康状态所对应的物理量,是诊断真正关心的部分。
    s(t)s(t)
  3. 噪声电磁干扰、测量误差等随机扰动,会掩盖真实状态。
    n(t)n(t)

数据预处理

刚喝完热水就量体温,读数一定偏高,护士会等五分钟再测。原始数据里也到处是这种“不合时宜的读数”:传感器断线产生缺失值、雷击造成毛刺、停机检修期间的无效记录。如果把这样的数据直接喂给模型,等于把“刚喝完热水的体温”当成真实体温,诊断自然南辕北辙。

预处理就是按规则整理病历。缺失值用前向填充或均值插补——相当于打电话给护士补录数据;毛刺用滑动平均或中值滤波抹平——相当于把记录单上明显手抖划出的笔道删掉;量纲不同的特征做归一化——把"℃""m/s²""MPa"这些不同单位的读数统一翻译成算法能比较的尺度。

Z-score 是应用最广的归一化方法:每个原始值减去均值、再除以标准差,得到均值为 0、方差为 1 的标准化分数。它解决了一个隐蔽的问题:如果温度特征数值在几十到一百之间,而振动特征只有零到几,分类器会不自觉地把注意力全部压在数值大的特征上,小尺度的关键信息被淹没。归一化之后,每个特征在算法眼里“地位平等”。

病历整理干净,医生才能看出“三天来体温缓慢爬升”这种细节。预处理做不好,后面模型再先进也是“垃圾进、垃圾出”。

xnorm=x−μσ\displaystyle x_{\text{norm}} = \frac{x - \mu}{\sigma}
把不同量纲的特征统一到同一把尺子上,算法才不会“以大欺小”。
  1. 原始值某个特征在某个时刻的原始读数。
    xx
  2. 均值该特征在历史窗口内的平均水平,代表数据的“中心”。
    μ\mu
  3. 标准差数据围绕均值的波动程度,衡量数据的“离散范围”。
    σ\sigma
  4. 归一化结果转换后的无量纲值,围绕 0 波动,单位统一。
    xnormx_{\text{norm}}

时序异常检测

护士查房时会盯着体温单的曲线看:单次 37.5°C 可能只是活动后测量,但如果曲线连续爬坡,就要警惕了。设备异常检测的目标,就是让算法扮演这个“24 小时不眨眼的护士”。它不关心设备为什么异常,只关心一件最简单的事——当前读数还像不像“平时的样子”?

最经典的做法是滑动窗口加 3σ 原则:把最近 W 个采样点放进一个窗口,算出窗口内的均值和标准差,然后判断当前点是否偏离常态太多。窗口会跟着设备状态缓慢漂移,天然适应设备老化带来的“正常值变化”——就像护士知道运动员的静息心率比普通人低,不会拿同一把尺子量所有人。

更“聪明”的算法也在回答同一个问题:统计模型(ARIMA 预测误差)把“常态”建模成时间序列的规律;深度学习(自编码器重建误差、LSTM 预测残差)把“常态”学成一个高维模式。但无论多复杂,本质都是同一个判断:当前读数离“历史正常模式”有多远? 离得够远,就画一个红点。

护士不会因为一次体温读数就拉警报,异常检测也不会只看单点,而是结合滑动窗口看“偏离常态的程度”——这便是 3σ 阈值背后最朴素的生活直觉。

zt=xt−μtσt,∣zt∣≥3⇒告警\displaystyle z_t = \frac{x_t - \mu_t}{\sigma_t}, \qquad |z_t| \ge 3 \Rightarrow \text{告警}
用窗口内的均值和标准差给“正常”画一个范围,超出三倍标准差就拉警报,这就是 3σ 原则。
  1. 当前读数t 时刻传感器传回的观测值。
    xtx_t
  2. 窗口均值最近 W 个时刻的平均水平,代表“此刻的常态基线”。
    μt=1W∑i=t−Wt−1xi\mu_t = \frac{1}{W}\sum_{i=t-W}^{t-1}x_i
  3. 窗口标准差最近 W 个时刻的波动程度,代表“常态的浮动范围”。
    σt\sigma_t
  4. 判定准则当前点偏离均值超过 3 倍标准差,视为异常并告警。
    ∣zt∣≥3⇒告警|z_t| \ge 3 \Rightarrow \text{告警}

寿命预测

医生看完趋势图会告诉你:按这个退化速度,再撑三个月就得手术。寿命预测(RUL,Remaining Useful Life)就是让算法也说得出这句话——它不只报警“有问题”,还要回答运维人员最关心的问题:“还能撑多久?”这个答案直接决定检修排期、备件采购和停电窗口安排。

核心方法是退化建模:把某个能反映健康恶化的指标——比如轴承振动幅值、油中乙炔浓度——随时间的变化拟合成一条退化轨迹,再设定一个失效阈值,轨迹穿过阈值的那一刻就是“预言的失效时刻”,减去当前时刻,就得到剩余寿命。退化轨迹越贴合真实规律,RUL 越可信。

最经典的退化模型是指数型 S(t)=S₀·e^(λt):初期缓慢、后期加速,非常符合机械磨损和绝缘老化的物理规律——就像慢性病初期没感觉,到了晚期恶化得飞快。数据驱动方法(循环神经网络、生存分析)能拟合更复杂的轨迹,但故障样本稀缺时,指数模型反而更稳,这也是工程中“简单模型打天下”的原因。

寿命预测不是算命,而是“预后判断”。它给维修排期和备件采购留出从容的窗口,让“还能撑三个月”变成一次计划内检修,而不是半夜抢修。

S(t)=S0eλt,tfail=ln⁡(Sth/S0)λ,RUL=tfail−tnow\displaystyle S(t) = S_0 e^{\lambda t}, \qquad t_{\text{fail}} = \frac{\ln(S_{\text{th}} / S_0)}{\lambda}, \qquad RUL = t_{\text{fail}} - t_{\text{now}}
寿命预测就是把退化轨迹往前外推,看它什么时候撞上失效阈值,剩下的时间就是“还能撑多久”。
  1. 退化量反映健康恶化的指标,随时间逐步上升。
    S(t)S(t)
  2. 初始基线设备刚投运时该指标的数值,是退化的起点。
    S0S_0
  3. 退化速率单位时间内指标恶化的快慢,λ 越大恶化越快。
    λ\lambda
  4. 失效阈值退化量超过该值即认为设备失效,是 RUL 的终点线。
    SthS_{\text{th}}
  5. 剩余寿命达到失效阈值的时刻减去当前时刻,单位通常为天或小时。
    RUL=tfail−tnowRUL = t_{\text{fail}} - t_{\text{now}}

诊断分类

发烧不等于感冒,可能是肺炎、流感甚至阑尾炎。异常检测拉响警报后,运维人员最想知道的是“什么病”:是绕组过热?绝缘老化?局部放电?还是铁芯松动?诊断分类要做的就是这件事——像医生辨病因一样,把“设备不对劲”具体到“哪一类故障”。

分类的前提是特征提取:从原始波形中提炼出“症状描述”。时域特征(均方根值、峰峰值、峭度)描述信号的整体强度与冲击性;频域特征(FFT 各频段能量)描述振动“音色”的变化——绕组松动会让某个频段的能量异常抬升;时频特征(小波系数)则兼顾时间与频率,擅长捕捉局部放电这类瞬态信号。特征选得好,分类就成功了一半。

拿到特征后交给分类器:随机森林、支持向量机、神经网络各有擅长。多分类任务最常用的输出层是 softmax——它把模型对每个类别的“原始打分”转换成概率,并且所有类别的概率加起来恰好等于 1。哪个类别的概率最大,就把它作为诊断结论。这个“概率”还可以附带置信度,供运维人员决定是立即停电检修,还是列入下月计划。

诊断分类让维修人员“对症下药”——知道是局部放电,就安排耐压试验而不是盲目换油。异常检测负责“发现问题”,诊断分类负责“锁定病因”,故障预测的链条到这里才算真正闭环。

P(y=k∣x)=efk(x)∑j=1Kefj(x)\displaystyle P(y = k \mid \mathbf{x}) = \frac{e^{f_k(\mathbf{x})}}{\sum_{j=1}^{K} e^{f_j(\mathbf{x})}}
softmax 把模型对各类别的打分变成一组和为 1 的概率,取最大者作为诊断结果。
  1. 特征向量从原始信号中提取的症状描述,是分类器的输入。
    x\mathbf{x}
  2. 类别得分模型对第 k 类故障打的原始分,得分越高越像该类。
    fk(x)f_k(\mathbf{x})
  3. 指数化把得分取指数,映射为正数并放大类间差异。
    efk(x)e^{f_k(\mathbf{x})}
  4. 归一化分母所有类别指数得分之和,保证概率和为 1。
    ∑j=1Kefj(x)\sum_{j=1}^{K} e^{f_j(\mathbf{x})}
  5. 类别概率第 k 类的后验概率,取最大者作为诊断结论。
    P(y=k∣x)P(y = k \mid \mathbf{x})

算法评估

再好的医生也有误诊率,医院要定期做病历回访考核。故障预测模型上线前,同样要回答两个问题:报警准不准?漏诊多不多?如果算法逢人就说“你有病”,健康设备被反复停电检查,运维人员产生“狼来了”的疲劳后,真正的故障告警反而被当成噪音忽略——这比不报警更危险。

评估的第一步是把预测结果与真实标签做成混淆矩阵:TP 是真故障且被抓住,FP 是健康设备被误报,FN 是真故障被漏掉,TN 是健康设备被正确放行。由此算出精确率 P(所有报警中真故障的比例)、召回率 R(所有真故障中被抓住的比例)和 F1(两者的调和平均)。在电力场景,误报率 FP/(FP+TN) 尤其关键——一次误报可能触发跳闸,代价是整条线路停电。

为了让不同算法“同卷考试”,行业使用标准化基准数据集:NASA 涡扇发动机退化数据集用于寿命预测,公开的油中溶解气体(DGA)数据集用于变压器故障诊断。同样的数据、同样的指标,算法之间才能公平对比、可复现、可迭代。一个模型在自家私有数据上“自卖自夸”毫无意义,在公开基准上跑出好分数才有说服力。

好医生既要少误诊,又要不漏诊。F1 就是那张“年度考核得分”——模型上线前,先过评估这一关。

P=TPTP+FP,R=TPTP+FN,F1=2PRP+R\displaystyle P = \frac{TP}{TP+FP}, \qquad R = \frac{TP}{TP+FN}, \qquad F_1 = \frac{2PR}{P+R}
精确率看“报得准不准”,召回率看“抓得全不全”,F1 是两者的综合评分。
  1. 真阳性真实故障且被算法检出的样本数。
    TPTP
  2. 假阳性健康设备被误报为故障的样本数,对应误报。
    FPFP
  3. 假阴性真实故障被漏掉的样本数,对应漏报。
    FNFN
  4. 精确率所有报警中真正的故障占比,误报越多 P 越低。
    P=TPTP+FPP = \frac{TP}{TP + FP}
  5. 召回率所有真故障中被抓住的比例,漏报越多 R 越低。
    R=TPTP+FNR = \frac{TP}{TP + FN}
  6. F1 分数精确率与召回率的调和平均,综合平衡两者。
    F1=2PRP+RF_1 = \frac{2PR}{P + R}

AI 应用场景

变电站主变油中气体在线预警

阶段:数据感知 + 时序异常检测

解决的问题:传统做法是每季度人工取油样送实验室做色谱分析,周期长达数月;早期局部放电产生的微量乙炔(C₂H₂)在几个月里缓慢爬升,肉眼很难从历史报表里察觉这条“缓慢发烧”的曲线。AI 用在线 DGA 监测加滑动窗口异常检测,把微弱趋势从正常波动中剥离出来,提前数周预警。

具体案例:某 110kV 主变在线监测系统在 C₂H₂ 浓度连续 72 小时稳步上升、z 分数超过 4.2 时触发告警,提前 11 天预警。检修发现套管内部存在局部放电,及时更换套管,避免了绝缘击穿导致的整台主变烧毁。

风电机组齿轮箱剩余寿命预测

阶段:寿命预测(RUL)

解决的问题:齿轮箱是风机最贵的部件之一,故障后更换需要大型吊装、停机数周,损失巨大。固定周期“一刀切”维修常出现过度维修和欠维修并存。用 SCADA 振动、温度数据拟合退化轨迹、预测 RUL,把大修排到小风窗口,让“还能撑多久”成为可排程的生产计划。

具体案例:某风电场 47 台机组接入 RUL 预测系统后,成功将齿轮箱非计划停机次数降低 32%,备件库存周转率提升 20%,维修从“救火”变成“预约挂号”。

高压开关柜局部放电诊断分类

阶段:诊断分类

解决的问题:局部放电、绝缘老化、机械松动都可能表现为电流尖峰,特征相似难以区分,人工看波形依赖老师傅经验。用频域特征加 softmax 分类器,算法可以自动输出“局部放电 62%、绝缘老化 25%”这样的概率诊断,把经验沉淀成可复用的模型。

具体案例:某城网公司在 300 台开关柜的超声波与地电波图谱上训练分类模型,局部放电识别准确率从人工判读的 76% 提升到 91%,误拆柜体检次数减少近一半,检修针对性大幅增强。

Python 演示

python54 行
import mathimport random  def gen_vibration_signal(n=600, seed=42):    """Generate vibration signal with a fault window at [400, 450)"""    random.seed(seed)    data = []    for i in range(n):        t = i * 0.1        normal = 10 * math.sin(t) + 3 * math.sin(2.3 * t)        noise = random.gauss(0, 1.4)        impact = 0.0        if 400 <= i < 450:            period = (i - 400) % 5            impact = 38 * math.exp(-period * 0.8) * math.sin(9 * t)        data.append(normal + noise + impact)    return data  def sliding_window_zscores(data, window=24, k=3.0):    """Return anomaly labels via sliding-window 3-sigma rule"""    labels = [0] * len(data)    for i in range(window, len(data)):        chunk = data[i - window:i]        mu = sum(chunk) / window        var = sum((x - mu) ** 2 for x in chunk) / window        sigma = math.sqrt(var) if var > 1e-9 else 1e-9        if abs(data[i] - mu) > k * sigma:            labels[i] = 1    return labels  def build_metrics(pred, truth):    """Compute precision / recall / f1 / false alarm rate"""    tp = sum(1 for p, t in zip(pred, truth) if p == 1 and t == 1)    fp = sum(1 for p, t in zip(pred, truth) if p == 1 and t == 0)    fn = sum(1 for p, t in zip(pred, truth) if p == 0 and t == 1)    tn = sum(1 for p, t in zip(pred, truth) if p == 0 and t == 0)    precision = tp / (tp + fp) if tp + fp else 0.0    recall = tp / (tp + fn) if tp + fn else 0.0    f1 = 2 * precision * recall / (precision + recall) if precision + recall else 0.0    false_alarm = fp / (fp + tn) if fp + tn else 0.0    return precision, recall, f1, false_alarm  if __name__ == "__main__":    signal = gen_vibration_signal()    truth = [1 if 400 <= i < 450 else 0 for i in range(len(signal))]    pred = sliding_window_zscores(signal)    p, r, f1, fa = build_metrics(pred, truth)    print("告警点: %d  真实故障点: %d" % (sum(pred), sum(truth)))    print("精确率: %.3f  召回率: %.3f  F1: %.3f" % (p, r, f1))    print("误报率: %.3f" % fa)
目的:从生成含故障窗口的振动信号开始,用滑动窗口 3σ 规则做异常检测,并用混淆矩阵指标评估检测效果,复现正文中的核心算法链路。
  1. impact = 38 * math.exp(-period * 0.8) * math.sin(9 * t)模拟故障窗口内的周期性冲击,像设备“打寒颤”。
  2. chunk = data[i - window:i]取出最近 W 个点作为滑动窗口,相当于护士看最近 12 小时的体温曲线。
  3. sigma = math.sqrt(var) if var > 1e-9 else 1e-9防止窗口内方差为零导致除零错误。
  4. if abs(data[i] - mu) > k * sigma:当前读数偏离窗口均值超过 3 倍标准差就标记为异常。
  5. tp = sum(1 for p, t in zip(pred, truth) if p == 1 and t == 1)统计真阳性,即真故障且被抓住的点。
  6. false_alarm = fp / (fp + tn)计算误报率,在电力场景中误报可能触发跳闸,代价很高。
  7. print("精确率: %.3f 召回率: %.3f F1: %.3f" % (p, r, f1))输出评估指标,判断模型是否值得上线。

常见误区

误区我以为只要用算法把异常点标出来,就算完成了故障预测,模型告警之后任务就结束了。反正异常点找到了,剩下的交给运维就行。

正解异常检测只是“发现不对劲”,相当于护士看到体温升高;而完整的故障预测还包括判断严重程度、预测剩余寿命、识别故障类型,最后给出检修建议。只报警不诊断,运维人员仍然不知道是该换油、停电还是继续观察。真正的闭环是“检测—预测—诊断—决策”四步走。

为何常见:很多教程把异常检测当作故障预测的起点和全部,加上“异常”这个词听起来就很完整,初学者容易把局部当整体。

误区误报总比漏报好,所以我把报警阈值调得很低,保证任何一点小波动都触发告警,这样肯定不会错过故障。

正解阈值太低会让正常波动频繁越线,运维人员每天收到几十条假警报,很快产生“狼来了”的疲劳,真故障告警反而被当作噪音忽略。更糟的是,电力场景里一次误报可能触发跳闸,代价是整条线路停电。实际工程要用 F1 和误报率来选阈值,在“抓得全”和“报得准”之间找平衡点。

为何常见:直觉上“多报”显得更负责,人们没意识到告警系统的信誉也是一种稀缺资源,会随着误报被消耗殆尽。

误区只要多装传感器、多攒几年的数据,模型自然就准了。数据不够就继续攒,反正深度学习是“喂数据”的。

正解设备故障数据是典型的长尾分布——正常数据占 99% 以上,故障样本可能只有几十条。纯数据驱动模型会严重偏向正常类,把故障当成“没见过的新情况”直接忽略。要先做数据清洗、对少数类过采样或合成样本,更要引入物理机理知识(如 DGA 三比值法)做约束。数据质量与标签准确性,往往比数据量更决定模型上限。

为何常见:深度学习的宣传让“大数据万能”深入人心,却忽略了一个事实:算法只是学出数据里的分布,分布里没有的东西它学不出来。

误区上了 AI 故障预测系统,就可以撤销人工巡检岗位了,机器会替我们看管所有设备。

正解故障预测降低的是不确定性,而不是消除不确定性。模型有盲区——它没见过的新型故障模式、传感器失效期的数据空洞、极端天气下的异常工况,都可能让模型“失明”。最佳实践是人机协同:AI 提供概率与证据,人做最终决策。这就像医生的诊断结论也要影像科复核,AI 是“副手”而不是“主人”。

为何常见:技术厂商宣传时容易夸大自动化程度,加上人们对 AI 的想象往往来自科幻片,高估了模型在开放世界中的泛化能力。

面试题

Q1. 电力设备故障预测最核心的目标是什么?

单选题 · easy

  • A.等设备故障后尽快抢修
  • B.在故障发生之前提前预警← 正确答案
  • C.增加状态监测的传感器
  • D.完全替代人工巡检检修

答案:B。故障预测的目标是“事前预防”,像医生提前发现病灶。A 是被动抢修,与预测背道而驰;C 只是实现手段;D 是过度承诺,AI 无法完全替代人工。

Q2. 下列哪一项不属于常见的设备状态监测信号?

单选题 · easy

  • A.振动加速度信号
  • B.设备表面温度
  • C.设备保修价格← 正确答案
  • D.局部放电信号

答案:C。监测信号来自传感器对物理状态的感知,振动、温度、局部放电都是关键健康指标;保修价格是商务信息,与设备物理状态无关,不在监测范围内。

Q3. 传感器观测信号 x(t)=s(t)+n(t) 中,n(t) 表示什么?

单选题 · mid

  • A.设备的真实健康状态
  • B.已经发生的故障类型
  • C.外部的随机噪声干扰← 正确答案
  • D.设备的剩余使用寿命

答案:C。s(t) 是真实状态,n(t) 是噪声,就像体温计被环境温度干扰。如果把噪声当成信号,就会产生大量误报;把噪声滤除干净,才能看见真实状态。

Q4. Z-score 归一化的主要作用是什么?

单选题 · mid

  • A.消除量纲影响统一尺度← 正确答案
  • B.把数据变成连续波形
  • C.自动识别故障的类型
  • D.提高传感器的采样频率

答案:A。温度(℃)、振动(m/s²)、油压(MPa)量纲不同,归一化把它们拉到均值 0、方差 1 的统一尺度,算法才不会“以大欺小”。B/C/D 都与归一化无关。

Q5. 滑动窗口 3σ 异常检测中,阈值设得越小会怎样?

单选题 · mid

  • A.漏报的故障点会增多
  • B.误报的假警报会增多← 正确答案
  • C.数据的采样速度变慢
  • D.设备的剩余寿命变长

答案:B。阈值越小,正常波动也越容易越线,假警报增多——就像体温 37.1°C 就报警,健康人也会被反复惊吓。阈值选取要在误报与漏报之间平衡,见 F1 评估。

Q6. 关于剩余寿命 RUL 预测,下列说法正确的有哪些?

多选题 · mid

  • A.RUL 指设备还能安全运行的时间← 正确答案
  • B.退化速率越大 RUL 越短← 正确答案
  • C.RUL 与失效阈值完全无关
  • D.退化轨迹建模是常用方法← 正确答案

答案:ABD。A 是 RUL 的定义;B 退化越快越早撞上阈值,RUL 越短;D 指数/线性退化拟合是常见做法;C 错误——失效阈值直接决定退化轨迹的终点,是 RUL 计算的关键参数。

Q7. 故障诊断 softmax 分类中,分母起什么作用?

单选题 · hard

  • A.把模型的得分放大增强差异
  • B.将各类得分归一化为概率← 正确答案
  • C.自动提取信号中的频率特征
  • D.计算退化过程的衰减速率

答案:B。分母对所有类别的指数得分求和,使输出落在 0 到 1 之间且总和为 1,变成可解释的概率。A 是指数运算的作用;C 是特征提取;D 是寿命预测的内容,均与 softmax 无关。

Q8. 误报率过高会带来哪些实际危害?

多选题 · hard

  • A.运维人员产生狼来了的疲劳← 正确答案
  • B.真实故障告警容易被忽视← 正确答案
  • C.让模型输出的概率更精确
  • D.增加大量无效巡检的成本← 正确答案

答案:ABD。误报过多会让运维人员对告警失去信任(A),真故障告警被淹没(B),并消耗大量人力去做无效核查(D)。C 说反了——误报率高意味着噪声多,模型对概率的估计只会更不可靠。

Q9. 关于精确率与召回率的关系,下列说法正确的是?

单选题 · hard

  • A.阈值调严时召回率通常下降← 正确答案
  • B.阈值调严时精确率通常下降
  • C.两者变化的趋势总是一致
  • D.两者之间不存在相互约束

答案:A。阈值调严意味着只有非常明显的异常才告警,抓到的真故障变少,召回率下降;但报出来的告警可信度更高,精确率上升。这正是 P/R 的“跷跷板”关系,C、D 说法错误。

Q10. 退化轨迹 S(t)=S₀·e^(λt),失效阈值与初始值之比为 4,λ=0.02/天(ln4≈1.386),RUL 约为多少天?

单选题 · extreme

  • A.大约需要 35 天
  • B.大约需要 69 天← 正确答案
  • C.大约需要 139 天
  • D.大约需要 200 天

答案:B。由 ln(S_th/S₀)=λt,得 t=1.386/0.02≈69.3 天。C 是误把 λ 当成 0.01 算出的 139 天;A、D 是计算粗错。RUL=t_fail−t_now,此题中从初始时刻算起即为 69 天左右。