1) 【一句话结论】:构建预测性维护模型时,特征工程需从单变量扩展到多变量(计算传感器间协方差/相关性),通过构造滞后、滚动统计、周期性等时序特征捕捉状态历史依赖性,同时针对数据稀疏问题(如故障发生频率低导致样本少),采用插值或重采样(如ARIMA生成)补全数据,并通过交叉验证或特征选择(如RFE)筛选有效特征,确保模型能利用历史信息并处理信息缺失。
2) 【原理/概念讲解】:时间序列数据在预测性维护中,设备状态(如温度、振动)随时间变化,当前状态与历史状态强相关(时序依赖性),而设备可能长时间无故障,数据点稀疏(故障发生频率低)。特征工程需提取这些依赖关系:
- 多变量特征:不同传感器数据(如温度、振动)之间存在相关性(如温度升高伴随振动增大),计算协方差矩阵或皮尔逊相关系数,提取系统级状态特征(如“温度-振动协方差”反映设备整体状态)。
- 时序依赖性特征:构造滞后特征(历史时间点的值,如t-1步温度)、滚动统计特征(历史窗口的均值/方差,如7天平均温度)、周期性特征(设备运行周期,如工作日/周末标识)、差分特征(数据变化率,如温度变化率)。
- 数据稀疏性处理:设备长时间无故障导致数据点少,通过线性插值(短期缺失)或基于模型的重采样(如ARIMA生成合成数据,长期稀疏)补全数据,避免信息丢失。
类比:就像分析设备“健康”时,多变量特征是多个传感器(温度、振动)的协同状态(如两者同时异常),时序特征是设备过去的状态记录(昨天、前天的数据),数据稀疏则是设备长时间没出问题,只有少数故障数据,需要用插值补全这些“健康记录”。
3) 【对比与适用场景】:
| 特征类型 | 定义 | 特性 | 使用场景 | 注意点 |
|---|
| 多变量协方差 | 计算不同传感器数据的协方差矩阵 | 反映传感器间相关性 | 传感器数据多(如温度、振动、压力) | 需计算相关矩阵,提取显著特征 |
| 滞后特征 | 历史时间点的值(如t-1) | 反映短期趋势 | 设备状态变化快(如温度波动) | 窗口步长需合理(避免过长导致信息滞后) |
| 滚动统计特征 | 历史窗口的统计量(均值、方差) | 捕捉短期波动与趋势 | 设备运行稳定,需监测波动 | 窗口大小需根据数据周期调整(如7天、30天) |
| 周期性特征 | 周期性变量(如工作日/周末) | 处理周期性变化 | 设备运行有固定周期(如每日启动) | 需识别设备运行周期(如通过日志或传感器数据) |
| 差分特征 | 数据点间的差值(如t-t-1) | 识别趋势或突变 | 设备状态变化率大(如振动突变) | 可能需要处理非平稳数据(如差分平稳化) |
| 异常检测特征 | 偏离均值的程度(z-score) | 标记异常点 | 故障前通常有异常信号(如温度骤升) | 需定义阈值(如±2σ) |
4) 【示例】:假设设备有温度(temp)、振动(vib)两个传感器数据,时间戳为t,构造特征:
- 多变量协方差:计算temp和vib的协方差(cov = np.cov([temp, vib])),提取协方差值作为特征。
- 滞后特征:temp_lag1 = temp.shift(1),vib_lag1 = vib.shift(1)。
- 滚动统计:temp_roll_mean = temp.rolling(window=7).mean(),vib_roll_std = vib.rolling(window=7).std()。
- 周期性:is_workday = 1 if t.weekday < 5 else 0。
- 差分:temp_diff = temp - temp.shift(1)。
- 异常:temp_zscore = (temp - temp.mean()) / temp.std()。
处理稀疏:若temp有缺失,用线性插值补全(temp.interpolate(method='linear'))。
5) 【面试口播版答案】:
“在构建预测性维护模型时,特征工程的核心是通过多变量特征(计算传感器间的协方差)和时序特征(滞后、滚动统计、周期性)捕捉设备运行的历史依赖性,同时针对数据稀疏问题(如故障发生频率低导致样本少),采用插值或重采样补全数据。具体来说,我会先提取温度和振动的协方差(反映系统级状态),然后构造滞后特征(过去1步的温度)、滚动统计特征(7天平均温度),以及工作日标识(处理周期性变化)。对于数据稀疏,比如设备长时间无故障,我会用线性插值补全温度数据,避免信息丢失。通过这些特征,模型能更好地利用历史信息,处理时序依赖性,同时应对数据稀疏场景下的信息缺失。”
6) 【追问清单】:
- 问:如何选择滚动窗口的大小?
回答要点:窗口大小需根据设备运行周期和故障发生频率调整,比如设备每天运行8小时,可设为7天(覆盖一周的运行数据),若故障周期更长,可设为30天。
- 问:如何验证特征的有效性?
回答要点:用特征重要性分析(如随机森林的Gini重要性、XGBoost的F-score),或通过时间序列特征选择方法(如递归特征消除,RFE),筛选对预测目标(故障概率)贡献大的特征。
- 问:处理数据稀疏时,插值和重采样哪种更合适?
回答要点:插值适合短期数据缺失(如传感器临时故障),重采样适合长期数据稀疏(如设备长期无故障),需根据数据缺失的频率和周期选择。
- 问:如何处理多变量时间序列中的传感器相关性?
回答要点:计算传感器间的协方差或相关系数矩阵,提取显著的相关特征(如温度与振动的协方差),作为系统级状态特征。
7) 【常见坑/雷区】:
- 忽略多变量特征,仅用单传感器数据,导致模型无法捕捉设备整体状态(如温度异常但振动正常,模型可能漏检)。
- 处理稀疏时直接删除数据,导致样本量减少,信息丢失,影响模型泛化能力。
- 未进行特征选择,特征过多导致过拟合,且冗余特征增加计算成本。
- 未考虑周期性,比如设备周末停机,但特征中未区分工作日/周末,导致模型效果差。
- 未验证特征相关性,冗余特征可能引入噪声,降低模型性能。