从时间序列数据中提取相关特征

数据挖掘 机器学习 Python scikit-学习 时间序列 回归
2022-02-21 01:20:25

我有一个来自传感器的时间序列数据集,任务是预测发生故障事件之前的时间。该数据集有一个特征,有近 2000 万行。这是一个回归问题。

我尝试了多项式特征、自动相关、滚动统计和扩展统计。唯一似乎改进了我的模型的是扩大总和。要从这些数据中提取哪些相关特征?

我的模型是线性回归模型,数据集被缩放,目前只有两个特征改进了我的模型。传感器数据和扩展总和。除了使用深度学习之外,还有其他解决这个问题的建议吗?

更新:为澄清起见,我添加了输入和输出的图。

传感器读数图 - 输入 传感器读数图

故障时间图 - 输出 故障时间图

2个回答

我认为在开始使用深度学习模型之前,您应该问的第一个问题是,您能否仅通过查看数据图来判断故障何时发生?如果你不能,那么没有模型可以帮助你推断何时会发生故障。

您不应忽略一些基本模型,例如指数或泊松分布模型,它们应该很好地模拟您当前的问题。

最后,由于它是罕见事件的时间序列,因此获得更多洞察力的一些方法可能包括故障之间的时间、识别触发故障的数据值的阈值、将所有数据拼接成间隔和故障次数等。你应该还要检查故障是否遵循某种模式。

首先,你如何对你的失败进行分类?他们是这些巨大的山峰吗?如果是这样,您可能应该首先使用对数刻度。

其次,您的数据看起来非常周期性,我会说您有系统故障。

您不认为使用不涉及复杂 ML 的更简单的方法会更好吗?尝试先计算事件的频率,看看它是否恒定。另一件事是添加一些基于平均值的特征,例如,特定时间间隔内的平均值(10 次读取、100 次读取等)。

此外,关于一些评论,由于数据来自传感器,它:

  1. 是一个时间序列,意味着您可以引入人工时间特征。
  2. 不能洗牌。

UPD。这看起来像是一个罕见的事件预测问题,请查看以下链接:

https://arxiv.org/pdf/1809.10717.pdf

预测罕见事件概率的回归模型

https://machinelearningmastery.com/lstm-model-architecture-for-rare-event-time-series-forecasting/

https://www.kaggle.com/general/28441