附加工具函数

class darts.utils.ts_utils.SeriesType(value)[source]

Bases: Enum

用于不同 TimeSeries 序列类型的枚举。

NONE = -1
SEQ = 1
SEQ_SEQ = 2
SINGLE = 0
darts.utils.ts_utils.get_series_seq_type(ts)[source]

返回 ts 的序列类型。

  • SeriesType.SINGLE: TimeSeries(例如单个序列)

  • SeriesType.SEQ: TimeSeries 序列(例如多个序列)

  • SeriesType.SEQ_SEQ: TimeSeries 的序列的序列(例如历史预测输出)

参数

ts (Union[TimeSeries, Sequence[TimeSeries], Sequence[Sequence[TimeSeries]]]) – 输入序列,用于获取序列类型。

抛出

ValueError – 如果 ts 不具有预期的序列类型之一。

返回类型

SeriesType

darts.utils.ts_utils.get_single_series(ts)[source]

ts 返回单个(第一个)TimeSeries 或 None。如果 ts 是 TimeSeries,则返回 ts;如果 tsSequence[TimeSeries],则返回 ts[0];如果 tsSequence[Sequence[TimeSeries]],则返回 ts[0][0]。否则,返回 None

参数

ts (Union[TimeSeries, Sequence[TimeSeries], Sequence[Sequence[TimeSeries]], None]) – None, 单个 TimeSeriesTimeSeries 序列,或 TimeSeries 的序列的序列。

返回

如果 ts 是 TimeSeries,则返回 ts;如果 ts 是 TimeSeries 序列,则返回 ts[0]。否则,返回 None

返回类型

TimeSeries

darts.utils.ts_utils.retain_period_common_to_all(series)[source]

如有必要,修剪所提供列表中的所有序列,以便返回的时间序列具有共同的时间跨度(对应于所有序列共同的最大时间子间隔)。

参数

series (list[TimeSeries]) – 要考虑的序列列表。

抛出

ValueError – 如果不存在共同的时间子间隔

返回

一个序列列表,其中每个序列具有相同的时间跨度

返回类型

List[TimeSeries]

darts.utils.ts_utils.seq2series(ts)[source]

如果 ts 是仅包含单个序列的 Sequence,则将该单个序列作为 TimeSeries 返回。

参数

ts (Union[TimeSeries, Sequence[TimeSeries], None]) – None, 单个 TimeSeries,或 TimeSeries 序列

返回类型

如果 ts 不是单元素 TimeSeries 序列,则返回 ts;否则返回 ts[0]

darts.utils.ts_utils.series2seq(ts, seq_type_out=SeriesType.SEQ, nested=False)[source]

如果可能,将 ts 转换为所需的序列类型 seq_type_out。否则,返回原始的 ts

参数
  • ts (Union[TimeSeries, Sequence[TimeSeries], Sequence[Sequence[TimeSeries]], None]) – None, 单个 TimeSeries,TimeSeries 序列,或 TimeSeries 的序列的序列。

  • seq_type_out (SeriesType) –

    输出序列类型

    • SeriesType.SINGLE: TimeSeries(例如单个序列)

    • SeriesType.SEQ: TimeSeries 序列(例如多个序列)

    • SeriesType.SEQ_SEQ: TimeSeries 的序列的序列(例如历史预测输出)

  • nested (bool) – 仅适用于 seq_type_out=SeriesType.SEQ_SEQts 具有序列类型 SeriesType.SEQ 的情况。在这种情况下,将 ts 中的每个元素包装在一个列表中([ts1, ts2] -> [[ts1], [ts2]])。

抛出

ValueError – 如果 seq_type_out 值无效。

返回类型

Union[TimeSeries, Sequence[TimeSeries], Sequence[Sequence[TimeSeries]], None]