序列训练数据集¶
- 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)[source]¶
基类:
DualCovariatesTrainingDataset
一个时间序列数据集,包含 (past_target, historic_future_covariates, future_covariates, static_covariates, 样本权重, 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 序列。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)[source]¶
基类:
FutureCovariatesTrainingDataset
一个时间序列数据集,包含 (past_target, future_covariates, static_covariates, 样本权重, 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)[source]¶
基类:
MixedCovariatesTrainingDataset
一个时间序列数据集,包含 (past_target, past_covariates, historic_future_covariates, future_covariates, static_covariates, 样本权重, 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)[source]¶
基类:
PastCovariatesTrainingDataset
一个时间序列数据集,包含 (past_target, past_covariates, static_covariates, 样本权重, 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)[source]¶
基类:
SplitCovariatesTrainingDataset
一个时间序列数据集,包含 (past_target, past_covariates, future_covariates, static_covariates, 样本权重, 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 序列。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 中最长序列的长度全局计算的。然后对于每个序列,从全局权重的末尾提取权重。这为所有序列提供了共同的时间权重。