编码器基类¶
- 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_length、output_chunk_length 和 lags_covariates。input_chunk_length 是与回归模型一起使用的最小目标滞后 abs(min(lags)) 的绝对值。output_chunk_length 和 lags_covariates 设置为创建预测模型时使用的相同值。对于协变量滞后,PastCovariatesIndexGenerator 类使用 lags_past_covariates,PastCovariatesIndexGenerator 类使用 lags_future_covariates。
- C 与
TorchForecastingModel
结合使用 设置 input_chunk_length 和 output_chunk_length 为创建预测模型时使用的相同值。
- 参数
input_chunk_length (
可选
[int
,None
]) – 可选参数,每个块的输入目标时间步长数量。仅在场景 B、C 中需要。对于TorchForecastingModel
对应于 input_chunk_length,对于RegressionModel
对应于最小目标滞后 abs(min(lags)) 的绝对值。output_chunk_length (
可选
[int
,None
]) – 可选参数,每个块的输出目标时间步长数量。仅在场景 B 和 C 中需要。对于TorchForecastingModel
和RegressionModel
都对应于 output_chunk_length。lags_covariates (
可选
[list
[int
],None
]) – 可选参数,一个整数列表,给出用于 Darts RegressionModels 的协变量滞后。仅在场景 B 中需要。对应于过去协变量的 lags_past_covariates 和未来协变量的 lags_future_covariates 的滞后值。
属性
返回索引生成器的基本组件名称。
方法
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
]
- B 与
- class darts.dataprocessing.encoders.encoder_base.Encoder[source]¶
基类:
ABC
所有编码器的抽象基类
属性
返回 Encoder 对象是否已拟合。
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 合并。
- 返回类型
- abstract encode_train(target, covariates=None, merge_covariates=True, **kwargs)[source]¶
每个子类都必须实现一个方法来编码用于训练的协变量索引。
- 参数
target (
TimeSeries
) – 训练期间使用的或作为 series 传递给预测的目标时间序列。covariates (
可选
[TimeSeries
,None
]) – 可选参数,用于训练的过去或未来协变量。merge_covariates (
bool
) – 是否将编码后的 TimeSeries 与 covariates 合并。
- 返回类型
- 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 合并。
- 返回类型
- 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]¶
-
在训练和推理数据集上生成未来协变量的索引。
属性
返回索引生成器的基本组件名称。
方法
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_length、output_chunk_length 和 lags_covariates。input_chunk_length 是与回归模型一起使用的最小目标滞后 abs(min(lags)) 的绝对值。output_chunk_length 和 lags_covariates 设置为创建预测模型时使用的相同值。对于协变量滞后,PastCovariatesIndexGenerator 类使用 lags_past_covariates,PastCovariatesIndexGenerator 类使用 lags_future_covariates。
- C 与
TorchForecastingModel
结合使用 设置 input_chunk_length 和 output_chunk_length 为创建预测模型时使用的相同值。
- 参数
input_chunk_length (
可选
[int
,None
]) – 可选参数,每个块的输入目标时间步长数量。仅在场景 B、C 中需要。对于TorchForecastingModel
对应于 input_chunk_length,对于RegressionModel
对应于最小目标滞后 abs(min(lags)) 的绝对值。output_chunk_length (
可选
[int
,None
]) – 可选参数,每个块的输出目标时间步长数量。仅在场景 B 和 C 中需要。对于TorchForecastingModel
和RegressionModel
都对应于 output_chunk_length。lags_covariates (
可选
[list
[int
],None
]) – 可选参数,一个整数列表,给出用于 Darts RegressionModels 的协变量滞后。仅在场景 B 中需要。对应于过去协变量的 lags_past_covariates 和未来协变量的 lags_future_covariates 的滞后值。
属性
返回索引生成器的基本组件名称。
方法
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
]
- B 与
- class darts.dataprocessing.encoders.encoder_base.PastCovariatesIndexGenerator(input_chunk_length=None, output_chunk_length=None, lags_covariates=None)[source]¶
-
在训练和推理数据集上生成过去协变量的索引
属性
返回索引生成器的基本组件名称。
方法
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_length、output_chunk_length 和 lags_covariates。input_chunk_length 是与回归模型一起使用的最小目标滞后 abs(min(lags)) 的绝对值。output_chunk_length 和 lags_covariates 设置为创建预测模型时使用的相同值。对于协变量滞后,PastCovariatesIndexGenerator 类使用 lags_past_covariates,PastCovariatesIndexGenerator 类使用 lags_future_covariates。
- C 与
TorchForecastingModel
结合使用 设置 input_chunk_length 和 output_chunk_length 为创建预测模型时使用的相同值。
- 参数
input_chunk_length (
可选
[int
,None
]) – 可选参数,每个块的输入目标时间步长数量。仅在场景 B、C 中需要。对于TorchForecastingModel
对应于 input_chunk_length,对于RegressionModel
对应于最小目标滞后 abs(min(lags)) 的绝对值。output_chunk_length (
可选
[int
,None
]) – 可选参数,每个块的输出目标时间步长数量。仅在场景 B 和 C 中需要。对于TorchForecastingModel
和RegressionModel
都对应于 output_chunk_length。lags_covariates (
可选
[list
[int
],None
]) – 可选参数,一个整数列表,给出用于 Darts RegressionModels 的协变量滞后。仅在场景 B 中需要。对应于过去协变量的 lags_past_covariates 和未来协变量的 lags_future_covariates 的滞后值。
属性
返回索引生成器的基本组件名称。
方法
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
]
- B 与
- class darts.dataprocessing.encoders.encoder_base.SequentialEncoderTransformer(transformer, transform_mask)[source]¶
基类:
object
SequentialEncoderTransformer 对 SequentialEncoder.encode_train() 和 SequentialEncoder.encode_inference() 的未转换编码协变量输出应用转换。转换器在 transform() 首次调用时拟合。这确保了训练、验证和推理数据集协变量的正确转换。用户提供的协变量不会被转换。
属性
返回转换器是否已拟合。
方法
transform
(covariates)此方法对 SequentialEncoder._encode_sequence() 的未转换编码协变量输出在与用户定义协变量合并后应用转换。
- 参数
transformer (
FittableDataTransformer
) – 一个带有 fit_transform() 和 transform() 方法的 FittableDataTransformer 对象。transform_mask (
list
[bool
]) – 一个布尔型一维掩码,指定必须对transform()
的哪些输入协变量进行转换。
属性
返回转换器是否已拟合。
方法
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 作为输出。
属性
SingleEncoder 子类是否接受被转换。
返回基础编码器的基本组件名称。
返回编码组件的名称。
SingleEncoder 输出中的组件数量。
返回 Encoder 对象是否已拟合。
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 实例。用于为编码器生成索引。
属性
SingleEncoder 子类是否接受被转换。
返回基础编码器的基本组件名称。
返回编码组件的名称。
SingleEncoder 输出中的组件数量。
返回 Encoder 对象是否已拟合。
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 合并。
- 返回类型
- 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 合并。
- 返回类型
- 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 合并。
- 返回类型
- 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