time_series_featurizer#
用于时间序列问题中延迟输入特征和目标变量的转换器。
模块内容#
类摘要#
用于时间序列问题中延迟输入特征和目标变量的转换器。 |
内容#
- 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
方法
构建一个具有相同参数和随机状态的新组件。
返回此组件的默认参数。
描述组件及其参数。
拟合 DelayFeatureTransformer。
拟合组件并转换输入数据。
从文件路径加载组件。
返回用于初始化组件的参数。
将组件保存到文件路径。
计算 X 和 y 的延迟值和滚动均值。
更新组件的参数字典。
- 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。