编码器基类

class darts.dataprocessing.encoders.encoder_base.CovariatesIndexGenerator(input_chunk_length=None, output_chunk_length=None, lags_covariates=None)[源代码]

基类:ABC

CovariatesIndexGenerator 在训练和推理/预测时生成协变量的时间索引,使用方法 generate_train_idx()generate_inference_idx()。在没有用户 covariates 的情况下,它会生成对应于以下描述场景所需的最小协变量时间跨度。在有用户 covariates 的情况下,它只是复制并返回 covariates 时间索引。

它可以被使用:A 与 LocalForecastingModel 结合使用,或在模型无关的场景中使用:

所有参数都可以忽略。此场景仅由 FutureCovariatesIndexGenerator 支持。

B 与 回归模型 结合使用:

设置 input_chunk_lengthoutput_chunk_lengthlags_covariatesinput_chunk_length 是回归模型中使用的最小目标滞后 abs(min(lags)) 的绝对值。设置 output_chunk_lengthlags_covariates 为预测模型创建时使用的相同值。对于协变量滞后,使用 lags_past_covariates 用于类:PastCovariatesIndexGenerator,以及 lags_future_covariates 用于类:PastCovariatesIndexGenerator

C 与 TorchForecastingModel 结合使用:

input_chunk_lengthoutput_chunk_length 设置为与预测模型创建时使用的相同值。

参数
  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅在场景 B 和 C 中需要。对应于 TorchForecastingModelinput_chunk_length,或对应于 RegressionModel 的最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅在场景 B 和 C 中需要。对应于 TorchForecastingModelRegressionModeloutput_chunk_length

  • lags_covariates (Optional[List[int], None]) – 可选地,一个整数列表,给出用于 Darts 的 RegressionModels 的协变量滞后。仅在场景 B 中需要。对应于过去协变量的 lags_past_covariates 和未来协变量的 lags_future_covariates 的滞后值。

属性

base_component_name

返回索引生成器基础组件名称。

方法

generate_inference_idx(n, target[, covariates])

在模型推理/预测时生成/提取协变量的时间索引(或整数索引)。

generate_train_idx(target[, covariates])

在模型训练时生成/提取协变量的时间索引(或整数索引)。

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

生成/提取用于训练和推理/预测的协变量的时间索引(或整数索引)。

abstract property base_component_name: str

返回索引生成器基础组件名称。 - “pc”: 过去协变量 - “fc”: 未来协变量

返回类型

str

abstract generate_inference_idx(n, target, covariates=None)[源代码]

在模型推理/预测时生成/提取协变量的时间索引(或整数索引)。

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

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

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量。如果给出,返回的时间索引等于 covariates 的时间索引。否则,返回的时间索引覆盖了执行推理/预测所需的最小协变量时间跨度,特定预测模型的这些要求是从 CovariatesIndexGenerator 创建时设置的参数中得出的。

返回类型

Tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

abstract generate_train_idx(target, covariates=None)[源代码]

在模型训练时生成/提取协变量的时间索引(或整数索引)。

参数
  • target (TimeSeries) – 训练期间使用的目标时间序列。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量。如果给出,返回的时间索引等于 covariates 的时间索引。否则,返回的时间索引覆盖了训练特定预测模型所需的最小协变量时间跨度。这些要求是从 CovariatesIndexGenerator 创建时设置的参数中得出的。

返回类型

Tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_inference_idx(n, target, covariates=None)[源代码]

生成/提取用于训练和推理/预测的协变量的时间索引(或整数索引)。

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

  • target (TimeSeries) – 用于训练和推理/预测的目标时间序列称为 series

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和推断/预测的协变量。如果给出,返回的时间索引等于 covariates 的时间索引。否则,返回的时间索引覆盖执行特定预测模型训练和推断/预测所需的最小协变量时间跨度。这些要求是从 CovariatesIndexGenerator 创建时设置的参数中得出的。

返回类型

Tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

class darts.dataprocessing.encoders.encoder_base.Encoder[源代码]

基类:ABC

所有编码器的抽象类

属性

fit_called

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

requires_fit

Encoder 子类是否必须在推理前通过 Encoder.encode_train() 进行拟合,然后才能使用 Encoder.encode_inference() 进行推理。

方法

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

每个子类必须实现一个方法来编码用于预测的协变量索引。

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

每个子类必须实现一个方法来编码用于训练的协变量索引。

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

每个子类必须实现一个方法来编码协变量索引以用于训练和预测。

abstract encode_inference(n, target, covariates=None, merge_covariates=True, **kwargs)[源代码]

每个子类必须实现一个方法来编码用于预测的协变量索引。

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

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

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的过去或未来协变量。

  • merge_covariates (bool) – 是否将编码后的时间序列与 covariates 合并。

返回类型

TimeSeries

abstract encode_train(target, covariates=None, merge_covariates=True, **kwargs)[源代码]

每个子类必须实现一个方法来编码用于训练的协变量索引。

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

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的过去或未来协变量。

  • merge_covariates (bool) – 是否将编码后的时间序列与 covariates 合并。

返回类型

TimeSeries

abstract encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)[源代码]

每个子类必须实现一个方法来编码协变量索引以用于训练和预测。

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

  • target (TimeSeries) – 训练和预测过程中使用的目标时间序列。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和预测的过去或未来协变量。

  • merge_covariates (bool) – 是否将编码后的时间序列与 covariates 合并。

返回类型

TimeSeries

property fit_called: bool

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

返回类型

bool

abstract property requires_fit: bool

Encoder 子类是否必须在推理前通过 Encoder.encode_train() 进行拟合,然后才能使用 Encoder.encode_inference() 进行推理。

返回类型

bool

class darts.dataprocessing.encoders.encoder_base.FutureCovariatesIndexGenerator(input_chunk_length=None, output_chunk_length=None, lags_covariates=None)[源代码]

基类:CovariatesIndexGenerator

为训练和推理数据集上的未来协变量生成索引。

属性

base_component_name

返回索引生成器基础组件名称。

方法

generate_inference_idx(n, target[, covariates])

在模型推理/预测时生成/提取协变量的时间索引(或整数索引)。

generate_train_idx(target[, covariates])

在模型训练时生成/提取协变量的时间索引(或整数索引)。

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

生成/提取用于训练和推理/预测的协变量的时间索引(或整数索引)。

CovariatesIndexGenerator 在训练和推理/预测时生成协变量的时间索引,使用方法 generate_train_idx()generate_inference_idx()。在没有用户 covariates 的情况下,它会生成对应于以下描述场景所需的最小协变量时间跨度。在有用户 covariates 的情况下,它只是复制并返回 covariates 时间索引。

它可以被使用:A 与 LocalForecastingModel 结合使用,或在模型无关的场景中使用:

所有参数都可以忽略。此场景仅由 FutureCovariatesIndexGenerator 支持。

B 与 回归模型 结合使用:

设置 input_chunk_lengthoutput_chunk_lengthlags_covariatesinput_chunk_length 是回归模型中使用的最小目标滞后 abs(min(lags)) 的绝对值。设置 output_chunk_lengthlags_covariates 为预测模型创建时使用的相同值。对于协变量滞后,使用 lags_past_covariates 用于类:PastCovariatesIndexGenerator,以及 lags_future_covariates 用于类:PastCovariatesIndexGenerator

C 与 TorchForecastingModel 结合使用:

input_chunk_lengthoutput_chunk_length 设置为与预测模型创建时使用的相同值。

参数
  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅在场景 B 和 C 中需要。对应于 TorchForecastingModelinput_chunk_length,或对应于 RegressionModel 的最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅在场景 B 和 C 中需要。对应于 TorchForecastingModelRegressionModeloutput_chunk_length

  • lags_covariates (Optional[List[int], None]) – 可选地,一个整数列表,给出用于 Darts 的 RegressionModels 的协变量滞后。仅在场景 B 中需要。对应于过去协变量的 lags_past_covariates 和未来协变量的 lags_future_covariates 的滞后值。

属性

base_component_name

返回索引生成器基础组件名称。

方法

generate_inference_idx(n, target[, covariates])

在模型推理/预测时生成/提取协变量的时间索引(或整数索引)。

generate_train_idx(target[, covariates])

在模型训练时生成/提取协变量的时间索引(或整数索引)。

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

生成/提取用于训练和推理/预测的协变量的时间索引(或整数索引)。

property base_component_name: str

返回索引生成器基础组件名称。 - “pc”: 过去协变量 - “fc”: 未来协变量

返回类型

str

generate_inference_idx(n, target, covariates=None)[源代码]

在模型推理/预测时生成/提取协变量的时间索引(或整数索引)。

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

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

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量。如果给出,返回的时间索引等于 covariates 的时间索引。否则,返回的时间索引覆盖了执行推理/预测所需的最小协变量时间跨度,特定预测模型的这些要求是从 CovariatesIndexGenerator 创建时设置的参数中得出的。

返回类型

Tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_idx(target, covariates=None)[源代码]

在模型训练时生成/提取协变量的时间索引(或整数索引)。

参数
  • target (TimeSeries) – 训练期间使用的目标时间序列。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量。如果给出,返回的时间索引等于 covariates 的时间索引。否则,返回的时间索引覆盖了训练特定预测模型所需的最小协变量时间跨度。这些要求是从 CovariatesIndexGenerator 创建时设置的参数中得出的。

返回类型

Tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_inference_idx(n, target, covariates=None)

生成/提取用于训练和推理/预测的协变量的时间索引(或整数索引)。

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

  • target (TimeSeries) – 用于训练和推理/预测的目标时间序列称为 series

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和推断/预测的协变量。如果给出,返回的时间索引等于 covariates 的时间索引。否则,返回的时间索引覆盖执行特定预测模型训练和推断/预测所需的最小协变量时间跨度。这些要求是从 CovariatesIndexGenerator 创建时设置的参数中得出的。

返回类型

Tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

class darts.dataprocessing.encoders.encoder_base.PastCovariatesIndexGenerator(input_chunk_length=None, output_chunk_length=None, lags_covariates=None)[源代码]

基类:CovariatesIndexGenerator

为训练和推理数据集上的过去协变量生成索引

属性

base_component_name

返回索引生成器基础组件名称。

方法

generate_inference_idx(n, target[, covariates])

在模型推理/预测时生成/提取协变量的时间索引(或整数索引)。

generate_train_idx(target[, covariates])

在模型训练时生成/提取协变量的时间索引(或整数索引)。

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

生成/提取用于训练和推理/预测的协变量的时间索引(或整数索引)。

CovariatesIndexGenerator 在训练和推理/预测时生成协变量的时间索引,使用方法 generate_train_idx()generate_inference_idx()。在没有用户 covariates 的情况下,它会生成对应于以下描述场景所需的最小协变量时间跨度。在有用户 covariates 的情况下,它只是复制并返回 covariates 时间索引。

它可以被使用:A 与 LocalForecastingModel 结合使用,或在模型无关的场景中使用:

所有参数都可以忽略。此场景仅由 FutureCovariatesIndexGenerator 支持。

B 与 回归模型 结合使用:

设置 input_chunk_lengthoutput_chunk_lengthlags_covariatesinput_chunk_length 是回归模型中使用的最小目标滞后 abs(min(lags)) 的绝对值。设置 output_chunk_lengthlags_covariates 为预测模型创建时使用的相同值。对于协变量滞后,使用 lags_past_covariates 用于类:PastCovariatesIndexGenerator,以及 lags_future_covariates 用于类:PastCovariatesIndexGenerator

C 与 TorchForecastingModel 结合使用:

input_chunk_lengthoutput_chunk_length 设置为与预测模型创建时使用的相同值。

参数
  • input_chunk_length (Optional[int, None]) – 可选地,每个块的输入目标时间步数。仅在场景 B 和 C 中需要。对应于 TorchForecastingModelinput_chunk_length,或对应于 RegressionModel 的最小目标滞后值 abs(min(lags))

  • output_chunk_length (Optional[int, None]) – 可选地,每个块的输出目标时间步数。仅在场景 B 和 C 中需要。对应于 TorchForecastingModelRegressionModeloutput_chunk_length

  • lags_covariates (Optional[List[int], None]) – 可选地,一个整数列表,给出用于 Darts 的 RegressionModels 的协变量滞后。仅在场景 B 中需要。对应于过去协变量的 lags_past_covariates 和未来协变量的 lags_future_covariates 的滞后值。

属性

base_component_name

返回索引生成器基础组件名称。

方法

generate_inference_idx(n, target[, covariates])

在模型推理/预测时生成/提取协变量的时间索引(或整数索引)。

generate_train_idx(target[, covariates])

在模型训练时生成/提取协变量的时间索引(或整数索引)。

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

生成/提取用于训练和推理/预测的协变量的时间索引(或整数索引)。

property base_component_name: str

返回索引生成器基础组件名称。 - “pc”: 过去协变量 - “fc”: 未来协变量

返回类型

str

generate_inference_idx(n, target, covariates=None)[源代码]

在模型推理/预测时生成/提取协变量的时间索引(或整数索引)。

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

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

  • covariates (Optional[TimeSeries, None]) – 可选地,用于预测的协变量。如果给出,返回的时间索引等于 covariates 的时间索引。否则,返回的时间索引覆盖了执行推理/预测所需的最小协变量时间跨度,特定预测模型的这些要求是从 CovariatesIndexGenerator 创建时设置的参数中得出的。

返回类型

Tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_idx(target, covariates=None)[源代码]

在模型训练时生成/提取协变量的时间索引(或整数索引)。

参数
  • target (TimeSeries) – 训练期间使用的目标时间序列。

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练的协变量。如果给出,返回的时间索引等于 covariates 的时间索引。否则,返回的时间索引覆盖了训练特定预测模型所需的最小协变量时间跨度。这些要求是从 CovariatesIndexGenerator 创建时设置的参数中得出的。

返回类型

Tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_inference_idx(n, target, covariates=None)

生成/提取用于训练和推理/预测的协变量的时间索引(或整数索引)。

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

  • target (TimeSeries) – 用于训练和推理/预测的目标时间序列称为 series

  • covariates (Optional[TimeSeries, None]) – 可选地,用于训练和推断/预测的协变量。如果给出,返回的时间索引等于 covariates 的时间索引。否则,返回的时间索引覆盖执行特定预测模型训练和推断/预测所需的最小协变量时间跨度。这些要求是从 CovariatesIndexGenerator 创建时设置的参数中得出的。

返回类型

Tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

class darts.dataprocessing.encoders.encoder_base.SequentialEncoderTransformer(transformer, transform_mask)[源代码]

基类:object

SequentialEncoderTransformerSequentialEncoder.encode_train()SequentialEncoder.encode_inference() 输出的未转换编码协变量应用转换。当第一次调用 transform() 时,转换器被拟合。这确保了训练、验证和推理数据集协变量的正确转换。用户提供的协变量不会被转换。

属性

fit_called

返回变压器是否已被拟合。

方法

transform(covariates)

此方法对 SequentialEncoder._encode_sequence() 输出的未转换编码协变量应用转换,这些协变量在与用户定义的协变量合并之后。

参数
  • transformer (FittableDataTransformer) – 一个带有 fit_transform()transform() 方法的 FittableDataTransformer 对象。

  • transform_mask (List[bool]) – 一个布尔值的一维掩码,指定输入协变量中哪些必须通过 transform() 进行转换。

属性

fit_called

返回变压器是否已被拟合。

方法

transform(covariates)

此方法对 SequentialEncoder._encode_sequence() 输出的未转换编码协变量应用转换,这些协变量在与用户定义的协变量合并之后。

property fit_called: bool

返回变压器是否已被拟合。

返回类型

bool

transform(covariates)[源代码]

此方法对 SequentialEncoder._encode_sequence() 输出的未转换编码协变量应用转换,这些协变量在与用户定义的协变量合并后进行。当第一次调用 transform() 时,转换器会被拟合。这确保了对训练、验证和推断数据集协变量的适当转换。掩码确保不会转换用户明确提供给 TorchForecastingModel.fit()TorchForecastingModel.predict() 的任何协变量。

参数

covariates (List[TimeSeries]) – 在 SequentialEncoder._encode_sequence() 方法中,与用户定义的协变量合并之前的非转换编码协变量输出。

返回类型

List[TimeSeries]

class darts.dataprocessing.encoders.encoder_base.SingleEncoder(index_generator)[源代码]

基类:Encoder, ABC

SingleEncoder: 单索引编码器的抽象类。单编码器可用于实现新的编码技术。每个单编码器必须实现一个 _encode() 方法,该方法包含编码逻辑。

_encode() 方法必须接受一个 index 作为输入,并生成一个编码后的单个 TimeSeries 作为输出。

属性

accept_transformer

SingleEncoder 子类是否接受被转换。

base_component_name

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

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

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

requires_fit

Encoder 子类是否必须在推理前通过 Encoder.encode_train() 进行拟合,然后才能使用 Encoder.encode_inference() 进行推理。

方法

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

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

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

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

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

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

单个编码器使用 index_generator 来生成编码过去和未来协变量所需的索引。请参阅 darts.utils.data.covariate_index_generators.py 中的 CovariatesIndexGenerator 子类。对于过去协变量编码器,使用 PastCovariatesIndexGenerator。对于未来协变量编码器,使用 FutureCovariatesIndexGenerator

参数

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

属性

accept_transformer

SingleEncoder 子类是否接受被转换。

base_component_name

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

components

返回编码后的组件名称。

encoding_n_components

SingleEncoder 输出中的组件数量。

fit_called

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

requires_fit

Encoder 子类是否必须在推理前通过 Encoder.encode_train() 进行拟合,然后才能使用 Encoder.encode_inference() 进行推理。

方法

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

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

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

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

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

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

abstract property accept_transformer: List[bool]

SingleEncoder 子类是否接受被转换。

返回类型

List[bool]

abstract property base_component_name: str

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

  • covariates_temp: 分别用于过去或未来协变量的“pc”或“fc”。

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

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

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

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

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

    • “月份”(用于“dta”)

    • “相对”(用于“位置”)

    • “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

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

  • merge_covariates (bool) – 是否将编码后的时间序列与 covariates 合并。

返回类型

TimeSeries

encode_train(target, covariates=None, merge_covariates=True, **kwargs)[源代码]

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

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

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

  • merge_covariates (bool) – 是否将编码后的时间序列与 covariates 合并。

返回类型

TimeSeries

encode_train_inference(n, target, covariates=None, merge_covariates=True, **kwargs)[源代码]

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

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

  • target (TimeSeries) – 训练和预测过程中使用的目标时间序列。

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

  • merge_covariates (bool) – 是否将编码后的时间序列与 covariates 合并。

返回类型

TimeSeries

abstract property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

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

返回类型

bool

abstract property requires_fit: bool

Encoder 子类是否必须在推理前通过 Encoder.encode_train() 进行拟合,然后才能使用 Encoder.encode_inference() 进行推理。

返回类型

bool