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#