时间序列距离/核函数#

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

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

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

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

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

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

时间序列距离/核函数#

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

组合#

PwTrafoPanelPipeline(pw_trafo, transformers)

转换器和成对面板转换器的 Pipeline。

CombinedDistance(pw_trafos[, operation])

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

IndepDist(dist[, aggfun])

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

AggrDist(transformer[, aggfunc, aggfunc_is_symm])

通过表格距离聚合得到的面板距离。

FlatDist(transformer)

将表格 trafo 应用于扁平化时间序列后得到的面板距离或核函数。

DistFromAligner([aligner])

从对齐器得到的距离转换器。

KernelFromDist(dist[, dist_diag])

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

DistFromKernel(kernel)

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

简单时间序列距离#

通过将 AggrDistFlatDist 应用于 ScipyDist 中的成对距离,可以获得简单的时间序列距离,包括扁平/向量距离、值袋距离或平均成对距离。参见 AggrDistFlatDist 的 docstring。

AggrDist(transformer[, aggfunc, aggfunc_is_symm])

通过表格距离聚合得到的面板距离。

FlatDist(transformer)

将表格 trafo 应用于扁平化时间序列后得到的面板距离或核函数。

动态时间规整距离#

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])

Lucky 动态时间规整距离。

时间规整距离也可以通过将 DistFromAligner 与时间规整对齐器组合获得,参见 DistFromAligner 的 docstring。

DistFromAligner([aligner])

从对齐器得到的距离转换器。

编辑距离#

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

sktime 原生编辑距离接口。

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

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

时间序列核函数#

简单的时间序列核函数,包括扁平/向量核函数、值袋核函数或平均成对核函数,可以通过将 AggrDistFlatDist 应用于 sklearn.gaussian_process.kernels 中的核函数获得。参见 AggrDistFlatDist 的 docstring。

AggrDist(transformer[, aggfunc, aggfunc_is_symm])

通过表格距离聚合得到的面板距离。

FlatDist(transformer)

将表格 trafo 应用于扁平化时间序列后得到的面板距离或核函数。

无法表示为聚合或扁平应用的高级时间序列核函数

GAKernel([sigma, n_jobs, verbose])

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

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

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

基类#

BasePairwiseTransformerPanel()

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

表格数据距离/核函数#

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

来自 scipy 的距离度量#

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

scipy 距离接口。

基类#

BasePairwiseTransformer()

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

独立的 numba 距离#

未封装在 sktimeBaseObject 接口中的独立函数。可在其他 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, ...])

时间规整编辑距离 (TWE),计算两个时间序列之间的距离。

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

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

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

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