常用术语词汇表#
下面的术语表定义了贯穿 sktime 使用的常见术语和 API 元素。
- Bagging:#
一种集成学习技术,其中多个模型在训练数据的不同的子集上进行训练,并通过某种规则(例如,多数投票)对单个模型的输出进行平均,以获得共识预测。
- mtype#
sktime
支持多种内存中的时间序列数据和其他对象的规范。这种内存中的规范称为mtype``(即“机器类型”的缩写)。每个 ``mtype
由一个字符串表示,例如pd-multiindex
,它定义了数据格式和数据结构。例如,pd-multiindex
mtype 是一组时间序列的集合,表示为一个 2 级MultiIndex
的pandas.DataFrame
,列表示变量,行由(实例, 时间点)
索引,其中时间点
级别必须是类似范围或日期时间的形式。每个 mtype 实现了一种抽象数据类型,即 (数据) scitype,例如Panel
,它指的是一组时间序列的抽象类型,具有实例、时间点和变量维度。在这种术语中,pd-multiindex
mtype 实现了 (抽象)Panel
scitype。可以使用sktime.datatypes.check_is_mtype
函数检查数据容器是否符合给定的 mtype;所有 mtype 都可以在sktime.datatypes.MTYPE_REGISTER
中列出。有关更多详细信息,请参阅 数据类型和数据集用户指南 :doc:</examples/AA_datatypes_and_datasets>。- scitype#
科学类型的缩写,表示
sktime
对象、数据容器或估计器的抽象类型。估计器科学类型的一个例子是"forecaster"
,它表示具有(抽象)fit
、predict
、update
方法的预测器的抽象概念。数据科学类型的一个例子是Panel
,表示时间序列索引集合的抽象概念。科学类型由字符串表示,并由具体类型实现。对于数据容器,具体类型是 mtype`(参见那里),对于估计器,具体类型是 python 基础接口,例如由 ``BaseForecaster` 或BaseClassifier
定义的接口。有效的估计器科学类型及其对应的基础类在sktime.registry.BASE_CLASS_SCITYPE_LIST
中列出。可以使用sktime.registry.all_estimators
列出给定科学类型的所有估计器,并且可以通过sktime.registry.scitype
工具推断给定估计器的科学类型。可以使用sktime.datatypes.check_is_scitype
工具检查数据科学类型具体实现的合规性;对于估计器,合规性检查使用sktime.utils.check_estimator
。有关数据科学类型的更多详细信息,请参阅 mtype。有关估计器科学类型的更多详细信息,请参阅关于单个学习任务的用户指南。- 估计器#
特定 scitype 的算法,实现了由 scitype 定义的 python 类接口。每个估计器对应于具体的类,实现了由 scitype 基类定义的接口。例如,
ARIMA
类是 scitype"forecaster"
的估计器。用户应区分 python 类(可以看作是蓝图)和实例(从蓝图创建的具体对象,具有特定的参数设置,可以拟合或应用于数据)。在scikit-learn
的术语中,类(蓝图)和实例(具体对象)通常都被称为 “估计器”,这可能会有些混淆。用户还应注意软件工程术语中 “具体类” 和 “具体对象” 的区别,前者是实现BaseForecaster``("抽象类")的 ``ARIMA``(python 类),后者是 python 类的实例。估计器是具有 ``fit
方法的对象——并非所有sktime
中的 scitype 都是估计器,例如,性能指标。- 内生的#
在学习任务中,内生变量由外生变量或变量本身的过去时间点决定。也称为因变量或目标。
- 单变量时间序列#
单一时间序列。虽然单变量分析通常只使用序列本身包含的信息,但单变量时间序列回归和预测也可以包括 外生 数据。
- 变量#
指的是一些感兴趣的测量。变量可以是横截面的(例如,时间不变的测量,如患者的出生地)或 时间序列。
- 复合估计器#
一个由多个其他组件估计器组成的 估计器 ,这些组件估计器可以变化。例如,一个由转换器和预测器组成的管道。该术语既可以指类,也可以指其实例。对于复合估计器,一个 标签 可以依赖于组件,例如
capability:missing_data
,以及一个依赖于组件科学类型的 科学类型 ,例如,管道的科学类型是预测器还是分类器,取决于其最后一个元素是预测器还是分类器。熟悉软件工程模式的用户应注意,该术语可能与“复合模式”有不同的含义:在scikit-learn
的上下文中,“复合估计器”结合了复合模式和策略模式。- 外源性#
在学习任务中,外生变量是影响任务内生变量的外部因素,其影响模式必须被学习。也被称为自变量或特征。
- 多元时间序列#
多个时间序列。通常针对同一观测单位进行观察。多变量时间序列通常用于指代那些随着时间共同演变的序列。这与 单变量时间序列 依赖于 外生 数据的情况相关,但有所不同。
- 季节性#
当一个 时间序列 受到季节性特征(如一年中的时间或一周中的某一天)的影响时,它被称为季节性模式。一个季节的持续时间是固定且已知的。
- 实例#
被研究实体集合中的一个成员,ML实践者希望对其进行泛化。例如,患者、化学过程运行、机器、国家等。根据学科和上下文,也可称为样本、示例、观察或记录。
- 工具箱#
- 应用程序#
- 扩展模板#
sktime
设计为易于扩展,第三方和第一方可以通过符合API的对象进行添加。为了促进这一点,sktime
提供了一套扩展模板,供高级用户实现他们自己的对象,如预测器、转换器、分类器。扩展模板位于extension_templates
文件夹中,这些是填空模板,可用于创建符合sktime
API 的新对象。每个模板都特定于要实现的 scitype 对象,并且对于给定的 scitype,根据简单性与功能丰富性有不同的模板。模板指导高级用户设置 tags,并实现 scitype 特定的方法。这些方法通常是私有的,例如_fit
、_predict
,而样板代码由基类处理。有关第一方和第三方扩展的进一步详情和逐步教程,请参阅 实现估计器 指南。对于熟悉软件工程模式的高级用户:扩展模板利用模板模式进行扩展契约,确保符合策略模式的用户契约,由 scitype 特定接口定义。- 时间序列#
数据中,变量 的测量值按时间顺序排列,或有一个索引指示观测值在数值序列中的位置。
- 时间序列分类#
一个专注于利用时间序列与分类目标变量之间跨实例模式的学习任务。
- 时间序列分解:#
一种将时间序列分解为其基本组成部分(如趋势、季节性和噪声)的技术。这对于理解数据中的模式以及分别对每个组成部分进行建模非常有用。
- 时间序列回归#
一个专注于利用时间序列与连续目标变量之间跨实例模式的学习任务。
- 时间序列注释#
一个专注于标记时间序列时间点的学习任务。这包括相关的任务,如异常值检测、异常检测、变化点检测和分割。
- 时间序列聚类#
一个专注于发现由具有相似时间序列的实例组成的群体的学习任务。
- 时间点#
进行观察的时间点。时间点可能代表一个精确的时间点(时间戳)、一个时间段(例如分钟、小时或天),或者仅仅是一个索引,表示观察值在序列中的位置。
- 标签#
标签是字符串键值字段,用于标识对象的属性,或为内部样板设置标志。一个标签的例子是
capability:multivariate
,这是一个布尔标志,表示对象是否真正支持多变量时间序列。具有特定能力的对象(即通过某些标签值过滤的对象)可以使用sktime.registry.all_estimators
列出或过滤。在sktime
中,大多数对象是scikit-base
对象,并通过get_tag
或get_tags
实现标签接口。一些标签仅供内部或扩展者使用,例如X_inner_mtype
,它允许扩展者指定他们希望使用的内部数据容器的 mtype。所有标签及其含义的列表,可以选择性地按它们适用的对象的 scitype 过滤,可以从sktime.registry.all_tags
获取。关于标签的更多细节,开发者可以在 extension templates 的规范表中找到。- 框架#
一组相关且可重用的软件设计模板,从业者可以复制并填写。框架强调设计重用。它们在一个给定的应用领域内捕捉常见的软件设计决策,并将它们提炼成可重用的设计模板。这减少了他们必须做出的设计决策,使他们能够专注于应用的具体细节。这不仅可以让从业者更快地编写软件,而且应用程序将具有相似的结构。框架通常提供额外的功能,如 工具箱。与 工具箱 和 应用程序 进行比较。
- 模型选择:#
为给定任务选择最佳机器学习模型的过程。这可能涉及在验证集上比较不同模型的性能,或使用网格搜索等技术为给定模型找到最佳超参数。
- 泛化:#
预测模型在未见数据上表现良好的能力。一个过度拟合训练数据的模型可能泛化能力不佳,而一个欠拟合的模型可能无法捕捉数据中的潜在模式。
- 特征提取:#
一种从原始数据中提取有用信息的技术。在时间序列分析中,这可能涉及将数据转换到频域,将信号分解为多个分量,或提取统计特征。
- 科学类型#
参见 科学类型。
- 简化#
归约指的是将一个给定的学习任务分解为更简单的任务,这些任务可以组合起来创建原始任务的解决方案。在 sktime 中,归约用于允许一个学习任务被改编为另一个任务的解决方案。
- 表格#
是一个设置,其中每个 时间点 的 单变量时间序列 被测量的每个实例都被视为特征,并作为原始数据类型存储在 DataFrame 的单元格中。例如,有 N 个 实例 的时间序列,每个实例有 T 个 时间点,这将产生一个形状为 (N, T) 的 pandas DataFrame:N 行,T 列。
- 超参数:#
机器学习模型在构建时设置的参数。通常,这会影响模型的性能。例如,神经网络中的学习率、随机森林中的树的数量或线性模型中的正则化参数。
- 趋势#
当数据显示长期增加或减少时,这被称为趋势。趋势也可以是非线性的。
- 集成学习:#
一种技术,其中多个模型被组合以提高预测模型的整体性能。
- 面板时间序列#
一种时间序列数据形式,其中多个观测单位观察到相同的时间序列。观测到的序列可能由 单变量时间序列 或 多变量时间序列 组成。因此,数据随时间、观测单位和序列(即变量)而变化。
- 预测#
一个专注于预测时间序列未来值的学习任务。更多详情,请参阅 用户指南介绍。