移位训练数据集

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” 从位置 ii+length,则发出的 “future_target” 将从位置 i+shifti+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’ 从位置 ii+length,则发出的 ‘future_target’ 将从位置 i+shifti+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)[源代码]

基类:TrainingDataset

包含 (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’ 从位置 ii+length,则发出的 ‘future_target’ 将从位置 i+shifti+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”)从位置 ii+length,则发出的 “future_target” 将从位置 i+shifti+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’ 从位置 ii+length,那么发出的 ‘future_target’ 将从位置 i+shifti+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 中最长序列的长度全局计算的。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。