编码器基类

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

基类:ABC

CovariatesIndexGenerator 使用 generate_train_idx()generate_inference_idx() 方法在训练和推理/预测时生成协变量的时间索引。如果没有用户提供的 covariates,它将为下述相应场景生成所需的最小协变量时间跨度。如果提供了用户 covariates,它只会复制并返回 covariates 的时间索引。

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

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

B 与 RegressionModel 结合使用

设置 input_chunk_lengthoutput_chunk_lengthlags_covariatesinput_chunk_length 是与回归模型一起使用的最小目标滞后 abs(min(lags)) 的绝对值。output_chunk_length 和 lags_covariates 设置为创建预测模型时使用的相同值。对于协变量滞后,PastCovariatesIndexGenerator 类使用 lags_past_covariates,PastCovariatesIndexGenerator 类使用 lags_future_covariates

C 与 TorchForecastingModel 结合使用

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

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

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

  • lags_covariates (可选[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)[source]

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

参数
  • n (int) – 预测视野(horizon)。

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于预测的协变量。如果给定,返回的时间索引与 covariates 的时间索引相同。否则,返回的时间索引包含使用特定预测模型执行推理/预测所需的最小协变量时间跨度。这些要求源自创建 CovariatesIndexGenerator 时设置的参数。

返回类型

tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

abstract generate_train_idx(target, covariates=None)[source]

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

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于训练的协变量。如果给定,返回的时间索引与 covariates 的时间索引相同。否则,返回的时间索引包含训练特定预测模型所需的最小协变量时间跨度。这些要求源自创建 CovariatesIndexGenerator 时设置的参数。

返回类型

tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_inference_idx(n, target, covariates=None)[source]

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

参数
  • n (int) – 预测视野(horizon)。

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于训练和推理/预测的协变量。如果给定,返回的时间索引与 covariates 的时间索引相同。否则,返回的时间索引包含使用特定预测模型执行训练和推理/预测所需的最小协变量时间跨度。这些要求源自创建 CovariatesIndexGenerator 时设置的参数。

返回类型

tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

class darts.dataprocessing.encoders.encoder_base.Encoder[source]

基类:ABC

所有编码器的抽象基类

属性

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[, ...])

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

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

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

参数
  • n (int) – 预测视野(forecast horizon)

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

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

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

返回类型

TimeSeries

abstract encode_train(target, covariates=None, merge_covariates=True, **kwargs)[source]

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

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

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

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

返回类型

TimeSeries

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

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

参数
  • n (int) – 预测视野(forecast horizon)

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

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

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

返回类型

TimeSeries

property fit_called: bool

返回 Encoder 对象是否已拟合。

返回类型

bool

abstract property requires_fit: bool

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

返回类型

bool

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

基类: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 与 RegressionModel 结合使用

设置 input_chunk_lengthoutput_chunk_lengthlags_covariatesinput_chunk_length 是与回归模型一起使用的最小目标滞后 abs(min(lags)) 的绝对值。output_chunk_length 和 lags_covariates 设置为创建预测模型时使用的相同值。对于协变量滞后,PastCovariatesIndexGenerator 类使用 lags_past_covariates,PastCovariatesIndexGenerator 类使用 lags_future_covariates

C 与 TorchForecastingModel 结合使用

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

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

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

  • lags_covariates (可选[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)[source]

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

参数
  • n (int) – 预测视野(horizon)。

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于预测的协变量。如果给定,返回的时间索引与 covariates 的时间索引相同。否则,返回的时间索引包含使用特定预测模型执行推理/预测所需的最小协变量时间跨度。这些要求源自创建 CovariatesIndexGenerator 时设置的参数。

返回类型

tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_idx(target, covariates=None)[source]

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

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于训练的协变量。如果给定,返回的时间索引与 covariates 的时间索引相同。否则,返回的时间索引包含训练特定预测模型所需的最小协变量时间跨度。这些要求源自创建 CovariatesIndexGenerator 时设置的参数。

返回类型

tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_inference_idx(n, target, covariates=None)

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

参数
  • n (int) – 预测视野(horizon)。

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

  • covariates (可选[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)[source]

基类: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 与 RegressionModel 结合使用

设置 input_chunk_lengthoutput_chunk_lengthlags_covariatesinput_chunk_length 是与回归模型一起使用的最小目标滞后 abs(min(lags)) 的绝对值。output_chunk_length 和 lags_covariates 设置为创建预测模型时使用的相同值。对于协变量滞后,PastCovariatesIndexGenerator 类使用 lags_past_covariates,PastCovariatesIndexGenerator 类使用 lags_future_covariates

C 与 TorchForecastingModel 结合使用

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

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

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

  • lags_covariates (可选[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)[source]

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

参数
  • n (int) – 预测视野(horizon)。

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于预测的协变量。如果给定,返回的时间索引与 covariates 的时间索引相同。否则,返回的时间索引包含使用特定预测模型执行推理/预测所需的最小协变量时间跨度。这些要求源自创建 CovariatesIndexGenerator 时设置的参数。

返回类型

tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_idx(target, covariates=None)[source]

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

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于训练的协变量。如果给定,返回的时间索引与 covariates 的时间索引相同。否则,返回的时间索引包含训练特定预测模型所需的最小协变量时间跨度。这些要求源自创建 CovariatesIndexGenerator 时设置的参数。

返回类型

tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

generate_train_inference_idx(n, target, covariates=None)

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

参数
  • n (int) – 预测视野(horizon)。

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于训练和推理/预测的协变量。如果给定,返回的时间索引与 covariates 的时间索引相同。否则,返回的时间索引包含使用特定预测模型执行训练和推理/预测所需的最小协变量时间跨度。这些要求源自创建 CovariatesIndexGenerator 时设置的参数。

返回类型

tuple[Union[DatetimeIndex, RangeIndex], Timestamp]

class darts.dataprocessing.encoders.encoder_base.SequentialEncoderTransformer(transformer, transform_mask)[source]

基类: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)[source]

此方法对 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)[source]

基类: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_inference() 进行推理之前是否必须用 Encoder.encode_train() 进行拟合。

方法

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) – 一个带有 generate_train_idx()generate_inference_idx() 方法的 CovariatesIndexGenerator 实例。用于为编码器生成索引。

属性

accept_transformer

SingleEncoder 子类是否接受被转换。

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[, ...])

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

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”,分别代表过去协变量或未来协变量。

  • 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)[source]

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

参数
  • n (int) – 预测视野(forecast horizon)

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于预测的协变量:如果 self.index_generator 是 PastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generator 是 FutureCovariatesIndexGenerator,则为未来协变量

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

返回类型

TimeSeries

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

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

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于训练的协变量:如果 self.index_generator 是 PastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generator 是 FutureCovariatesIndexGenerator,则为未来协变量

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

返回类型

TimeSeries

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

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

参数
  • n (int) – 预测视野(forecast horizon)

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

  • covariates (可选[TimeSeries, None]) – 可选参数,用于训练和预测的协变量:如果 self.index_generator 是 PastCovariatesIndexGenerator,则为过去协变量;如果 self.index_generator 是 FutureCovariatesIndexGenerator,则为未来协变量

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

返回类型

TimeSeries

abstract property encoding_n_components: int

SingleEncoder 输出中的组件数量。

返回类型

int

property fit_called: bool

返回 Encoder 对象是否已拟合。

返回类型

bool

abstract property requires_fit: bool

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

返回类型

bool