时间轴编码器

编码器可以通过编码 TimeSeries series 的索引来生成过去和/或未来协变量序列。每个编码器类都有 encode_train()encode_inference()encode_train_inference() 方法来生成用于训练和推理的编码。

编码器从目标序列或可选的附加过去/未来协变量中提取索引。如果附加协变量提供给 encode_train()encode_inference()encode_train_inference(),则使用这些协变量的时间索引进行编码。这意味着输入协变量必须满足与不使用编码器时相同的模型特定要求。

编码器类主要有两种类型:SingleEncoderSequentialEncoder

  • SingleEncoder

    SingleEncoder 类包含过去和未来协变量以及训练和推理数据集的编码逻辑。它们可以作为独立编码器使用。

    每个 SingleEncoder 都有一个专用的子类,用于生成过去或未来协变量。命名约定是 {X}{SingleEncoder},其中 {X} 是 (Past, Future) 之一,{SingleEncoder} 是下一节中描述的 SingleEncoder 类之一。一个示例

    encoder = PastDatetimeAttributeEncoder(
        input_chunk_length=24,
        output_chunk_length=12,
        attribute='month'
        tz='CET'
    )
    
    past_covariates_train = encoder.encode_train(
        target=target,
        covariates=optional_past_covariates
    )
    past_covariates_inf = encoder.encode_inference(
        n=12,
        target=target,
        covariates=optional_past_covariates
    )
    # or generate encodings for train and inference together
    past_covariates_train_inf = encoder.encode_train_inference(
        n=12,
        target=target,
        covariates=optional_past_covariates
    )
    
  • SequentialEncoder

    存储和控制多个用于过去和/或未来协变量的 SingleEncoder,全部集成管理。它提供与 SingleEncoder 相同的功能(encode_train()encode_inference()encode_train_inference())。它既可以作为独立使用,也可以作为带有支持协变量的 Darts 预测模型(通过可选参数 add_encoders)的一体化解决方案使用。

    model = SomeForecastingModel(..., add_encoders={...})
    

    如果在模型创建时使用,SequentialEncoder 将自动处理所有过去和未来编码器。有关模型参数 add_encoders 的要求,请参阅下一节或 SequentialEncoder

SingleEncoder

来自 {X}{SingleEncoder} 的 SingleEncoders 是

  • DatetimeAttributeEncoder

    添加从 series.time_index 派生的标量 pd.DatatimeIndex 属性信息。需要 series 具有 pd.DatetimeIndex。

    attribute

    pd.DatetimeIndex 的一个属性:参见 https://pandas.ac.cn/pandas-docs/stable/reference/api/pandas.DatetimeIndex.html#pandas.DatetimeIndex 中的所有可用属性。

    tz

    可选地,在应用编码器之前,将时区朴素索引转换为时区 tz

  • CyclicTemporalEncoder

    添加从 series.time_index 派生的循环 pd.DatetimeIndex 属性信息。添加 2 列,分别对应 sin 和 cos 编码,以唯一描述底层属性。需要 series 具有 pd.DatetimeIndex。

    attribute

    pd.DatetimeIndex 的一个遵循循环模式的属性。是 ('month', 'day', 'weekday', 'dayofweek', 'day_of_week', 'hour', 'minute', 'second', 'microsecond', 'nanosecond', 'quarter', 'dayofyear', 'day_of_year', 'week', 'weekofyear', 'week_of_year') 之一。

    tz

    可选地,在应用编码器之前,将时区朴素索引转换为时区 tz

  • IntegerIndexEncoder

    添加从 series 时间索引派生的相对索引位置作为整数值(位置)。series 可以具有 pd.DatetimeIndex 或整数索引。

    attribute

    当前仅支持 'relative'。'relative' 将生成相对于预测点的位置值。值范围从 -inf 到 inf,其中 0 设置在预测点。

  • CallableIndexEncoder

    应用用户自定义的可调用对象对 series 的索引进行编码。series 可以具有 pd.DatetimeIndex 或整数索引。

    attribute

    用于编码索引的可调用对象/函数。对于具有 pd.DatetimeIndex 的 serieslambda index: (index.year - 1950) / 50。对于具有整数索引的 serieslambda index: index / 50

SequentialEncoder

SequentialEncoder 结合了上面所有 SingleEncoder 的逻辑,并具有附加的好处

  • 一次使用多个编码器

  • 一次生成多个属性编码

  • 同时生成过去和未来

  • 支持转换器 (Scaler)

  • 易于与任何支持协变量的预测模型一起使用。

模型参数 add_encoders 必须是遵循此约定的 Dict

  • 外层键:SingleEncoder 和 Transformer 标签

    • DatetimeAttributeEncoder 的 'datetime_attribute'

    • CyclicEncoder 的 'cyclic'

    • IntegerIndexEncoder 的 'position'

    • CallableIndexEncoder 的 'custom'

    • 转换器的 'transformer'

    • 用于应用时区转换的 'tz'

  • 内层键:协变量类型

    • 过去协变量的 'past'

    • 未来协变量的 'future'

    • (对于 'transformer' 不需要指定)

  • 内层键值

    • SingleEncoder 的属性列表

    • 'transformer' 的转换器对象

下面是一个示例,说明了用于小时数据的有效 add_encoders 字典,以及如何与 TorchForecastingModel 一起使用(这仅是为了说明许多功能)。

add_encoders = {
    'cyclic': {'future': ['month']},
    'datetime_attribute': {'future': ['hour', 'dayofweek']},
    'position': {'past': ['relative'], 'future': ['relative']},
    'custom': {'past': [lambda idx: (idx.year - 1950) / 50]},
    'transformer': Scaler(),
    'tz': 'CET',
}

model = SomeTorchForecastingModel(..., add_encoders=add_encoders)
class darts.dataprocessing.encoders.encoders.CallableIndexEncoder(index_generator, attribute)[源代码]

基类:SingleEncoder

CallableIndexEncoder:应用用户自定义的可调用对象对底层索引进行编码,用于过去和未来协变量。

属性

accept_transformer

CallableIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • index_generator (CovariatesIndexGenerator) – CovariatesIndexGenerator 的一个实例,包含 generate_train_idx()generate_inference_idx() 方法。用于为编码器生成索引。

  • attribute (Callable) – 一个可调用对象,它接受类型为 (pd.DatetimeIndex, pd.RangeIndex) 的索引 index 作为输入,并返回形状为 (len(index),) 的 np.ndarray。一个正确的 attribute 示例:对于类型为 pd.DatetimeIndex 的 indexattribute = lambda index: (index.year - 1950) / 50。对于 pd.RangeIndex:attribute = lambda index: (index - 1950) / 50

属性

accept_transformer

CallableIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

CallableIndexEncoder 接受转换。

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.CyclicTemporalEncoder(index_generator, attribute, tz=None)[源代码]

基类:SingleEncoder

CyclicTemporalEncoder:时间序列日期时间属性的循环编码。

属性

accept_transformer

CyclicTemporalEncoder 不应被转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

对于时间索引类型为 pd.DatetimeIndexTimeSeries 进行循环索引编码。

参数

属性

accept_transformer

CyclicTemporalEncoder 不应被转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

CyclicTemporalEncoder 不应被转换。返回正弦波和余弦波的两个元素。

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.DatetimeAttributeEncoder(index_generator, attribute, tz=None)[源代码]

基类:SingleEncoder

DatetimeAttributeEncoder:将从索引派生的 pd.DatatimeIndex 属性信息作为标量添加。需要底层 TimeSeries 具有 pd.DatetimeIndex

属性

accept_transformer

DatetimeAttributeEncoder 接受转换

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数

属性

accept_transformer

DatetimeAttributeEncoder 接受转换

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

DatetimeAttributeEncoder 接受转换

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.FutureCallableIndexEncoder(attribute, input_chunk_length=None, output_chunk_length=None, lags_covariates=None, **kwargs)[源代码]

基类:CallableIndexEncoder

IntegerIndexEncoder:为未来协变量添加从底层 TimeSeries 时间索引派生的整数索引值(位置)。

属性

accept_transformer

CallableIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • attribute (Callable) – 一个可调用对象,它接受类型为 (pd.DatetimeIndex, pd.RangeIndex) 的索引 index 作为输入,并返回形状为 (len(index),) 的 np.ndarray。一个正确的 attribute 示例:对于类型为 pd.DatetimeIndex 的 indexattribute = lambda index: (index.year - 1950) / 50。对于 pd.RangeIndex:attribute = lambda index: (index - 1950) / 50

  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModel 中的参数 input_chunk_length,或对应于 RegressionModel 的绝对最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModelRegressionModel 中的参数 output_chunk_length

  • lags_covariates (Optional[list[int], None]) – 可选地,一个表示未来协变量滞后值的整数列表。接受所有整数值。仅适用于 RegressionModel。对应于 RegressionModel 中参数 lags_future_covariates 的滞后值。

属性

accept_transformer

CallableIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

CallableIndexEncoder 接受转换。

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.FutureCyclicEncoder(attribute, input_chunk_length=None, output_chunk_length=None, lags_covariates=None, tz=None)[源代码]

基类:CyclicTemporalEncoder

CyclicEncoder:未来协变量日期时间属性的循环编码。

属性

accept_transformer

CyclicTemporalEncoder 不应被转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • attribute (str) – 底层 pd.DatetimeIndex 的属性,用于应用循环编码。必须是 pd.DatetimeIndex 的属性,或 week / weekofyear / week_of_year - 例如:“month”、“weekday”、“day”、“hour”、“minute”、“second”。参见 https://pandas.ac.cn/pandas-docs/stable/reference/api/pandas.DatetimeIndex.html#pandas.DatetimeIndex 中的所有可用属性。更多信息,请查看 datetime_attribute_timeseries()

  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModel 中的参数 input_chunk_length,或对应于 RegressionModel 的绝对最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModelRegressionModel 中的参数 output_chunk_length

  • lags_covariates (Optional[list[int], None]) – 可选地,一个表示未来协变量滞后值的整数列表。接受所有整数值。仅适用于 RegressionModel。对应于 RegressionModel 中参数 lags_future_covariates 的滞后值。

  • tz (Optional[str, None]) – 可选地,用于在计算属性之前将时间索引转换为的时间区。

属性

accept_transformer

CyclicTemporalEncoder 不应被转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

CyclicTemporalEncoder 不应被转换。返回正弦波和余弦波的两个元素。

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.FutureDatetimeAttributeEncoder(attribute, input_chunk_length=None, output_chunk_length=None, lags_covariates=None, tz=None)[源代码]

基类:DatetimeAttributeEncoder

未来协变量的日期时间属性编码器。

属性

accept_transformer

DatetimeAttributeEncoder 接受转换

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • attribute (str) – 底层 pd.DatetimeIndex 的属性,用于添加标量信息。必须是 pd.DatetimeIndex 的属性,或 week / weekofyear / week_of_year - 例如:“month”、“weekday”、“day”、“hour”、“minute”、“second”。参见 https://pandas.ac.cn/pandas-docs/stable/reference/api/pandas.DatetimeIndex.html#pandas.DatetimeIndex 中的所有可用属性。更多信息,请查看 datetime_attribute_timeseries()

  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModel 中的参数 input_chunk_length,或对应于 RegressionModel 的绝对最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModelRegressionModel 中的参数 output_chunk_length

  • lags_covariates (Optional[list[int], None]) – 可选地,一个表示未来协变量滞后值的整数列表。接受所有整数值。仅适用于 RegressionModel。对应于 RegressionModel 中参数 lags_future_covariates 的滞后值。

  • tz (Optional[str, None]) – 可选地,用于在计算属性之前将时间索引转换为的时间区。

属性

accept_transformer

DatetimeAttributeEncoder 接受转换

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

DatetimeAttributeEncoder 接受转换

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.FutureIntegerIndexEncoder(attribute, input_chunk_length=None, output_chunk_length=None, lags_covariates=None, **kwargs)[源代码]

基类:IntegerIndexEncoder

IntegerIndexEncoder:为未来协变量添加从底层 TimeSeries 时间索引派生的整数索引值(位置)。

属性

accept_transformer

IntegerIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • attribute (str) – 当前仅支持 'relative'。生成的编码值范围将从 (-inf, inf),并且目标序列的结束时间将用作评估相对索引位置的参考。

  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModel 中的参数 input_chunk_length,或对应于 RegressionModel 的绝对最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModelRegressionModel 中的参数 output_chunk_length

  • lags_covariates (Optional[list[int], None]) – 可选地,一个表示未来协变量滞后值的整数列表。接受所有整数值。仅适用于 RegressionModel。对应于 RegressionModel 中参数 lags_future_covariates 的滞后值。

属性

accept_transformer

IntegerIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

IntegerIndexEncoder 接受转换。注意,转换 'relative' IntegerIndexEncoder 将返回绝对位置(在转换后的空间中)。

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.IntegerIndexEncoder(index_generator, attribute)[source]

基类:SingleEncoder

IntegerIndexEncoder:添加从基础 TimeSeries 的时间索引派生的整数索引值(位置),用于过去和未来协变量。

属性

accept_transformer

IntegerIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • index_generator (CovariatesIndexGenerator) – CovariatesIndexGenerator 的一个实例,包含 generate_train_idx()generate_inference_idx() 方法。用于为编码器生成索引。

  • attribute (str) – 当前仅支持 'relative'。生成的编码值范围将从 (-inf, inf),并且目标序列的结束时间将用作评估相对索引位置的参考。

属性

accept_transformer

IntegerIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

IntegerIndexEncoder 接受转换。注意,转换 'relative' IntegerIndexEncoder 将返回绝对位置(在转换后的空间中)。

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.PastCallableIndexEncoder(attribute, input_chunk_length=None, output_chunk_length=None, lags_covariates=None, tz=None)[source]

基类:CallableIndexEncoder

IntegerIndexEncoder:添加从基础 TimeSeries 的时间索引派生的整数索引值(位置),用于过去协变量。

属性

accept_transformer

CallableIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • attribute (Callable) – 一个可调用对象,它接受类型为 (pd.DatetimeIndex, pd.RangeIndex) 的索引 index 作为输入,并返回形状为 (len(index),) 的 np.ndarray。一个正确的 attribute 示例:对于类型为 pd.DatetimeIndex 的 indexattribute = lambda index: (index.year - 1950) / 50。对于 pd.RangeIndex:attribute = lambda index: (index - 1950) / 50

  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModel 中的参数 input_chunk_length,或对应于 RegressionModel 的绝对最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModelRegressionModel 中的参数 output_chunk_length

  • lags_covariates (Optional[list[int], None]) – (可选)表示过去协变量滞后值的整数列表。接受小于等于 -1 的整数滞后值。仅在 RegressionModel 中需要。对应于 RegressionModel 的参数 lags_past_covariates 中的滞后值。

属性

accept_transformer

CallableIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

CallableIndexEncoder 接受转换。

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.PastCyclicEncoder(attribute, input_chunk_length=None, output_chunk_length=None, lags_covariates=None, tz=None)[source]

基类:CyclicTemporalEncoder

CyclicEncoder:对过去协变量的 datetime 属性进行循环编码。

属性

accept_transformer

CyclicTemporalEncoder 不应被转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • attribute (str) – 底层 pd.DatetimeIndex 的属性,用于应用循环编码。必须是 pd.DatetimeIndex 的属性,或 week / weekofyear / week_of_year - 例如:“month”、“weekday”、“day”、“hour”、“minute”、“second”。参见 https://pandas.ac.cn/pandas-docs/stable/reference/api/pandas.DatetimeIndex.html#pandas.DatetimeIndex 中的所有可用属性。更多信息,请查看 datetime_attribute_timeseries()

  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModel 中的参数 input_chunk_length,或对应于 RegressionModel 的绝对最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModelRegressionModel 中的参数 output_chunk_length

  • lags_covariates (Optional[list[int], None]) – (可选)表示过去协变量滞后值的整数列表。接受小于等于 -1 的整数滞后值。仅在 RegressionModel 中需要。对应于 RegressionModel 的参数 lags_past_covariates 中的滞后值。

  • tz (Optional[str, None]) – 可选地,用于在计算属性之前将时间索引转换为的时间区。

属性

accept_transformer

CyclicTemporalEncoder 不应被转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

CyclicTemporalEncoder 不应被转换。返回正弦波和余弦波的两个元素。

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.PastDatetimeAttributeEncoder(attribute, input_chunk_length=None, output_chunk_length=None, lags_covariates=None, tz=None)[source]

基类:DatetimeAttributeEncoder

用于过去协变量的 Datetime 属性编码器。

属性

accept_transformer

DatetimeAttributeEncoder 接受转换

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • attribute (str) – 底层 pd.DatetimeIndex 的属性,用于添加标量信息。必须是 pd.DatetimeIndex 的属性,或 week / weekofyear / week_of_year - 例如:“month”、“weekday”、“day”、“hour”、“minute”、“second”。参见 https://pandas.ac.cn/pandas-docs/stable/reference/api/pandas.DatetimeIndex.html#pandas.DatetimeIndex 中的所有可用属性。更多信息,请查看 datetime_attribute_timeseries()

  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModel 中的参数 input_chunk_length,或对应于 RegressionModel 的绝对最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModelRegressionModel 中的参数 output_chunk_length

  • lags_covariates (Optional[list[int], None]) – (可选)表示过去协变量滞后值的整数列表。接受小于等于 -1 的整数滞后值。仅在 RegressionModel 中需要。对应于 RegressionModel 的参数 lags_past_covariates 中的滞后值。

  • tz (Optional[str, None]) – 可选地,用于在计算属性之前将时间索引转换为的时间区。

属性

accept_transformer

DatetimeAttributeEncoder 接受转换

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

DatetimeAttributeEncoder 接受转换

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.PastIntegerIndexEncoder(attribute, input_chunk_length=None, output_chunk_length=None, lags_covariates=None, **kwargs)[source]

基类:IntegerIndexEncoder

IntegerIndexEncoder:添加从基础 TimeSeries 的时间索引派生的整数索引值(位置),用于过去协变量。

属性

accept_transformer

IntegerIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

参数
  • attribute (str) – 当前仅支持 'relative'。生成的编码值范围将从 (-inf, inf),并且目标序列的结束时间将用作评估相对索引位置的参考。

  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModel 中的参数 input_chunk_length,或对应于 RegressionModel 的绝对最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModelRegressionModel 中的参数 output_chunk_length

  • lags_covariates (Optional[list[int], None]) – (可选)表示过去协变量滞后值的整数列表。接受小于等于 -1 的整数滞后值。仅在 RegressionModel 中需要。对应于 RegressionModel 的参数 lags_past_covariates 中的滞后值。

属性

accept_transformer

IntegerIndexEncoder 接受转换。

base_component_name

返回基础编码器的基础组件名称。

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, covariates, ...])

返回用于推理/预测的编码索引。

encode_train(target[, covariates, ...])

返回用于训练的编码索引。

encode_train_inference(n, target[, ...])

返回用于推理/预测的编码索引。

property accept_transformer: list[bool]

IntegerIndexEncoder 接受转换。注意,转换 'relative' IntegerIndexEncoder 将返回绝对位置(在转换后的空间中)。

返回类型

list[bool]

property base_component_name: str

返回基础编码器的基础组件名称。字符串遵循给定格式:“darts_enc_{covariates_temp}_{encoder}_{attribute}”,其中元素为

  • covariates_temp:“pc” 或 “fc” 分别代表过去协变量或未来协变量。

  • encoder:使用的 SingleEncoder 类型
    • “cyc” (循环时序编码器),

    • “dta” (日期时间属性编码器),

    • “pos” (位置整数索引编码器),

    • “cus” (自定义可调用索引编码器)

  • attribute:用于底层编码器的属性。一些示例
    • “month_sin”, “month_cos” (对于 “cyc”)

    • “month” (对于 “dta”)

    • “relative” (对于 “pos”)

    • “custom” (对于 “cus”)

返回类型

str

property components: Index

返回编码后的组件名称。仅在调用 Encoder.encode_train()Encoder.encode_inference() 后可用。

返回类型

Index

encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)

返回用于训练的编码索引。

参数
  • target (TimeSeries) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)

返回用于推理/预测的编码索引。

参数
  • n (int) – 预测范围

  • target (TimeSeries) – 训练和预测期间使用的目标 TimeSeries。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的协变量:如果 self.index_generatorPastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generatorFutureCovariatesIndexGenerator,则为未来协变量

  • merge_covariates (bool) – 是否将编码后的 TimeSeries 与 covariates 合并。

返回类型

TimeSeries

property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

class darts.dataprocessing.encoders.encoders.SequentialEncoder(add_encoders, input_chunk_length=None, output_chunk_length=None, lags_past_covariates=None, lags_future_covariates=None, takes_past_covariates=False, takes_future_covariates=False)[source]

继承自: Encoder

SequentialEncoder 对象可以同时存储和控制多个过去和未来协变量编码器。它提供与单个编码器相同的功能(encode_train()encode_inference()encode_train_inference())。

属性

components

返回由 SequentialEncoder.past_encodersSequentialEncoder.future_encoders 生成的协变量分量名称。

encoder_map

编码器标识符字符串(来自模型创建时的参数)与相应的未来或过去协变量编码器之间的映射。

encoders

返回一个元组,包含(过去协变量编码器列表, 未来协变量编码器列表)。

encoding_n_components

返回由 SequentialEncoder.past_encodersSequentialEncoder.future_encoders 生成的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

future_components

返回由 SequentialEncoder.future_encoders 生成的未来协变量分量名称。

future_encoders

返回未来协变量编码器。

future_transformer

返回未来转换器对象。

past_components

返回由 SequentialEncoder.past_encoders 生成的过去协变量分量名称。

past_encoders

返回过去协变量编码器。

past_transformer

返回过去转换器对象。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, ...])

返回所有过去和/或未来协变量的编码索引,用于推断/预测。生成哪些协变量取决于模型创建时使用的参数。

encode_train(target[, past_covariates, ...])

返回所有过去和/或未来协变量的编码索引,用于训练。

encode_train_inference(n, target[, ...])

返回所有过去和/或未来协变量的编码索引,用于训练和推断/预测。生成哪些协变量取决于模型创建时使用的参数。

transformers()

返回一个元组,包含(过去转换器,未来转换器)。

SequentialEncoder 自动从参数 add_encoders 创建编码器对象。add_encoders 也可以直接在所有 Darts 的 ForecastingModels 中设置。这将自动设置一个根据基础预测模型设置定制的 SequentialEncoder

add_encoders 字典必须遵循此约定:

{编码器关键字: {时间关键字: 属性列表}, ..., 转换器关键字: 转换器对象}

支持的编码器关键字

‘cyclic’ 用于循环时间编码器。请参阅文档 CyclicTemporalEncoder‘datetime_attribute’ 用于添加 pd.DatetimeIndex 属性的标量信息。请参阅文档 DatetimeAttributeEncoder‘position’ 用于整数索引位置编码器。请参阅文档 IntegerIndexEncoder‘custom’ 用于使用自定义可调用对象(函数)对索引进行编码。请参阅文档 CallableIndexEncoder

支持的时间关键字

‘past’ 用于将编码添加为过去协变量 ‘future’ 用于将编码添加为未来协变量

支持的属性

对于属性,请阅读上面对应编码器的相关文档。

支持的转换器

可以使用转换器关键字 ‘transformer’ 添加转换器。转换器对象必须是 Darts 的 FittableDataTransformer 实例,例如 Scaler() 或 BoxCox()。调用 model.fit() 时,转换器将根据训练数据集进行拟合。然后对训练、验证和推断数据集进行相同的转换。

支持的时区

(可选)使用关键字 ‘tz’ 应用时区转换。在应用 ‘cyclic’ 或 ‘datetime_attribute’ 时间编码器之前,这将把时区不敏感的索引转换为 ‘tz’ 时区。

每小时数据的有效 add_encoders 字典示例:

from darts.dataprocessing.transformers import Scaler
add_encoders={
    'cyclic': {'future': ['month']},
    'datetime_attribute': {'past': ['hour'], 'future': ['year', 'dayofweek']},
    'position': {'past': ['relative'], 'future': ['relative']},
    'custom': {'past': [lambda idx: (idx.year - 1950) / 50]},
    'transformer': Scaler(),
    'tz': 'CET',
}

add_encoders 中提取 (encoder_id, attribute) 元组以实例化 SingleEncoder 对象。

  • encoder_id 提取如下:

    str(encoder_kw) + str(temporal_kw) -> ‘cyclic’ + ‘past’ -> encoder_id = ‘cyclic_past’ encoder_id 用于将参数与相应的 SingleEncoder 对象映射。

  • attribute 是从 temporal_kw 下的值中提取的:

    attribute = ‘month’ … attribute 告诉 SingleEncoder 要编码索引的哪个属性。

可以通过将新编码器附加到映射属性 SequentialEncoder.encoder_map() 来添加新编码器。

参数
  • add_encoders (dict) – 包含编码器设置的字典。

  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModel 中的参数 input_chunk_length,或对应于 RegressionModel 的绝对最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅适用于 TorchForecastingModelRegressionModel。对应于 TorchForecastingModelRegressionModel 中的参数 output_chunk_length

  • lags_past_covariates (Optional[list[int], None]) – (可选)表示过去协变量滞后值的整数列表。接受小于等于 -1 的整数滞后值。仅在 RegressionModel 中需要。对应于 RegressionModel 的参数 lags_past_covariates 中的滞后值。

  • lags_future_covariates (Optional[list[int], None]) – (可选)表示未来协变量滞后值的整数列表。接受所有整数值。仅在 RegressionModel 中需要。对应于 RegressionModel 的参数 lags_future_covariates 中的滞后值。

  • takes_past_covariates (bool) – 是否编码/生成过去协变量。

  • takes_future_covariates (bool) – 是否编码/生成未来协变量。

属性

components

返回由 SequentialEncoder.past_encodersSequentialEncoder.future_encoders 生成的协变量分量名称。

encoder_map

编码器标识符字符串(来自模型创建时的参数)与相应的未来或过去协变量编码器之间的映射。

encoders

返回一个元组,包含(过去协变量编码器列表, 未来协变量编码器列表)。

encoding_n_components

返回由 SequentialEncoder.past_encodersSequentialEncoder.future_encoders 生成的组件数量。

fit_called

返回 Encoder 对象是否已被拟合。

future_components

返回由 SequentialEncoder.future_encoders 生成的未来协变量分量名称。

future_encoders

返回未来协变量编码器。

future_transformer

返回未来转换器对象。

past_components

返回由 SequentialEncoder.past_encoders 生成的过去协变量分量名称。

past_encoders

返回过去协变量编码器。

past_transformer

返回过去转换器对象。

requires_fit

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

方法

encode_inference(n, target[, ...])

返回所有过去和/或未来协变量的编码索引,用于推断/预测。生成哪些协变量取决于模型创建时使用的参数。

encode_train(target[, past_covariates, ...])

返回所有过去和/或未来协变量的编码索引,用于训练。

encode_train_inference(n, target[, ...])

返回所有过去和/或未来协变量的编码索引,用于训练和推断/预测。生成哪些协变量取决于模型创建时使用的参数。

transformers()

返回一个元组,包含(过去转换器,未来转换器)。

property components: tuple[pandas.core.indexes.base.Index, pandas.core.indexes.base.Index]

返回由 SequentialEncoder.past_encodersSequentialEncoder.future_encoders 生成的协变量分量名称。是一个包含(过去编码分量,未来编码分量)的元组。仅在调用 SequentialEncoder.encode_train() 后可用。

返回类型

tuple[Index, Index]

encode_inference(n, target, past_covariates=None, future_covariates=None, encode_past=True, encode_future=True)[source]

返回所有过去和/或未来协变量的编码索引,用于推断/预测。生成哪些协变量取决于模型创建时使用的参数。

参数
  • n (int) – 预测范围

  • target (Union[TimeSeries, Sequence[TimeSeries]]) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries。

  • past_covariates (Union[TimeSeries, Sequence[TimeSeries], None]) – (可选)用于训练的过去协变量。

  • future_covariates (Union[TimeSeries, Sequence[TimeSeries], None]) – (可选)用于训练的未来协变量。

  • encode_past (bool) – 是否对过去协变量应用编码器。

  • encode_future (bool) – 是否对未来协变量应用编码器。

返回

用于预测/推断的过去协变量和/或未来协变量,包括编码。如果输入的 {x}_covariates 为 None 且未提供 {x}_encoders,则 {x}_covariates 将返回 None

返回类型

Tuple[past_covariates, future_covariates]

encode_train(target, past_covariates=None, future_covariates=None, encode_past=True, encode_future=True)[source]

返回所有过去和/或未来协变量的编码索引,用于训练。生成哪些协变量取决于模型创建时使用的参数。

参数
  • target (Union[TimeSeries, Sequence[TimeSeries]]) – 训练期间使用或作为 series 传递给预测的目标 TimeSeries。

  • past_covariates (Union[TimeSeries, Sequence[TimeSeries], None]) – (可选)用于训练的过去协变量。

  • future_covariates (Union[TimeSeries, Sequence[TimeSeries], None]) – (可选)用于训练的未来协变量。

  • encode_past (bool) – 是否对过去协变量应用编码器。

  • encode_future (bool) – 是否对未来协变量应用编码器。

返回

用于训练的过去协变量和/或未来协变量,包括编码。如果输入的 {x}_covariates 为 None 且未提供 {x}_encoders,则 {x}_covariates 将返回 None

返回类型

Tuple[past_covariates, future_covariates]

引发

Warning – 如果模型是使用 add_encoders 创建的,并且怀疑存在惰性加载。编码/协变量会在开始训练前立即为所有单独的目标生成并加载到内存中。根据目标数据的大小,这可能会导致内存问题。如果出现这种情况,请考虑将 add_encoders=None 设置在模型创建时,并手动构建编码协变量以实现惰性加载。

encode_train_inference(n, target, past_covariates=None, future_covariates=None, encode_past=True, encode_future=True)[source]

返回所有过去和/或未来协变量的编码索引,用于训练和推断/预测。生成哪些协变量取决于模型创建时使用的参数。

参数
  • n (int) – 预测范围

  • target (Union[TimeSeries, Sequence[TimeSeries]]) – 用于训练和预测的目标 TimeSeries。

  • past_covariates (Union[TimeSeries, Sequence[TimeSeries], None]) – (可选)用于训练和预测的过去协变量。

  • future_covariates (Union[TimeSeries, Sequence[TimeSeries], None]) – (可选)用于训练和预测的未来协变量。

  • encode_past (bool) – 是否对过去协变量应用编码器。

  • encode_future (bool) – 是否对未来协变量应用编码器。

返回

用于预测/推断的过去协变量和/或未来协变量,包括编码。如果输入的 {x}_covariates 为 None 且未提供 {x}_encoders,则 {x}_covariates 将返回 None

返回类型

Tuple[past_covariates, future_covariates]

property encoder_map: dict

编码器标识符字符串(来自模型创建时的参数)与相应的未来或过去协变量编码器之间的映射。

返回类型

dict

property encoders: tuple[list[darts.dataprocessing.encoders.encoder_base.SingleEncoder], list[darts.dataprocessing.encoders.encoder_base.SingleEncoder]]

返回一个元组,包含(过去协变量编码器列表, 未来协变量编码器列表)。

返回类型

tuple[list[SingleEncoder], list[SingleEncoder]]

property encoding_n_components: tuple[int, int]

返回由 SequentialEncoder.past_encodersSequentialEncoder.future_encoders 生成的组件数量。

返回类型

tuple[int, int]

property fit_called: bool

返回 Encoder 对象是否已被拟合。

返回类型

bool

property future_components: Index

返回由 SequentialEncoder.future_encoders 生成的未来协变量分量名称。仅在调用 SequentialEncoder.encode_train() 后可用。

返回类型

Index

property future_encoders: list[darts.dataprocessing.encoders.encoder_base.SingleEncoder]

返回未来协变量编码器。

返回类型

list[SingleEncoder]

property future_transformer: SequentialEncoderTransformer

返回未来转换器对象。

返回类型

SequentialEncoderTransformer

property past_components: Index

返回由 SequentialEncoder.past_encoders 生成的过去协变量分量名称。仅在调用 SequentialEncoder.encode_train() 后可用。

返回类型

Index

property past_encoders: list[darts.dataprocessing.encoders.encoder_base.SingleEncoder]

返回过去协变量编码器。

返回类型

list[SingleEncoder]

property past_transformer: SequentialEncoderTransformer

返回过去转换器对象。

返回类型

SequentialEncoderTransformer

property requires_fit: bool

Encoder 子类在使用 Encoder.encode_inference() 进行推理之前是否必须使用 Encoder.encode_train() 进行拟合。

返回类型

bool

transformers()[source]

返回一个元组,包含(过去转换器,未来转换器)。

返回类型

tuple[SequentialEncoderTransformer, SequentialEncoderTransformer]