time_series_featurizer#

用于时间序列问题中延迟输入特征和目标变量的转换器。

模块内容#

类摘要#

TimeSeriesFeaturizer

用于时间序列问题中延迟输入特征和目标变量的转换器。

内容#

class evalml.pipelines.components.transformers.preprocessing.time_series_featurizer.TimeSeriesFeaturizer(time_index=None, max_delay=2, gap=0, forecast_horizon=1, conf_level=0.05, rolling_window_size=0.25, delay_features=True, delay_target=True, random_seed=0, **kwargs)[source]#

用于时间序列问题中延迟输入特征和目标变量的转换器。

此组件使用一种基于目标变量自相关值的算法,以确定从所有可能的滞后中选择哪些滞后。

该算法基于这样一个想法:自相关函数的局部最大值表明对当前时间影响最大的滞后。

该算法计算自相关值并找到局部最大值,称为“峰值”,这些峰值在给定的 conf_level 下具有统计学意义。由于范围 [0, 10] 内的滞后通常具有预测性但不是局部最大值,因此将峰值与范围 [0, 10] 内具有统计学意义的滞后取并集。最后,仅使用范围 [0, max_delay] 内选定的滞后。

通过 conf_level 参数化算法,使 AutoMLAlgorithm 能够调整选择的滞后集合,从而提高找到良好滞后集合的可能性。

使用 conf_level 值为 1 时,将选择所有可能的滞后。

参数
  • time_index (str) – 包含用于排序数据的日期时间信息的列名。将被忽略。

  • max_delay (int) – 延迟每个特征的最大时间单位数。默认为 2。

  • forecast_horizon (int) – Pipeline 预期预测的时间周期数。

  • conf_level (float) – 范围 (0, 1] 内的浮点数,用于确定从 [1, max_delay] 集合中选择哪些滞后进行计算时使用的置信区间大小。滞后 1 总是会被计算。如果为 1,则选择 [1, max_delay] 集合中所有可能的滞后(包含边界)。

  • rolling_window_size (float) – 范围 (0, 1] 内的浮点数,用于确定滚动特征窗口的大小。大小计算为 rolling_window_size * max_delay。

  • delay_features (bool) – 是否延迟输入特征。默认为 True。

  • delay_target (bool) – 是否延迟目标。默认为 True。

  • gap (int) – 收集特征和收集目标之间的时间单位数。例如,如果您预测下一个时间步的目标,则 gap=1。这之所以需要,只是因为当 gap=0 时,我们需要确保从 1 开始对目标变量进行滞后处理。默认为 1。

  • random_seed (int) – 随机数生成器的种子。无论提供的随机种子是什么,此转换器的表现都是一样的。

属性

df_colname_prefix

{}_delay_{}

hyperparameter_ranges

Real(0.001, 1.0), “rolling_window_size”: Real(0.001, 1.0)}:type: {“conf_level”

modifies_features

True

modifies_target

False

name

时间序列特征化器

needs_fitting

True

target_colname_prefix

target_delay_{}

training_only

False

方法

clone

构建一个具有相同参数和随机状态的新组件。

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

拟合 DelayFeatureTransformer。

fit_transform

拟合组件并转换输入数据。

load

从文件路径加载组件。

parameters

返回用于初始化组件的参数。

save

将组件保存到文件路径。

transform

计算 X 和 y 的延迟值和滚动均值。

update_parameters

更新组件的参数字典。

clone(self)#

构建一个具有相同参数和随机状态的新组件。

返回值

返回此组件的一个新实例,具有相同的参数和随机状态。

default_parameters(cls)#

返回此组件的默认参数。

我们的约定是 Component.default_parameters == Component().parameters。

返回值

此组件的默认参数。

返回类型

dict

describe(self, print_name=False, return_dict=False)#

描述组件及其参数。

参数
  • print_name (bool, optional) – 是否打印组件名称

  • return_dict (bool, optional) – 是否以字典格式 {“name”: name, “parameters”: parameters} 返回描述

返回值

如果 return_dict 为 True,则返回字典,否则返回 None。

返回类型

None 或 dict

fit(self, X, y=None)[source]#

拟合 DelayFeatureTransformer。

参数
  • X (pd.DataFrame or np.ndarray) – 输入训练数据,形状为 [样本数, 特征数]

  • y (pd.Series, optional) – 目标训练数据,长度为 [样本数]

返回值

self

引发

ValueError – 如果 self.time_index 为 None

fit_transform(self, X, y=None)[source]#

拟合组件并转换输入数据。

参数
  • X (pd.DataFrame) – 要转换的数据。

  • y (pd.Series, or None) – 目标。

返回值

转换后的 X。

返回类型

pd.DataFrame

static load(file_path)#

从文件路径加载组件。

参数

file_path (str) – 要加载的文件位置。

返回值

ComponentBase 对象

property parameters(self)#

返回用于初始化组件的参数。

save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#

将组件保存到文件路径。

参数
  • file_path (str) – 要保存的文件位置。

  • pickle_protocol (int) – pickle 数据流格式。

transform(self, X, y=None)[source]#

计算 X 和 y 的延迟值和滚动均值。

选择的延迟由目标变量的自相关函数确定。关于如何选择它们,请参阅类文档字符串了解更多信息。如果 y 为 None,则选择所有可能的滞后。

如果 y 不为 None,它还会计算目标变量的延迟值。

X 中所有数值特征的滚动均值,以及 y 中(如果 y 是数值)的滚动均值也会被返回。

参数
  • X (pd.DataFrame or None) – 要转换的数据。当仅使用目标变量时,预期为 None。

  • y (pd.Series, or None) – 目标。

返回值

转换后的 X。不返回原始特征。

返回类型

pd.DataFrame

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, optional) – 如果为 True,则会将 _is_fitted 设置为 False。