t-SNE 能否应用于可视化时间序列数据集

数据挖掘 机器学习 时间序列 可视化 降维 特纳
2022-03-07 21:34:23

我有多个包含 9 个 IMU 传感器特征的时间序列数据集。假设我使用滑动窗口方法将所有这些数据拆分为序列长度为 100 的样本,即我的数据集的维度将是(样本数,100,9)。现在我想可视化那些拆分的样本以找出其中的模式。我可以将其视为表格数据并将原始维度首先转换为(样本数,900),然后直接对其应用 t-sne 方法以找出模式吗?或者有没有其他方法可以更好地找出时间序列数据的模式

1个回答

这完全取决于数据的可变性。

如果时间序列在原始值方面彼此之间变化太大,您可能看不到任何有意义的集群。

这就是为什么您需要转换数据以使时间序列更具可比性。

如果要检测行为模式,第一步是使用相对值而不是绝对值。

然后,始终建议对数据进行规范化。如果没有归一化,t-SNE 算法背后的高斯函数将不会以相同的方式分离小值和大值,并且可能导致更多的可变性(= 没有清晰的聚类)。

除此之外,如果原始值的可变性太高,应用日志可能会很有趣,但请注意会有精度损失,这通常并不重要,因为您只想在较低的维度。

最后,如果时间序列太长(可能是 100 个),并且 T-SNE 无法检测传感器之间的可见相似性,您应该通过应用 2 个或更多连续值之间的平均值来简化数据。

请记住,t-SNE 主要在您有很多变量时有用(例如:比较 50 个引擎,有 9 个传感器,每个传感器有 100 个值,并且您希望将这 9 个传感器降低到 2 个维度)您想要可视化以检测相似性或差异。

我的最后一个建议是先从一个重要的传感器开始,然后再考虑更多的传感器。一旦您使用一个传感器获得有趣的结果,您就可以使用更多传感器来增加复杂性。或者,您可以应用 UMAP:它具有在集群之间建立相关性的好处,不需要归一化,但结果可能比较低维度中各个点之间的 t-SNE 差。传感器之间的相关性研究可能很有趣:可以丢弃一些没有相关性或相关性低或噪声太大的传感器。

总之,数据预处理至关重要,并且取决于您使用的算法,但始终从较小的数据集开始,您可以评估结果质量,然后再考虑整个数据集。