gluonts.transform.feature 模块#
- class gluonts.transform.feature.AddAgeFeature(target_field: str, output_field: str, pred_length: int, log_scale: bool = True, dtype: typing.Type = <class 'numpy.float32'>)[source]#
基类:
gluonts.transform._base.MapTransformation
将“年龄”特征添加到数据项中。
年龄特征在时间序列开始时具有较小的值,并随时间增长。
如果 is_train=True,则年龄特征与 target 字段的长度相同。如果 is_train=False,则年龄特征的长度为 len(target) + pred_length
- 参数
target_field – 包含时间序列目标值(数组)的字段
output_field – 用于输出的字段名称。
pred_length – 预测长度
log_scale – 如果设置为 true,则年龄特征按对数方式随时间增长,否则按线性方式增长。
- map_transform(data: Dict[str, Any], is_train: bool) Dict[str, Any] #
- class gluonts.transform.feature.AddAggregateLags(target_field: str, output_field: str, pred_length: int, base_freq: str, agg_freq: str, agg_lags: typing.List[int], agg_fun: str = 'mean', dtype: typing.Type = <class 'numpy.float32'>)[source]#
基类:
gluonts.transform._base.MapTransformation
将聚合滞后项作为特征添加到数据项中。
将原始时间序列聚合到新的频率,并选择感兴趣的聚合滞后项。它不使用需要计算最后 prediction_length 个值的聚合滞后项。因此,此转换适用于训练和推理。
如果 is_train=True,则滞后项与 target 字段的长度相同。如果 is_train=False,则滞后项的长度为 len(target) + pred_length
- 参数
target_field – 包含时间序列目标值(数组)的字段
output_field – 用于输出的字段名称。
pred_length – 预测长度。
base_freq – 基本频率,即原始时间序列的频率。
agg_freq – 聚合频率,即聚合时间序列的频率。
agg_lags – 以聚合频率给出的聚合滞后项列表。如果其中一些无效(需要计算最后 prediction_length 个值),则忽略它们。
agg_fun – 聚合函数。默认值为“mean”。
- map_transform(data: Dict[str, Any], is_train: bool) Dict[str, Any] #
- class gluonts.transform.feature.AddConstFeature(output_field: str, target_field: str, pred_length: int, const: float = 1.0, dtype: typing.Type = <class 'numpy.float32'>)[source]#
基类:
gluonts.transform._base.MapTransformation
沿时间轴将 const 值扩展为动态特征,其中 T 维度定义为 pred_length 参数与由 target_field 指定的时间序列长度之和。
如果 is_train=True,则特征矩阵的长度与 target 字段的长度相同。如果 is_train=False,则特征矩阵的长度为 len(target) + pred_length。
- 参数
output_field – 输出字段名称。
target_field – 包含目标数组的字段。将使用此数组的长度。
pred_length – 预测长度(这很有必要,因为特征必须在未来可用)
const – 要使用的常量值。
dtype – 用于结果数组的 Numpy 数据类型。
- map_transform(data: Dict[str, Any], is_train: bool) Dict[str, Any] #
- class gluonts.transform.feature.AddObservedValuesIndicator(target_field: str, output_field: str, imputation_method: typing.Optional[gluonts.transform.feature.MissingValueImputation] = gluonts.transform.feature.DummyValueImputation(dummy_value=0.0), dtype: typing.Type = <class 'numpy.float32'>)[source]#
基类:
gluonts.transform._base.SimpleTransformation
用一个虚拟值替换 numpy 数组中的缺失值 (NaNs),并添加一个“observed”指示符,该指示符在值被观测到时为
1
,在值缺失时为0
。- 参数
target_field – 将替换缺失值的字段
output_field – 用于指示符的字段名称
imputation_method – 来自 ImputationStrategy 的方法之一。如果设置为 None,则不进行填充,仅包含指示符。
- transform(data: Dict[str, Any]) Dict[str, Any] #
- class gluonts.transform.feature.AddTimeFeatures(start_field: str, target_field: str, output_field: str, time_features: typing.List[typing.Callable[[pandas.core.indexes.period.PeriodIndex], numpy.ndarray]], pred_length: int, dtype: typing.Type = <class 'numpy.float32'>)[source]#
基类:
gluonts.transform._base.MapTransformation
添加一组时间特征。
如果 is_train=True,则特征矩阵的长度与 target 字段的长度相同。如果 is_train=False,则特征矩阵的长度为 len(target) + pred_length
- 参数
start_field – 包含时间序列起始时间戳的字段
target_field – 包含时间序列值数组的字段
output_field – 结果字段名称。
time_features – 要使用的时间特征列表。
pred_length – 预测长度
- map_transform(data: Dict[str, Any], is_train: bool) Dict[str, Any] #
- class gluonts.transform.feature.CausalMeanValueImputation[source]#
基类:
gluonts.transform.feature.MissingValueImputation
此类将每个缺失值替换为截至此点所有值的平均值。
(如果第一个值缺失,则用最近的非缺失值替换它们。)
- class gluonts.transform.feature.CountTrailingZeros(new_field: str = 'trailing_zeros', target_field: str = 'target', axis: int = - 1, as_array: bool = False)[source]#
基类:
gluonts.transform._base.SimpleTransformation
将每个单变量时间序列中“尾部”零的数量添加为特征,用于处理稀疏(间歇性)时间序列。
例如,对于一维时间序列 [0, 0, 2, 3, 0],尾部零的数量将为 1。如果提供了 n 维数组,则将检查沿 axis 维度的第一个一维数组中的尾部零。例如,如果对于三维数组 A 将 axis 设置为 1,则转换将返回 A[0, :, 0] 中的尾部零数量。
- 参数
new_field – 要创建的新字段的名称,该字段将包含尾部零的数量。
target_field – 包含时间序列目标值(数组)的字段
as_array – 如果为 True,则返回的字段将是一个形状为 (1,) 的 numpy 数组。
- transform(data: Dict[str, Any]) Dict[str, Any] #
- class gluonts.transform.feature.DummyValueImputation(dummy_value: float = 0.0)[source]#
基类:
gluonts.transform.feature.MissingValueImputation
此类将所有缺失值替换为预先给定的相同虚拟值。
- class gluonts.transform.feature.LastValueImputation[source]#
基类:
gluonts.transform.feature.MissingValueImputation
此类将每个缺失值替换为最后一个非缺失值。
(如果第一个值缺失,则用最近的非缺失值替换它们。)
- class gluonts.transform.feature.LeavesMissingValues[source]#
基类:
gluonts.transform.feature.MissingValueImputation
仅保留缺失值不做处理。
- class gluonts.transform.feature.MeanValueImputation[source]#
基类:
gluonts.transform.feature.MissingValueImputation
此类将所有缺失值替换为非缺失值的平均值。
请注意,从某种意义上说,这并非“因果”方法,它在填充中会泄露关于未来的信息。您可能更喜欢使用 CausalMeanValueImputation。
- class gluonts.transform.feature.MissingValueImputation[source]#
基类:
object
所有缺失值填充类的父类。
您可以继承此类来实现自己的填充方法。
- class gluonts.transform.feature.RollingMeanValueImputation(window_size: int = 10)[source]#
基类:
gluonts.transform.feature.MissingValueImputation
此类将每个缺失值替换为最后 window_size (默认值=10) 个值的平均值。
(如果第一个值缺失,则用最近的非缺失值替换它们。)
- gluonts.transform.feature.target_transformation_length(target: numpy.ndarray, pred_length: int, is_train: bool) int #