比较和量化一组非线性数据中的相似性

问题描述

我有 2 个数据列表,它们基本上是来自较大数据库的一批 SEQUENTIAL 数据(因此,无法对数据进行排序),如下所示

a = [0.8,0.9,0.4,-0.4,1.12,1.16,1.08,1.22]
b = [0.85,0.96,1.15,1.18,1.1,1.92]

所提供的数据本质上可能不是线性的,因此典型的相关性无法达到目的。

我希望比较 a 和 b(作为折线图)并为它们分配一个相似度分数。

我尝试从 stats 库中实现线性相关,但结果并不令人信服。

有什么方法可以使用任何其他强调非线性数据重要性的统计函数来做到这一点?

另外,scikit learn 中是否有任何支持功能

解决方法

关于如何比较时间序列没有一种明确的方法。我想说的是,您需要考虑哪些信息对您不重要,然后选择一种算法,忽略这些信息并专注于对您重要的信息。有两个主要区别:

a) 直接比较:直接比较数据,这可以例如只是条目差异的范数,所以 ||a-b||或者一些算法,比如动态时间扭曲,或者相关性分数。

b) 对时间序列建模并比较模型:例如对两者做线性回归,比较参数的不同。

这取决于什么对您来说很重要,数据代表什么等等。所以,也许可以详细说明为什么您现在的结果没有说服力,以及您所说的“作为折线图”是什么意思?另外,也许统计/数学论坛更适合这个问题?