gluonts.model 包#

gluonts.model.Estimator(lead_time: int = 0, **kwargs)[source]#

基类: object

表示可训练模型的抽象类。

通过使用训练 Dataset 调用 train 方法来训练底层模型,生成一个 Predictor 对象。

类方法 derive_auto_fields(train_iter)[source]#
类方法 from_hyperparameters(**hyperparameters)[source]#
类方法 from_inputs(train_iter, **params)[source]#
lead_time: int#
prediction_length: int#
train(training_data: gluonts.dataset.Dataset, validation_data: Optional[gluonts.dataset.Dataset] = None) gluonts.model.predictor.Predictor[source]#

使用给定数据训练估计器。

参数
  • training_data – 用于训练模型的数据集。

  • validation_data – 在训练期间用于验证模型的数据集。

返回

包含训练好的模型的预测器。

返回类型

Predictor

gluonts.model.Forecast[source]#

基类: object

表示预测的抽象类。

copy_aggregate(agg_fun: Callable)[source]#

返回一个新的 Forecast 对象,其中时间序列在维度轴上进行了聚合。

参数

agg_fun – 定义聚合操作的聚合函数(通常是均值或求和)。

copy_dim(dim: int)[source]#

返回一个新的 Forecast 对象,仅包含选定的子维度。

参数

dim – 返回的 forecast 对象将只表示此维度。

dim() int[source]#

返回 forecast 对象的维度。

属性 freq#
属性 index: pandas.core.indexes.period.PeriodIndex#
info: Optional[Dict]#
item_id: Optional[str]#
属性 mean: numpy.ndarray#
属性 median: numpy.ndarray#
plot(*, intervals=(0.5, 0.9), ax=None, color=None, name=None, show_label=False)[source]#

使用 matplotlib 绘制中位数预测和预测区间。

默认情况下,绘制 0.50.9 预测区间。可以通过设置 intervals 来选择其他区间。

这将绘制到当前 axes 对象(通过 plt.gca()),或者如果提供了 ax 则绘制到 ax。类似地,如果没有设置明确的 color,则颜色使用 matplotlib 的内部颜色循环。

可以设置 name 作为中位数预测的 label。除非将 show_label 设置为 True,否则区间不会被标记。

prediction_length: int#
quantile(q: Union[float, str]) numpy.ndarray[source]#

从预测分布计算分位数。

参数

q – 要计算的分位数。

返回

分位数在整个预测范围内的值。

返回类型

numpy.ndarray

quantile_ts(q: Union[float, str]) pandas.core.series.Series[source]#
start_date: pandas._libs.tslibs.period.Period#
gluonts.model.IncrementallyTrainable(*args, **kwargs)[source]#

基类: typing_extensions.Protocol

train_from(predictor: gluonts.model.predictor.Predictor, training_data: gluonts.dataset.Dataset, validation_data: Optional[gluonts.dataset.Dataset] = None) gluonts.model.predictor.Predictor[source]#

实验性功能:此功能在未来版本中可能会更改。使用给定数据训练估计器,从先前训练好的预测器开始。

参数
  • predictor – 先前训练好的模型,用于初始化估计器训练。

  • training_data – 用于训练模型的数据集。

  • validation_data – 在训练期间用于验证模型的数据集。

返回

包含训练好的模型的预测器。

返回类型

Predictor

gluonts.model.Input(shape: Tuple[int, ...], dtype: Any, required: bool = True)[source]#

基类: object

dtype: Any#
required: bool = True#
shape: Tuple[int, ...]#
gluonts.model.InputSpec(data: Dict[str, gluonts.model.inputs.Input], zeros_fn: Callable)[source]#

基类: collections.UserDict

data: Dict[str, gluonts.model.inputs.Input]#
属性 dtypes: Dict[str, Type]#
属性 shapes: Dict[str, Tuple[int, ...]]#
zeros()[source]#
zeros_fn: Callable#
gluonts.model.Predictor(prediction_length: int, lead_time: int = 0)[source]#

基类: object

表示预测器对象的抽象类。:param prediction_length: 预测范围。

类方法 derive_auto_fields(train_iter)[source]#
类方法 deserialize(path: pathlib.Path, **kwargs) gluonts.model.predictor.Predictor[source]#

从给定路径加载序列化的预测器。

参数
  • path – 序列化文件预测器的路径。

  • **kwargs – 可选的上下文/设备参数,与预测器一起使用。如果未传递任何参数,将使用可用的 GPU,否则使用 CPU。

类方法 from_hyperparameters(**hyperparameters)[source]#
类方法 from_inputs(train_iter, **params)[source]#
predict(dataset: gluonts.dataset.Dataset, **kwargs) Iterator[gluonts.model.forecast.Forecast][source]#

计算所提供数据集中时间序列的预测。此方法未在此抽象类中实现;请使用其子类之一。:param dataset: 包含要预测的时间序列的数据集。

返回

预测结果的迭代器,与提供数据集迭代器的顺序相同。

返回类型

Iterator[Forecast]

serialize(path: pathlib.Path) None[source]#
gluonts.model.QuantileForecast(forecast_arrays: numpy.ndarray, start_date: pandas._libs.tslibs.period.Period, forecast_keys: List[str], item_id: Optional[str] = None, info: Optional[Dict] = None)[source]#

基类: gluonts.model.forecast.Forecast

包含分位数和均值的数组(即时间序列)的 Forecast。

参数
  • forecast_arrays – 预测结果数组

  • start_date (pandas._libs.tslibs.period.Period) – 预测的开始日期

  • forecast_keys – 分位数的列表,形式如 ‘0.1’、‘0.9’ 等,可能包含 ‘mean’。每个条目对应 forecast_arrays 中的一个数组。

  • item_id (Optional[str]) – 被预测项目的标识符。

  • info (Optional[Dict]) – 预测器可能提供的额外信息,例如估计的参数、运行的迭代次数等。

copy_dim(dim: int) gluonts.model.forecast.QuantileForecast[source]#

返回一个新的 Forecast 对象,仅包含选定的子维度。

参数

dim – 返回的 forecast 对象将只表示此维度。

dim() int[source]#

返回 forecast 对象的维度。

info: Optional[Dict]#
item_id: Optional[str]#
属性 mean: numpy.ndarray#

预测均值。

prediction_length: int#
quantile(inference_quantile: Union[float, str]) numpy.ndarray[source]#

从预测分布计算分位数。

参数

q – 要计算的分位数。

返回

分位数在整个预测范围内的值。

返回类型

numpy.ndarray

start_date: pandas._libs.tslibs.period.Period#
gluonts.model.SampleForecast(samples: numpy.ndarray, start_date: pandas._libs.tslibs.period.Period, item_id: Optional[str] = None, info: Optional[Dict] = None)[source]#

基类: gluonts.model.forecast.Forecast

一个 Forecast 对象,其中预测分布在内部表示为样本。

参数
  • samples – 大小为 (num_samples, prediction_length)(一维情况)或 (num_samples, prediction_length, target_dim)(多元情况)的数组

  • start_date (pandas._libs.tslibs.period.Period) – 预测的开始日期。

  • item_id (Optional[str]) – 被预测项目的标识符。

  • info (Optional[Dict]) – 预测器可能提供的额外信息,例如估计的参数、运行的迭代次数等。

copy_aggregate(agg_fun: Callable) gluonts.model.forecast.SampleForecast[source]#

返回一个新的 Forecast 对象,其中时间序列在维度轴上进行了聚合。

参数

agg_fun – 定义聚合操作的聚合函数(通常是均值或求和)。

copy_dim(dim: int) gluonts.model.forecast.SampleForecast[source]#

返回一个新的 Forecast 对象,仅包含选定的子维度。

参数

dim – 返回的 forecast 对象将只表示此维度。

dim() int[source]#

返回 forecast 对象的维度。

info: Optional[Dict]#
item_id: Optional[str]#
属性 mean: numpy.ndarray#

预测均值。

属性 mean_ts: pandas.core.series.Series#

预测均值,作为 pandas.Series 对象。

属性 num_samples#

表示预测的样本数量。

属性 prediction_length#

预测的时间长度。

quantile(q: Union[float, str]) numpy.ndarray[source]#

从预测分布计算分位数。

参数

q – 要计算的分位数。

返回

分位数在整个预测范围内的值。

返回类型

numpy.ndarray

start_date: pandas._libs.tslibs.period.Period#
to_quantile_forecast(quantiles: List[str]) gluonts.model.forecast.QuantileForecast[source]#
gluonts.model.evaluate_forecasts(forecasts: Iterable[gluonts.model.forecast.Forecast], *, test_data: gluonts.dataset.split.TestData, metrics, axis: Optional[Union[int, tuple]] = None, batch_size: int = 100, mask_invalid_label: bool = True, allow_nan_forecast: bool = False, seasonality: Optional[int] = None) pandas.core.frame.DataFrame[source]#

根据 metrics,将 forecaststest_data 进行比较来评估 forecasts

注意

此功能是实验性的,未来版本中可能会发生变化。

可选的 axis 参数控制指标的聚合方式: - None(默认)在所有维度上进行聚合 - 0 在数据集上进行聚合 - 1 在第一个数据维度上进行聚合(一元设置中的时间) - 2 在第二个数据维度上进行聚合(多元设置中的时间)

以 Pandas DataFrame 的形式返回结果。

gluonts.model.evaluate_model(model: gluonts.model.predictor.Predictor, *, test_data: gluonts.dataset.split.TestData, metrics, axis: Optional[Union[int, tuple]] = None, batch_size: int = 100, mask_invalid_label: bool = True, allow_nan_forecast: bool = False, seasonality: Optional[int] = None) pandas.core.frame.DataFrame[source]#

根据 metrics,将 model 应用于 test_data 时进行评估。

注意

此功能是实验性的,未来版本中可能会发生变化。

可选的 axis 参数控制指标的聚合方式: - None(默认)在所有维度上进行聚合 - 0 在数据集上进行聚合 - 1 在第一个数据维度上进行聚合(一元设置中的时间) - 2 在第二个数据维度上进行聚合(多元设置中的时间)

以 Pandas DataFrame 的形式返回结果。