tslearn.metrics.gak¶
- tslearn.metrics.gak(s1, s2, sigma=1.0, be=None)[source]¶
计算(可能是多维的)时间序列之间的全局对齐核(GAK)并返回它。
不要求两个时间序列的大小相同,但它们必须具有相同的维度。GAK最初在[1]中提出。这是一个标准化版本,确保对于所有的\(x\),\(k(x,x)=1\),并且对于所有的\(x, y\),\(k(x,y) \in [0, 1]\)。
- Parameters:
- s1array-like, shape=(sz1, d) or (sz1,)
一个时间序列。 如果形状是(sz1,),则假定时间序列是单变量的。
- s2array-like, shape=(sz2, d) or (sz2,)
另一个时间序列。 如果形状是 (sz2,),则假定时间序列是单变量的。
- sigmafloat (default 1.)
用于GAK的内部高斯核的带宽。
- beBackend object or string or None
后端。如果 be 是类 NumPyBackend 的实例或字符串 “numpy”,则使用 NumPy 后端。 如果 be 是类 PyTorchBackend 的实例或字符串 “pytorch”,则使用 PyTorch 后端。 如果 be 是 None,则后端由输入数组决定。 更多信息请参阅我们的 专用用户指南页面。
- Returns:
- float
内核值
另请参阅
cdist_gak使用全局对齐核计算交叉相似性矩阵
参考文献
[1]Cuturi, “快速全局对齐核,” ICML 2011.
示例
>>> gak([1, 2, 3], [1., 2., 2., 3.], sigma=2.) 0.839... >>> gak([1, 2, 3], [1., 2., 2., 3., 4.]) 0.273...