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