时间序列变换#
sktime.transformations
模块包含数据变换类。
可以使用 sktime.registry.all_estimators
工具列出 sktime
中的所有(简单)变换器,通过设置 estimator_types="transformer"`,可以选择按标签过滤。有效标签可以使用
sktime.registry.all_tags
列出。
在估计器搜索页面上也可找到包含基于标签搜索的完整表格(在“估计器类型”下拉菜单中选择“transformer”)。
对于成对变换器(时间序列距离、核函数),请参阅_transformations_pairwise_ref。
变换分类如下
类别 |
解释 |
示例 |
---|---|---|
组合 |
用于构建管道、包装器、适配器的构建块 |
变换器管道 |
序列到特征 |
将序列变换为浮点/类别向量 |
长度和均值 |
序列到序列 |
将单个序列变换为序列 |
差分,去趋势 |
序列到面板 |
将一个序列变换为一个面板 |
自举法,滑动窗口 |
面板变换 |
将面板变换为面板,而非按序列变换 |
填充至等长 |
分层 |
非平凡地使用层级信息 |
协调 |
组合#
管道构建 - 结构#
|
变换器组合器的管道。 |
|
连接多个变换器对象的结果。 |
|
对变换器进行列向应用。 |
|
在变换阶段延迟拟合的变换器包装器。 |
|
反转序列到序列的变换。 |
|
创建作为内生数据副本的外生特征。 |
|
根据时间索引或层级值创建特征。 |
管道构建 - 广播和应用-映射#
|
对多元序列按列应用变换器。 |
|
按实例或面板进行变换。 |
|
从任意可调用对象构建变换器。 |
管道构建 - AutoML、开关和多路复用#
|
促进基于 AutoML 的最佳变换器选择。 |
|
包装现有变换器,以调整是否将其包含在管道中。 |
|
根据可拟合对象的条件有条件地执行变换器。 |
|
恒等变换器,在 transform/inverse_transform 中返回未更改的数据。 |
管道构建 - 日志记录#
|
日志记录变换器,将数据写入日志,否则保持不变。 |
Sklearn 和 pandas 适配器#
将时间序列/面板数据转换为表格数据的变换器。 |
|
|
根据时间间隔将时间序列/面板数据转换为表格数据。 |
|
将 scikit-learn 变换接口适配到时间序列设置。 |
|
将 pandas 变换适配到 sktime 接口。 |
序列到特征变换器#
序列到特征变换器将单个时间序列变换为原始特征的集合。原始特征通常是浮点向量,但也可以是类别型。
当应用于面板或分层数据时,变换结果是一个表格,其行数与集合中的时间序列数量相同。
汇总#
这些变换器提取简单的汇总特征。
|
计算时间序列的汇总值。 |
|
用于提取时间序列特征的变换器。 |
|
创建时间序列分割的汇总值。 |
导数斜率变换器。 |
|
|
平台查找器变换器。 |
随机区间特征提取变换。 |
|
|
已拟合参数提取器。 |
|
根据 Syntetos/Boylan 的方法将序列分类为 ADI-CV2 类别的变换器。 |
Shapelets、小波和卷积#
|
Shapelet 变换。 |
|
随机 Shapelet 变换。 |
|
Shapelet 变换,来自 |
|
RandOm Convolutional KErnel Transform (ROCKET)。 |
|
MINImally RandOm Convolutional KErnel Transform (MiniRocket)。 |
|
MINImally RandOm Convolutional KErnel Transform (MiniRocket) 多元。 |
MINIROCKET(多元,不等长)。 |
|
离散小波变换器。 |
基于距离的特征#
|
返回数据集中每个时间序列的矩阵画像和索引画像。 |
基于字典的特征#
|
符号傅里叶近似 (SFA) 变换器。 |
基于自相关的特征#
|
用于计算时间序列赫斯特指数的变换器。 |
基于矩的特征#
|
用于多元时间序列的签名矩变换器。 |
|
签名方法中的变换类。 |
特征集合#
这些变换器提取更大的特征集合。
通过 |
|
|
通过 |
|
Canonical Time-series Characteristics (Catch22)。 |
|
使用 pycatch22 包的 Canonical Time-series Characteristics (Catch22 和 24)。 |
序列到序列变换器#
序列到序列变换器将单个时间序列变换为另一个时间序列。
当应用于面板或分层数据时,会变换单个序列。
滞后#
|
滞后变换器。 |
|
用于预测缩减的变换器。 |
逐元素变换#
这些变换逐元素应用函数。
根据变换器的不同,可以拟合变换参数。
|
Box-Cox 幂变换。 |
|
自然对数变换。 |
|
缩放逻辑变换或对数变换。 |
余弦变换。 |
|
对时间序列应用逐元素的幂变换。 |
|
对时间序列应用逐元素的平方根变换。 |
|
双曲正弦变换及其逆变换 [Rf00c2e2051c3-1]。 |
去趋势和分解#
|
从序列中移除趋势。 |
|
从时间序列中移除季节成分。 |
|
根据季节性测试,有条件地从时间序列中移除季节成分。 |
|
使用 STL 从时间序列中移除季节成分。 |
|
使用 LOESS 进行多季节性季-趋势分解。 |
|
变分模态分解变换器。 |
|
用于太阳能数据的 Clear sky 变换器。 |
滤波和去噪#
|
过滤序列数据的变换器。 |
|
使用 Baxter-King 滤波器过滤时间序列。 |
|
使用 Christiano Fitzgerald 滤波器过滤时间序列。 |
|
使用 Hodrick-Prescott 滤波器过滤时间序列。 |
|
Kalman 滤波器,来自 pykalman(sktime 原生维护分支)。 |
|
Kalman 滤波器用于给定数据的去噪或隐藏状态推断。 |
|
来自 simdkalman 的矢量化 Kalman 滤波器。 |
|
将原始数据分解为两条或多条 Theta 线。 |
|
对时间序列应用布林带。 |
差分、斜率、运动学#
|
对时间序列应用迭代差分。 |
|
按段斜率变换。 |
|
运动学特征变换器 - 速度、加速度、曲率。 |
分箱、采样和分割#
|
对时间序列进行分箱并按箱聚合。 |
|
时间序列插值器/重采样器。 |
|
区间分割变换器。 |
|
随机区间分割变换器。 |
|
膨胀映射变换器。 |
|
分段聚合近似变换器 (PAA)。 |
|
符号聚合近似变换器 (SAX)。 |
缺失值处理#
|
缺失值插补。 |
|
删除缺失值变换。 |
季节性和日期时间特征#
|
日期时间特征提取,例如用于预测中的外生数据。 |
|
假期特征提取。 |
|
国家假期变换器。 |
|
金融假期变换器。 |
|
计算时间索引与参考起始时间之间的逐元素经过时间。 |
|
时间序列季节性的傅里叶特征。 |
时间序列的简单傅里叶变换。 |
|
时间序列季节性的季节性虚拟变量特征。 |
|
一个用于对时间序列数据应用径向基函数 (RBF) 的自定义变换器。 |
|
用于例如基于树模型的 PeakTime 特征提取。 |
自相关序列#
|
自相关变换器。 |
|
偏自相关变换器。 |
基于窗口的序列变换#
这些变换器基于一系列滑动窗口创建一个序列。
|
计算时间序列的矩阵画像。 |
|
HOG1D 变换。 |
|
根据滚动聚合提取指定长度的连续子序列。 |
多元到一元#
这些变换器将多元序列转换为一元序列。
将多元序列连接成一个长的一元序列。 |
数据增强#
通过乘以 -1 来反转时间序列的数据增强器。 |
|
|
从时间序列中抽取随机样本。 |
反转时间序列的数据增强器。 |
|
|
向时间序列添加高斯(即白噪声)的数据增强器。 |
特征选择#
这些变换器根据 y 选择 X 中的特征。
|
选择外生特征。 |
|
Elbow Class Sum (ECS) 变换器,用于选择通道/变量的子集。 |
Elbow Class Pairwise (ECP) 变换器,用于选择通道的子集。 |
子集化时间点和变量#
这些变换器通过时间点(pandas 索引或索引级别)或变量(pandas 列)对 X 进行子集化。
|
列选择变换器。 |
|
索引子集化变换器。 |
对其他框架的适配器#
在 sktime
接口中暴露其他框架的通用框架适配器。
|
对输入时间序列应用 Temporian 函数。 |
面板变换器#
面板变换器将时间序列面板变换为时间序列面板。
面板变换器在整个面板上拟合,而不是按序列拟合。
等长变换#
这些变换确保面板中的所有序列长度相等
|
将不等长的时间序列面板填充到相等的固定长度。 |
|
在长度范围的下限/上限之间截断不等长面板。 |
降维#
|
应用于时间序列面板的主成分分析。 |
序列到面板变换器#
这些变换器从单个序列创建一个面板。
自举变换#
|
移动块自举法,用于合成时间序列生成。 |
|
基于分割器的自举法,用于合成时间序列生成。 |
|
创建一组相似的时间序列。 |
|
重复自举法,完全重复给定的时间序列 |
面板到序列变换器#
这些变换器从面板创建一个单个序列。
|
聚合包含一个时间序列重叠窗口的面板数据。 |
离群点检测、变点检测#
|
使用 HampelFilter 基于滑动窗口检测离群点。 |
|
ClaSP (Classification Score Profile) 变换器。 |
分层变换器#
这些变换器专门用于分层数据和面板数据。
变换以非平凡的方式依赖于指定的层级结构。
|
从底层准备分层数据,包括聚合级别。 |
|
分层协调变换器。 |