数据格式规范#

本节提供有关以下方面的规范:

  • sktime 中使用的 Python 内存数据容器(例如,时间序列、面板数据等)

  • sktime 使用的序列化文件格式(例如,ts)

有关检查和转换数据格式的实用工具,请参阅 实用函数 的 API 参考。

内存数据规范#

sktime 使用各种内存数据容器来表示时间序列数据。

内存规范按抽象数据类型列出,在整个文档中也称为数据 科学类型 (scitype)

sktime 中的核心科学类型 (scitype) 包括

  • Series: 单个时间序列

  • Panel: 时间序列的扁平集合,也称为时间序列面板或面板数据

  • Hierarchical: 时间序列的分层集合

  • Table: 数据框表,例如由 pandas.DataFrame 实现

每种科学类型 (scitype) 都通过属性字段进行子类型化,例如 is_univariate(时间序列是否为单变量)、n_instances(面板或分层集合中的实例数量)等。

sktime 中的具体数据类型是这些抽象数据类型的实现,在整个文档中也称为数据 机器类型 (mtype)

下面可以查看抽象数据类型及其子类型的完整规范

ScitypeSeries([is_univariate, ...])

Series 数据类型。

ScitypePanel([is_univariate, ...])

Panel 数据类型。

ScitypeHierarchical([is_univariate, ...])

Hierarchical 数据类型。

ScitypeTable([is_univariate, is_empty, ...])

数据框或表数据类型。

Series 机器类型 (mtype) 规范#

Series 机器类型 (mtype) 表示单个时间序列。

SeriesPdDataFrame([is_univariate, ...])

数据类型:基于 pandas.DataFrame 的单个时间序列规范。

SeriesPdSeries([is_univariate, ...])

数据类型:基于 pandas.Series 的单个时间序列规范。

SeriesNp2D([is_univariate, ...])

数据类型:基于 2D np.ndarray 的单个时间序列规范。

SeriesDask([is_univariate, ...])

数据类型:基于 dask.DataFrame 的单个时间序列规范。

SeriesPolarsEager([is_univariate, ...])

数据类型:基于 polars.DataFrame 的单个时间序列规范。

SeriesGluontsList([is_univariate, ...])

数据类型:基于 gluonts ListDataset 的单个时间序列规范。

SeriesGluontsPandas([is_univariate, ...])

数据类型:基于 gluonts PandasDataset 的单个时间序列规范。

Panel 机器类型 (mtype) 规范#

Panel 机器类型 (mtype) 表示时间序列的扁平集合。

PanelPdMultiIndex([is_univariate, ...])

数据类型:基于 MultiIndex 的 pd.DataFrame 时间序列面板规范。

PanelNp3D([is_univariate, ...])

数据类型:基于 3D np.ndarray 的时间序列面板规范。

PanelDfList([is_univariate, ...])

数据类型:基于 pandas.DataFrame 列表的时间序列面板规范。

PanelDask([is_univariate, ...])

数据类型:基于 dask 数据框的时间序列面板规范。

PanelPolarsEager([is_univariate, ...])

数据类型:基于 polars.DataFrame 的时间序列面板规范。

PanelGluontsList([is_univariate, ...])

数据类型:gluonTS 对单变量和多变量时间序列的表示。

PanelGluontsPandas([is_univariate, ...])

数据类型:基于 polars.DataFrame 的时间序列面板规范。

Hierarchical 机器类型 (mtype) 规范#

Hierarchical 机器类型 (mtype) 表示时间序列的分层集合。

HierarchicalPdMultiIndex([is_univariate, ...])

数据类型:基于 pandas.DataFrame 的分层时间序列规范。

HierarchicalDask([is_univariate, ...])

数据类型:基于 dask 数据框的分层时间序列规范。

HierarchicalPolarsEager([is_univariate, ...])

数据类型:基于 polars DataFrame 的分层时间序列规范。

Table 机器类型 (mtype) 规范#

Table 机器类型 (mtype) 表示(非时间序列)数据框表。

TablePdDataFrame([is_univariate, is_empty, ...])

数据类型:基于 pandas.DataFrame 的表格数据规范。

TablePdSeries([is_univariate, is_empty, ...])

数据类型:基于 pandas.Series 的表格数据规范。

TableNp1D([is_univariate, is_empty, ...])

数据类型:基于 1D np.ndarray 的数据框表规范。

TableNp2D([is_univariate, is_empty, ...])

数据类型:基于 2D np.ndarray 的数据框表规范。

TableListOfDict([is_univariate, is_empty, ...])

数据类型:基于字典列表的数据框表规范。

TablePolarsEager([is_univariate, is_empty, ...])

数据类型:基于 eager polars DataFrame 的数据框表规范。

序列化文件格式规范#

sktime 支持多种用于序列化数据的文件格式,这些格式专门用于存储时间序列数据。

下面提供了 sktime 特定文件格式的规范