顺序训练数据集¶
- class darts.utils.data.sequential_dataset.DualCovariatesSequentialDataset(target_series, covariates=None, input_chunk_length=12, output_chunk_length=1, output_chunk_shift=0, max_samples_per_ts=None, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
DualCovariatesTrainingDataset
一个时间序列数据集,包含元组 (过去目标, 历史未来协变量, 未来协变量, 静态协变量, 样本权重, 未来目标)。’过去’ 序列(包括 历史未来协变量)的长度为 输入块长度,’未来’ 序列的长度为 输出块长度。’未来’ 序列紧接在 ‘过去’ 序列之后。过去和未来协变量的切片分别与过去和未来目标的切片匹配。切片本身依赖于时间索引来对齐序列,如果它们的长度不相等。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 input_chunk_length + output_chunk_length。如果这些条件不满足,在尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 i 个样本有 1/N 的概率来自序列中的任意一个 N 个时间序列。如果时间序列的长度不同,它们将包含不同数量的切片。因此,如果某些切片属于较短的时间序列,它们可能会比其他切片被更频繁地采样。
- 参数
target_series (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – 一个或一系列目标 TimeSeries。covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一系列包含未来已知协变量的 TimeSeries。如果设置了此参数,则提供的序列长度必须与 target_series 相同。此外,序列中的所有协变量必须具有足够大的时间跨度,以包含所有所需的切片。目标和协变量的联合切片依赖于两者的时间轴。input_chunk_length (
int
) – 发出的过去系列的长度。output_chunk_length (
int
) – 发出的未来系列的长度。output_chunk_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.sequential_dataset.FutureCovariatesSequentialDataset(target_series, covariates=None, input_chunk_length=12, output_chunk_length=1, output_chunk_shift=0, max_samples_per_ts=None, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
FutureCovariatesTrainingDataset
一个包含元组的时间序列数据集 (past_target, future_covariates, static_covariates, sample weights, future_target)。“过去”序列的长度为 input_chunk_length,而“未来”序列的长度为 output_chunk_length。“未来”序列紧接在“过去”序列之后。过去和未来协变量的切片分别与过去和未来目标的切片匹配。切片本身依赖于时间索引来对齐序列,如果它们的长度不相等。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 input_chunk_length + output_chunk_length。如果这些条件不满足,在尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 i 个样本有 1/N 的概率来自序列中的任意一个 N 个时间序列。如果时间序列的长度不同,它们将包含不同数量的切片。因此,如果某些切片属于较短的时间序列,它们可能会比其他切片被更频繁地采样。
- 参数
target_series (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – 一个或一系列目标 TimeSeries。covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,一个或一系列包含未来已知协变量的 TimeSeries。如果设置了此参数,则提供的序列长度必须与 target_series 相同。此外,序列中的所有协变量必须具有足够大的时间跨度,以包含所有所需的切片。目标和协变量的联合切片依赖于两者的时间轴。input_chunk_length (
int
) – 发出的过去系列的长度。output_chunk_length (
int
) – 发出的未来系列的长度。output_chunk_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.sequential_dataset.MixedCovariatesSequentialDataset(target_series, past_covariates=None, future_covariates=None, input_chunk_length=12, output_chunk_length=1, output_chunk_shift=0, 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) 的元组。’过去’ 序列(包括 historic_future_covariates)的长度为 input_chunk_length,而 ‘未来’ 序列的长度为 output_chunk_length。’未来’ 序列紧接在 ‘过去’ 序列之后。过去和未来协变量的切片分别与过去和未来目标的切片匹配。切片本身依赖于时间索引来对齐序列,如果它们的长度不相等。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 input_chunk_length + output_chunk_length。如果这些条件不满足,在尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 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 相同的约束。input_chunk_length (
int
) – 发出的过去系列的长度。output_chunk_length (
int
) – 发出的未来系列的长度。output_chunk_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.sequential_dataset.PastCovariatesSequentialDataset(target_series, covariates=None, input_chunk_length=12, output_chunk_length=1, output_chunk_shift=0, max_samples_per_ts=None, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
PastCovariatesTrainingDataset
一个时间序列数据集,包含 (past_target, past_covariates, static_covariates, sample weights, future_target) 的元组。“过去”序列的长度为 input_chunk_length,而“未来”序列的长度为 output_chunk_length。“未来”序列紧随“过去”序列之后。过去和未来协变量的切片分别与过去和未来目标的切片匹配。切片本身依赖于时间索引来对齐序列,如果它们的长度不相等。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 input_chunk_length + output_chunk_length。如果这些条件不满足,在尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 i 个样本有 1/N 的概率来自序列中的任意一个 N 个时间序列。如果时间序列的长度不同,它们将包含不同数量的切片。因此,如果某些切片属于较短的时间序列,它们可能会比其他切片被更频繁地采样。
- 参数
target_series (
Union
[TimeSeries
,Sequence
[TimeSeries
]]) – 一个或一系列目标 TimeSeries。covariates (
Union
[TimeSeries
,Sequence
[TimeSeries
],None
]) – 可选地,包含过去观测到的协变量的一个或多个 TimeSeries。如果设置了此参数,则提供的序列长度必须与 target_series 相同。此外,序列中的所有协变量必须具有足够大的时间跨度,以包含所有必需的切片。目标和协变量的联合切片依赖于两者的时间轴。input_chunk_length (
int
) – 发出的过去系列的长度。output_chunk_length (
int
) – 发出的未来系列的长度。output_chunk_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.sequential_dataset.SplitCovariatesSequentialDataset(target_series, past_covariates=None, future_covariates=None, input_chunk_length=12, output_chunk_length=1, output_chunk_shift=0, max_samples_per_ts=None, use_static_covariates=True, sample_weight=None)[源代码]¶
基类:
SplitCovariatesTrainingDataset
一个时间序列数据集,包含 (过去目标, 过去协变量, 未来协变量, 静态协变量, 样本权重, 未来目标) 的元组。“过去”序列的长度为 input_chunk_length,“未来”序列的长度为 output_chunk_length。“未来”序列紧接在“过去”序列之后。过去和未来协变量的切片分别与过去和未来目标的切片匹配。切片本身依赖于时间索引来对齐序列,如果它们的长度不相等。
每个序列必须足够长,以包含至少一个(输入,输出)对;即,每个序列的长度至少为 input_chunk_length + output_chunk_length。如果这些条件不满足,在尝试访问某些分割时将引发错误。
采样在时间序列的数量上是均匀的;即,该数据集的第 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 相同的约束。input_chunk_length (
int
) – 发出的过去系列的长度。output_chunk_length (
int
) – 发出的未来系列的长度。output_chunk_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 中最长序列的长度全局计算的。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间加权。