移位训练数据集¶
- class 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
一个时间序列数据集,包含 (past_target, historic_future_covariates, future_covariates, static_covariates, sample weights, future_target) 数组的元组,它们的长度均为 length。”future_target” 是 “past_target” 目标向前移动 shift 时间步的结果。因此,如果发出的 “past_target” 从位置 i 到 i+length,则发出的 “future_target” 将从位置 i+shift 到 i+shift+length。”future_covariates” 的切片与 “future_target” 匹配,而 “historic_future_covariates” 的切片与 “past_target” 匹配。切片本身依赖于时间索引来对齐序列,如果它们的长度不相等。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 length + shift。如果这些条件不满足,尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 i 个样本有 1/N 的概率来自序列中的任意一个 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 中最长序列的长度全局计算的。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- class 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
一个时间序列数据集,包含 (past_target, future_covariates, static_covariates, sample weights, future_target) 数组的元组,所有数组的长度均为 length。’future_target’ 是 ‘past_target’ 目标向前移动 shift 时间步的结果。因此,如果发出的 ‘past_target’ 从位置 i 到 i+length,则发出的 ‘future_target’ 将从位置 i+shift 到 i+shift+length。未来协变量的切片与未来目标的切片匹配。切片本身依赖于时间索引来对齐序列,如果它们的长度不相等。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 length + shift。如果这些条件不满足,尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 i 个样本有 1/N 的概率来自序列中的任意一个 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 中最长序列的长度全局计算的。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- class 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)[源代码]¶
-
包含 (past_target, <X>_covariates, static_covariates, sample weights, future_target),其中 “<X>” 在 shift_covariates = False 时为过去,否则为未来。过去的块长度为 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 中最长序列的长度全局计算的。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- class 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
一个时间序列数据集,包含 (past_target, past_covariates, historic_future_covariates, future_covariates, static_covariates, sample weights, future_target) 数组的元组,它们的长度均为 length。’future_target’ 是 ‘past_target’ 目标向前移动 shift 时间步的结果。因此,如果发出的 ‘past_target’ 从位置 i 到 i+length,则发出的 ‘future_target’ 将从位置 i+shift 到 i+shift+length。过去和未来协变量的切片分别与过去和未来目标的切片匹配。切片本身依赖于时间索引来对齐序列,如果它们的长度不相等。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 length + shift。如果这些条件不满足,尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 i 个样本有 1/N 的概率来自序列中的任意一个 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 中最长序列的长度全局计算的。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- class 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
一个时间序列数据集,包含 (past_target, past_covariates, static_covariates, sample weights, future_target) 数组的元组,它们的长度均为 length。”future_target” 是 “past_target” 目标向前移动 shift 时间步的结果。因此,如果发出的 “past_target”(和 “past_covariates”)从位置 i 到 i+length,则发出的 “future_target” 将从位置 i+shift 到 i+shift+length。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 length + shift。如果这些条件不满足,尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 i 个样本有 1/N 的概率来自序列中的任意一个 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 中最长序列的长度全局计算的。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。
- class 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
一个时间序列数据集,包含 (past_target, past_covariates, future_covariates, static_covariates, sample weights, future_target) 数组的元组,它们的长度均为 length。’future_target’ 是 ‘past_target’ 目标向前移动 shift 时间步的结果。因此,如果一个发出的 ‘past_target’ 从位置 i 到 i+length,那么发出的 ‘future_target’ 将从位置 i+shift 到 i+shift+length。过去和未来协变量的切片分别与过去和未来目标的切片匹配。切片本身依赖于时间索引来对齐序列,如果它们的长度不相等。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 length + shift。如果这些条件不满足,尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 i 个样本有 1/N 的概率来自序列中的任意一个 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 中最长序列的长度全局计算的。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。