时间序列距离/核#

The sktime.dists_kernels 模块包含成对变换器,例如时间序列数据上的距离和核函数。它还包含一些用于表格数据的距离/核函数。

距离和核函数被同等对待,因为它们具有相同的正式签名——即“成对转换器”的签名。

下面,我们分别列出用于时间序列的成对变换器,以及用于表格数据的成对变换器。

sktime 中,所有的时间序列距离和核可以通过 sktime.registry.all_estimators 工具列出,使用 estimator_types="transformer-pairwise-panel",可以选择性地通过标签进行过滤。有效的标签可以通过 sktime.registry.all_tags 列出。

可以使用 estimator_types="transformer-pairwise" 列出向量值特征的距离和核函数。

独立的、高性能的 numba 距离函数可以在 sktime.distance 模块中找到。这些函数没有被 sktimeBaseObject 接口封装,因此可以在其他 numba 编译函数中使用,以实现端到端的编译。

时间序列距离/核#

时间序列之间的距离或核函数,遵循 BasePairwiseTransformerPanel 的成对面板转换器接口。

组合#

PwTrafoPanelPipeline(pw_trafo, transformers)

变压器流水线和成对面板变压器。

CombinedDistance(pw_trafos[, operation])

通过算术运算(如加法、乘法)组合的距离。

IndepDist(dist[, aggfun])

多变量核函数或距离函数的逐变量聚合。

AggrDist(transformer[, aggfunc, aggfunc_is_symm])

面板距离与表格距离聚合。

FlatDist(transformer)

面板距离或从将表格变换应用于展平时间序列的内核。

DistFromAligner([aligner])

距离变换器与对齐器。

KernelFromDist(dist[, dist_diag])

从距离函数获得的核函数。

DistFromKernel(kernel)

从核函数获得的距离函数。

简单时间序列距离#

简单的时序距离,包括平面/向量距离、值袋距离或平均成对距离,可以通过将 AggrDistFlatDist 应用于 ScipyDist 中的成对距离来获得。请参阅 AggrDistFlatDist 的文档字符串。

AggrDist(transformer[, aggfunc, aggfunc_is_symm])

面板距离与表格距离聚合。

FlatDist(transformer)

面板距离或从将表格变换应用于展平时间序列的内核。

动态时间规整距离#

DtwDist([weighted, derivative, window, ...])

sktime 原生 dtw 距离的接口,带有导数或加权。

DtwPythonDist([dist, step_pattern, ...])

dtw-python 包中动态时间规整距离的接口。

DtwDistTslearn([global_constraint, ...])

动态时间规整距离,来自 tslearn。

SoftDtwDistTslearn([normalized, gamma])

软动态时间规整距离,来自 tslearn。

DtwDtaidistUniv([use_c, window, max_dist, ...])

单变量动态时间规整距离,来自 dtaidistance。

DtwDtaidistMultiv([use_c, window, max_dist, ...])

多变量动态时间规整距离,来自 dtaidistance。

CtwDistTslearn([max_iter, n_components, ...])

规范时间扭曲距离,来自 tslearn。

LuckyDtwDist([window])

幸运的动态时间规整距离。

时间弯曲距离也可以通过将 DistFromAligner 与时间弯曲对齐器组合来获得,参见 DistFromAligner 的文档字符串:

DistFromAligner([aligner])

距离变换器与对齐器。

编辑距离#

EditDist([distance, window, ...])

sktime 原生编辑距离的接口。

LcssTslearn([eps, global_constraint, ...])

最长公共子序列相似度距离,来自 tslearn。

时间序列核#

简单的时序核函数,包括平坦/向量核函数、值袋核函数或均值成对核函数,可以通过将 AggrDistFlatDist 应用于 sklearn.gaussian_process.kernels 中的核函数来获得。请参阅 AggrDistFlatDist 的文档字符串。

AggrDist(transformer[, aggfunc, aggfunc_is_symm])

面板距离与表格距离聚合。

FlatDist(transformer)

面板距离或从将表格变换应用于展平时间序列的内核。

无法表示为聚合或平面应用的高级时间序列核:

GAKernel([sigma, n_jobs, verbose])

全局对齐核函数,来自 tslearn。

SignatureKernel([kernel, level, degree, ...])

时间序列签名核,包括高阶和低秩变体。

基类#

BasePairwiseTransformerPanel()

面板数据模板类的基本成对变换器。

表格距离/核#

表格向量或数据框行之间的距离或核函数,遵循 BasePairwiseTransformer 的成对变换器接口。

来自 scipy 的距离度量#

ScipyDist([metric, p, colalign, ...])

scipy 距离的接口。

基类#

BasePairwiseTransformer()

用于表格或序列数据的基本成对变换器模板类。

独立 numba 距离#

未封装在 sktime BaseObject 接口中的独立函数。可以在其他 numba 编译函数中使用,以实现端到端的编译。

ddtw_distance(x, y[, window, ...])

计算时间序列之间的导数动态时间规整(DDTW)距离。

dtw_distance(x, y[, window, ...])

计算两个时间序列之间的动态时间规整(DTW)距离。

edr_distance(x, y[, window, ...])

计算两个序列之间的真实序列编辑距离(EDR)。

erp_distance(x, y[, window, ...])

计算两个序列之间的真实惩罚(ERP)编辑距离。

euclidean_distance(x, y, **kwargs)

计算两个时间序列之间的欧几里得距离。

lcss_distance(x, y[, window, ...])

计算两个时间序列之间的最长公共子序列(LCSS)得分。

msm_distance(x, y[, c, window, ...])

计算移动-分割-合并距离。

pairwise_distance(x[, y, metric])

计算两个时间序列之间的成对距离矩阵。

squared_distance(x, y, **kwargs)

计算两个时间序列之间的平方距离。

twe_distance(x, y[, window, ...])

两个时间序列之间的 Time Warp Edit (TWE) 距离。

wddtw_distance(x, y[, window, ...])

计算加权导数动态时间规整(WDDTW)距离。

wdtw_distance(x, y[, window, ...])

计算时间序列之间的加权动态时间规整(WDTW)距离。