在项目 A 的数据清洗管道开发过程中,遇到了时序数据中连续缺失值的处理问题。整理了几种常见思路,记录在此。
问题背景
传感器数据在网络中断或设备故障时会产生连续的缺失片段,短则几秒,长则数小时。不同的插值策略对下游模型的影响差异显著。
几种处理方式
1. 线性插值
最简单的方式,在缺失段两端之间做线性填充。适合缺失段较短(< 5 分钟)且数据变化平稳的情形。
优点:实现简单,计算开销低。
缺点:无法反映数据的非线性变化规律。
2. 样条插值
用三次样条拟合缺失段前后的已知数据,填充效果更平滑。
适用场景:数据存在明显的周期性或非线性趋势。
3. 模型驱动填充
用历史数据训练一个小型预测模型(如 ARIMA 或简单 LSTM),对缺失段进行预测性填充。
优点:理论上精度最高。
缺点:引入额外复杂度,且模型本身存在误差传播风险。
4. 直接丢弃
对于缺失时长超过阈值的片段,标记并直接从训练集中移除,不做填充。
适用场景:下游模型对数据连续性要求不高,或缺失段太长无法可靠填充。
我们的初步选择
考虑到项目当前阶段以快速迭代为主,暂时采用线性插值 + 超阈值丢弃的组合策略。具体阈值(目前设为 30 分钟)还需与导师确认。
欢迎在下方批注中给出建议。
评论
使用 GitHub 账号登录后即可留言。