移位训练数据集¶
- 类 darts.utils.data.shifted_dataset.DualCovariatesShiftedDataset(target_series, covariates=None, length=12, shift=1, max_samples_per_ts=None, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
DualCovariatesTrainingDataset
一个时间序列数据集,包含由 (过去目标序列, 历史未来协变量, 未来协变量, 静态协变量, 样本权重, 未来目标序列) 数组组成的元组,所有这些数组的长度都为 length。“未来目标序列” 是 “过去目标序列” 目标向后移位 shift 个时间步的结果。因此,如果发出的 “过去目标序列” 从位置 i 到 i+length,发出的 “未来目标序列” 将从位置 i+shift 到 i+shift+length。“未来协变量” 的切片与 “未来目标序列” 的切片匹配,“历史未来协变量” 的切片与 “过去目标序列” 的切片匹配。切片本身依赖时间索引来对齐长度不等的序列。
每个序列必须足够长,以便至少包含一对(输入,输出);即,每个序列的长度必须至少为 length + shift。如果这些条件不满足,尝试访问部分切分时将引发错误。
采样在时间序列数量上是均匀分布的;即,此数据集的第 i 个样本来自序列中 N 个时间序列中的任何一个的概率为 1/N。如果时间序列长度不同,它们将包含不同数量的切片。因此,如果它们属于较短的时间序列,某些特定切片可能会比其他切片更频繁地被采样。
- 参数
target_series (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – 一个或一个目标 TimeSeries 序列。covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一个包含未来已知协变量的 TimeSeries 序列。如果设置此参数,提供的序列必须与 target_series 的长度相同。此外,序列中的所有协变量必须具有足够大的时间跨度以包含所有必需的切片。目标序列和协变量的联合切片依赖于两者的时间轴。length (
int
) – 发出的过去和未来序列的长度。shift (
int
) – 输出块相对于输入块的起始位置移位的时间步数。max_samples_per_ts (
Optional
[int
,None
]) – 这是每个时间序列可以生成的元组数量的上限。它可用于对数据集的总大小设置上限并确保适当的采样。如果为 None,它将在数据集创建时提前读取所有单个时间序列以了解其大小,这在大数据集上可能很耗时。如果某些序列的长度允许超过 max_samples_per_ts,则仅考虑最近的 max_samples_per_ts 个样本。use_static_covariates (
bool
) – 是否使用/包含输入序列中的静态协变量数据。sample_weight (
Union
[TimeSeries
,Sequence
[TimeSeries
],str
,None
]) – 可选地,一些要应用于目标 series 标签的样本权重。它们应用于每个观测、每个标签(output_chunk_length 中的每个步骤)和每个分量。如果是一个序列或序列的序列,则使用这些权重。如果权重序列只有一个分量/列,则权重全局应用于 series 中的所有分量。否则,对于分量特定的权重,分量数量必须与 series 的分量数量匹配。如果是一个字符串,则使用内置的加权函数生成权重。可用选项是 “linear” 或 “exponential” 衰减——时间越靠前,权重越低。权重根据 series 中最长序列的长度全局计算。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- 类 darts.utils.data.shifted_dataset.FutureCovariatesShiftedDataset(target_series, covariates=None, length=12, shift=1, max_samples_per_ts=None, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
FutureCovariatesTrainingDataset
一个时间序列数据集,包含由 (过去目标序列, 未来协变量, 静态协变量, 样本权重, 未来目标序列) 数组组成的元组,所有这些数组的长度都为 length。“未来目标序列” 是 “过去目标序列” 目标向后移位 shift 个时间步的结果。因此,如果发出的 “过去目标序列” 从位置 i 到 i+length,发出的 “未来目标序列” 将从位置 i+shift 到 i+shift+length。未来协变量的切片与未来目标序列的切片匹配。切片本身依赖时间索引来对齐长度不等的序列。
每个序列必须足够长,以便至少包含一对(输入,输出);即,每个序列的长度必须至少为 length + shift。如果这些条件不满足,尝试访问部分切分时将引发错误。
采样在时间序列数量上是均匀分布的;即,此数据集的第 i 个样本来自序列中 N 个时间序列中的任何一个的概率为 1/N。如果时间序列长度不同,它们将包含不同数量的切片。因此,如果它们属于较短的时间序列,某些特定切片可能会比其他切片更频繁地被采样。
- 参数
target_series (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – 一个或一个目标 TimeSeries 序列。covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一个包含未来已知协变量的 TimeSeries 序列。如果设置此参数,提供的序列必须与 target_series 的长度相同。此外,序列中的所有协变量必须具有足够大的时间跨度以包含所有必需的切片。目标序列和协变量的联合切片依赖于两者的时间轴。length (
int
) – 发出的过去和未来序列的长度。shift (
int
) – 输出块相对于输入块的起始位置移位的时间步数。max_samples_per_ts (
Optional
[int
,None
]) – 这是每个时间序列可以生成的元组数量的上限。它可用于对数据集的总大小设置上限并确保适当的采样。如果为 None,它将在数据集创建时提前读取所有单个时间序列以了解其大小,这在大数据集上可能很耗时。如果某些序列的长度允许超过 max_samples_per_ts,则仅考虑最近的 max_samples_per_ts 个样本。use_static_covariates (
bool
) – 是否使用/包含输入序列中的静态协变量数据。sample_weight (
Union
[TimeSeries
,Sequence
[TimeSeries
],str
,None
]) – 可选地,一些要应用于目标 series 标签的样本权重。它们应用于每个观测、每个标签(output_chunk_length 中的每个步骤)和每个分量。如果是一个序列或序列的序列,则使用这些权重。如果权重序列只有一个分量/列,则权重全局应用于 series 中的所有分量。否则,对于分量特定的权重,分量数量必须与 series 的分量数量匹配。如果是一个字符串,则使用内置的加权函数生成权重。可用选项是 “linear” 或 “exponential” 衰减——时间越靠前,权重越低。权重根据 series 中最长序列的长度全局计算。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- 类 darts.utils.data.shifted_dataset.GenericShiftedDataset(target_series, covariates=None, input_chunk_length=12, output_chunk_length=1, shift=1, shift_covariates=False, max_samples_per_ts=None, covariate_type=CovariateType.NONE, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
TrainingDataset
包含 (过去目标序列, <X>_协变量, 静态协变量, 样本权重, 未来目标序列),其中如果 shift_covariates = False 则 “<X>” 是过去,否则是未来。过去块的长度为 input_chunk_length,未来块的长度为 output_chunk_length。未来块在过去块开始后 shift 个时间步开始。
这意在成为一个“通用”数据集,可用于构建 ShiftedDataset(当 input_chunk_length = output_chunk_length 时),或 SequenceDataset(当 shift = input_chunk_length 时)。
- 参数
target_series (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – 一个或一个目标 TimeSeries 序列。covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一个包含协变量的 TimeSeries 序列。input_chunk_length (
int
) – 发出的过去序列的长度。output_chunk_length (
int
) – 发出的未来序列的长度。shift (
int
) – 输出块相对于输入块的起始位置移位的时间步数。shift_covariates (
bool
) – 是否像目标序列一样向前移位协变量。FutureCovariatesModel 需要将其设置为 True,而 PastCovariatesModel 需要将其设置为 False。max_samples_per_ts (
Optional
[int
,None
]) – 这是每个时间序列可以生成的(输入,输出,输入协变量)元组数量的上限。它可用于对数据集的总大小设置上限并确保适当的采样。如果为 None,它将在数据集创建时提前读取所有单个时间序列以了解其大小,这在大数据集上可能很耗时。如果某些序列的长度允许超过 max_samples_per_ts,则仅考虑最近的 max_samples_per_ts 个样本。covariate_type (
CovariateType
) – 描述 covariates 类型的 CovariateType 实例。use_static_covariates (
bool
) – 是否使用/包含输入序列中的静态协变量数据。sample_weight (
Union
[TimeSeries
,Sequence
[TimeSeries
],str
,None
]) – 可选地,一些要应用于目标 series 标签的样本权重。它们应用于每个观测、每个标签(output_chunk_length 中的每个步骤)和每个分量。如果是一个序列或序列的序列,则使用这些权重。如果权重序列只有一个分量/列,则权重全局应用于 series 中的所有分量。否则,对于分量特定的权重,分量数量必须与 series 的分量数量匹配。如果是一个字符串,则使用内置的加权函数生成权重。可用选项是 “linear” 或 “exponential” 衰减——时间越靠前,权重越低。权重根据 series 中最长序列的长度全局计算。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- 类 darts.utils.data.shifted_dataset.MixedCovariatesShiftedDataset(target_series, past_covariates=None, future_covariates=None, length=12, shift=1, max_samples_per_ts=None, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
MixedCovariatesTrainingDataset
一个时间序列数据集,包含由 (过去目标序列, 过去协变量, 历史未来协变量, 未来协变量, 静态协变量, 样本权重, 未来目标序列) 数组组成的元组,所有这些数组的长度都为 length。“未来目标序列” 是 “过去目标序列” 目标向后移位 shift 个时间步的结果。因此,如果发出的 “过去目标序列” 从位置 i 到 i+length,发出的 “未来目标序列” 将从位置 i+shift 到 i+shift+length。过去和未来协变量的切片分别与过去和未来目标序列的切片匹配。切片本身依赖时间索引来对齐长度不等的序列。
每个序列必须足够长,以便至少包含一对(输入,输出);即,每个序列的长度必须至少为 length + shift。如果这些条件不满足,尝试访问部分切分时将引发错误。
采样在时间序列数量上是均匀分布的;即,此数据集的第 i 个样本来自序列中 N 个时间序列中的任何一个的概率为 1/N。如果时间序列长度不同,它们将包含不同数量的切片。因此,如果它们属于较短的时间序列,某些特定切片可能会比其他切片更频繁地被采样。
- 参数
target_series (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – 一个或一个目标 TimeSeries 序列。past_covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一个包含过去观测到的协变量的 TimeSeries 序列。如果设置此参数,提供的序列必须与 target_series 的长度相同。此外,序列中的所有协变量必须具有足够大的时间跨度以包含所有必需的切片。目标序列和协变量的联合切片依赖于两者的时间轴。future_covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一个包含未来已知协变量的 TimeSeries 序列。这必须遵循与 past_covariates 相同的约束。length (
int
) – 发出的过去和未来序列的长度。shift (
int
) – 输出块相对于输入块的起始位置移位的时间步数。max_samples_per_ts (
Optional
[int
,None
]) – 这是每个时间序列可以生成的元组数量的上限。它可用于对数据集的总大小设置上限并确保适当的采样。如果为 None,它将在数据集创建时提前读取所有单个时间序列以了解其大小,这在大数据集上可能很耗时。如果某些序列的长度允许超过 max_samples_per_ts,则仅考虑最近的 max_samples_per_ts 个样本。use_static_covariates (
bool
) – 是否使用/包含输入序列中的静态协变量数据。sample_weight (
Union
[TimeSeries
,Sequence
[TimeSeries
],str
,None
]) – 可选地,一些要应用于目标 series 标签的样本权重。它们应用于每个观测、每个标签(output_chunk_length 中的每个步骤)和每个分量。如果是一个序列或序列的序列,则使用这些权重。如果权重序列只有一个分量/列,则权重全局应用于 series 中的所有分量。否则,对于分量特定的权重,分量数量必须与 series 的分量数量匹配。如果是一个字符串,则使用内置的加权函数生成权重。可用选项是 “linear” 或 “exponential” 衰减——时间越靠前,权重越低。权重根据 series 中最长序列的长度全局计算。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- 类 darts.utils.data.shifted_dataset.PastCovariatesShiftedDataset(target_series, covariates=None, length=12, shift=1, max_samples_per_ts=None, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
PastCovariatesTrainingDataset
一个时间序列数据集,包含由 (过去目标序列, 过去协变量, 静态协变量, 样本权重, 未来目标序列) 数组组成的元组,所有这些数组的长度都为 length。“未来目标序列” 是 “过去目标序列” 目标向后移位 shift 个时间步的结果。因此,如果发出的 “过去目标序列”(和 “过去协变量”)从位置 i 到 i+length,发出的 “未来目标序列” 将从位置 i+shift 到 i+shift+length。
每个序列必须足够长,以便至少包含一对(输入,输出);即,每个序列的长度必须至少为 length + shift。如果这些条件不满足,尝试访问部分切分时将引发错误。
采样在时间序列数量上是均匀分布的;即,此数据集的第 i 个样本来自序列中 N 个时间序列中的任何一个的概率为 1/N。如果时间序列长度不同,它们将包含不同数量的切片。因此,如果它们属于较短的时间序列,某些特定切片可能会比其他切片更频繁地被采样。
- 参数
target_series (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – 一个或一个目标 TimeSeries 序列。covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一个包含过去观测到的协变量的 TimeSeries 序列。如果设置此参数,提供的序列必须与 target_series 的长度相同。此外,序列中的所有协变量必须具有足够大的时间跨度以包含所有必需的切片。目标序列和协变量的联合切片依赖于两者的时间轴。length (
int
) – 发出的过去和未来序列的长度。shift (
int
) – 输出块相对于输入块的起始位置移位的时间步数。max_samples_per_ts (
Optional
[int
,None
]) – 这是每个时间序列可以生成的元组数量的上限。它可用于对数据集的总大小设置上限并确保适当的采样。如果为 None,它将在数据集创建时提前读取所有单个时间序列以了解其大小,这在大数据集上可能很耗时。如果某些序列的长度允许超过 max_samples_per_ts,则仅考虑最近的 max_samples_per_ts 个样本。use_static_covariates (
bool
) – 是否使用/包含输入序列中的静态协变量数据。sample_weight (
Union
[TimeSeries
,Sequence
[TimeSeries
],str
,None
]) – 可选地,一些要应用于目标 series 标签的样本权重。它们应用于每个观测、每个标签(output_chunk_length 中的每个步骤)和每个分量。如果是一个序列或序列的序列,则使用这些权重。如果权重序列只有一个分量/列,则权重全局应用于 series 中的所有分量。否则,对于分量特定的权重,分量数量必须与 series 的分量数量匹配。如果是一个字符串,则使用内置的加权函数生成权重。可用选项是 “linear” 或 “exponential” 衰减——时间越靠前,权重越低。权重根据 series 中最长序列的长度全局计算。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- 类 darts.utils.data.shifted_dataset.SplitCovariatesShiftedDataset(target_series, past_covariates=None, future_covariates=None, length=12, shift=1, max_samples_per_ts=None, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
SplitCovariatesTrainingDataset
一个时间序列数据集,包含由 (过去目标序列, 过去协变量, 未来协变量, 静态协变量, 样本权重, 未来目标序列) 数组组成的元组,所有这些数组的长度都为 length。“未来目标序列” 是 “过去目标序列” 目标向后移位 shift 个时间步的结果。因此,如果发出的 “过去目标序列” 从位置 i 到 i+length,发出的 “未来目标序列” 将从位置 i+shift 到 i+shift+length。过去和未来协变量的切片分别与过去和未来目标序列的切片匹配。切片本身依赖时间索引来对齐长度不等的序列。
每个序列必须足够长,以便至少包含一对(输入,输出);即,每个序列的长度必须至少为 length + shift。如果这些条件不满足,尝试访问部分切分时将引发错误。
采样在时间序列数量上是均匀分布的;即,此数据集的第 i 个样本来自序列中 N 个时间序列中的任何一个的概率为 1/N。如果时间序列长度不同,它们将包含不同数量的切片。因此,如果它们属于较短的时间序列,某些特定切片可能会比其他切片更频繁地被采样。
- 参数
target_series (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – 一个或一个目标 TimeSeries 序列。past_covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一个包含过去观测到的协变量的 TimeSeries 序列。如果设置此参数,提供的序列必须与 target_series 的长度相同。此外,序列中的所有协变量必须具有足够大的时间跨度以包含所有必需的切片。目标序列和协变量的联合切片依赖于两者的时间轴。future_covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一个包含未来已知协变量的 TimeSeries 序列。这必须遵循与 past_covariates 相同的约束。length (
int
) – 发出的过去和未来序列的长度。shift (
int
) – 输出块相对于输入块的起始位置移位的时间步数。max_samples_per_ts (
Optional
[int
,None
]) – 这是每个时间序列可以生成的元组数量的上限。它可用于对数据集的总大小设置上限并确保适当的采样。如果为 None,它将在数据集创建时提前读取所有单个时间序列以了解其大小,这在大数据集上可能很耗时。如果某些序列的长度允许超过 max_samples_per_ts,则仅考虑最近的 max_samples_per_ts 个样本。use_static_covariates (
bool
) – 是否使用/包含输入序列中的静态协变量数据。sample_weight (
Union
[TimeSeries
,Sequence
[TimeSeries
],str
,None
]) – 可选地,一些要应用于目标 series 标签的样本权重。它们应用于每个观测、每个标签(output_chunk_length 中的每个步骤)和每个分量。如果是一个序列或序列的序列,则使用这些权重。如果权重序列只有一个分量/列,则权重全局应用于 series 中的所有分量。否则,对于分量特定的权重,分量数量必须与 series 的分量数量匹配。如果是一个字符串,则使用内置的加权函数生成权重。可用选项是 “linear” 或 “exponential” 衰减——时间越靠前,权重越低。权重根据 series 中最长序列的长度全局计算。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。