gluonts.mx.model.n_beats package#
- class gluonts.mx.model.n_beats.NBEATSEnsembleEstimator(freq: str, prediction_length: int, meta_context_length: Optional[List[int]] = None, meta_loss_function: Optional[List[str]] = None, meta_bagging_size: int = 10, trainer: gluonts.mx.trainer._base.Trainer = gluonts.mx.trainer._base.Trainer(add_default_callbacks=True, callbacks=None, clip_gradient=10.0, ctx=None, epochs=100, hybridize=True, init='xavier', learning_rate=0.001, num_batches_per_epoch=50, weight_decay=1e-08), num_stacks: int = 30, widths: Optional[List[int]] = None, num_blocks: Optional[List[int]] = None, num_block_layers: Optional[List[int]] = None, expansion_coefficient_lengths: Optional[List[int]] = None, sharing: Optional[List[bool]] = None, stack_types: Optional[List[str]] = None, aggregation_method: str = 'median', **kwargs)[source]#
- 基类: - gluonts.model.estimator.Estimator- 一个 N-BEATS 集成估计器(近似),如论文所述:https://arxiv.org/abs/1905.10437。 - 三个元参数 ‘meta_context_length’、‘meta_loss_function’ 和 ‘meta_bagging_size’ 共同定义了子模型的组合方式。集成模型使用的模型总数是 - |meta_context_length| x |meta_loss_function| x meta_bagging_size - 此实现与论文相比值得注意的区别:* 参数 L_H 未实现;我们使用 GluonTS 中的默认方法“InstanceSplitter”采样训练序列。 - 参数
- freq – 数据的时间粒度 
- prediction_length (int) – 预测长度。也称为“预测范围”(horizon)。 
- meta_context_length – 用于训练模型的不同“context_length”(也称为“回顾期”)。“context_length”是用于预测的时间单元数。默认和推荐值:[multiplier * prediction_length for multiplier in range(2, 7)] 
- meta_loss_function – 用于训练模型的不同“loss_function”(也称为指标)。与 GluonTS 中的其他模型不同,此网络不使用分布。以下之一:“sMAPE”、“MASE”或“MAPE”。默认和推荐值:[“sMAPE”, “MASE”, “MAPE”] 
- meta_bagging_size – 共享“context_length”和“loss_function”参数组合的模型数量。每个模型都会获得不同的随机初始化。默认和推荐值:10 
- trainer – 要使用的 Trainer 对象(默认值:Trainer()) 
- num_stacks – 网络应包含的堆栈数量。泛型模式的默认和推荐值:30 可解释模式的推荐值:2 
- num_blocks – 每个堆栈的块数量。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认和推荐值:[1] 可解释模式的推荐值:[3] 
- block_layers – 每个块中带有 ReLu 激活的全连接层数量。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认和推荐值:[4] 可解释模式的推荐值:[4] 
- widths – 块中带有 ReLu 激活的全连接层宽度。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认和推荐值:[512] 可解释模式的推荐值:[256, 2048] 
- sharing – 权重是否与每个堆栈中的其他块共享。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认和推荐值:[False] 可解释模式的推荐值:[True] 
- expansion_coefficient_lengths – 如果类型是“G”(泛型),则为展开系数的长度。如果类型是“T”(趋势),则对应于多项式的次数。如果类型是“S”(季节性),则不使用。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认值:[32] 可解释模式的推荐值:[3] 
- stack_types – 以下值之一:“G”(泛型)、“S”(季节性)或“T”(趋势)。长度为 1 或 ‘num_stacks’ 的字符串列表。泛型模式的默认和推荐值:[“G”] 可解释模式的推荐值:[“T”,”S”] 
- aggregation_method – 用于聚合模型个体预测的方法。可以是 ‘median’(中位数)、‘mean’(均值)或 ‘none’(不进行聚合)。默认为 ‘median’。 
- **kwargs – 传递给个体估计器的参数。 
 
 - classmethod from_hyperparameters(**hyperparameters) gluonts.mx.model.n_beats._ensemble.NBEATSEnsembleEstimator#
 - lead_time: int#
 - prediction_length: int#
 - train(training_data: gluonts.dataset.Dataset, validation_data: Optional[gluonts.dataset.Dataset] = None) gluonts.mx.model.n_beats._ensemble.NBEATSEnsemblePredictor#
- 在给定数据上训练估计器。 - 参数
- training_data – 用于训练模型的数据集。 
- validation_data – 训练期间用于验证模型的数据集。 
 
- 返回值
- 包含训练好的模型的预测器。 
- 返回类型
 
 - train_from(predictor: gluonts.model.predictor.Predictor, training_data: gluonts.dataset.Dataset, validation_data: Optional[gluonts.dataset.Dataset] = None) gluonts.mx.model.n_beats._ensemble.NBEATSEnsemblePredictor#
 
- class gluonts.mx.model.n_beats.NBEATSEnsemblePredictor(prediction_length: int, predictors: List[gluonts.mx.model.predictor.RepresentableBlockPredictor], aggregation_method: Optional[str] = 'median')[source]#
- 基类: - gluonts.model.predictor.Predictor- 一个 N-BEATS 集成预测器。调用 ‘.predict’ 将会得到 - |predictors|x|dataset| - 预测结果,如果 aggregation_method 是 ‘none’,否则会得到 - |dataset| - 参数
- prediction_length – 预测范围。 
- predictors – 集成模型包含的 ‘RepresentableBlockPredictor’ 列表。 
- aggregation_method – 用于聚合模型个体预测的方法。可以是 ‘median’(中位数)、‘mean’(均值)或 ‘none’(不进行聚合)。默认为 ‘median’。 
 
 - classmethod deserialize(path: pathlib.Path, ctx: Optional[mxnet.context.Context] = None, **kwargs) gluonts.mx.model.n_beats._ensemble.NBEATSEnsemblePredictor#
- 从给定路径加载序列化的 NBEATSEnsemblePredictor。 - 参数
- path – 序列化文件预测器的路径。 
- ctx – 与预测器一起使用的可选 mxnet 上下文参数。如果未传递任何内容,将使用可用的 GPU,否则使用 CPU。 
 
 
 - hybridize(batch: Dict[str, Any]) None#
 - predict(dataset: gluonts.dataset.Dataset, num_samples: Optional[int] = 1, **kwargs) Iterator[gluonts.model.forecast.Forecast]#
- 计算提供的 datasets 中时间序列的预测结果。此方法未在此抽象类中实现;请使用其中一个子类。:param dataset: 包含要预测的时间序列的数据集。 - 返回值
- 按数据集迭代器提供的相同顺序,对预测结果进行迭代。 
- 返回类型
- Iterator[Forecast] 
 
 - serialize(path: pathlib.Path) None#
 - set_aggregation_method(aggregation_method: str)#
 
- class gluonts.mx.model.n_beats.NBEATSEstimator(freq: str, prediction_length: int, context_length: Optional[int] = None, trainer: gluonts.mx.trainer._base.Trainer = gluonts.mx.trainer._base.Trainer(add_default_callbacks=True, callbacks=None, clip_gradient=10.0, ctx=None, epochs=100, hybridize=True, init='xavier', learning_rate=0.001, num_batches_per_epoch=50, weight_decay=1e-08), num_stacks: int = 30, widths: Optional[List[int]] = None, num_blocks: Optional[List[int]] = None, num_block_layers: Optional[List[int]] = None, expansion_coefficient_lengths: Optional[List[int]] = None, sharing: Optional[List[bool]] = None, stack_types: Optional[List[str]] = None, loss_function: Optional[str] = 'MAPE', train_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, validation_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, batch_size: int = 32, scale: bool = False, **kwargs)[source]#
- 基类: - gluonts.mx.model.estimator.GluonEstimator- 一个基于单个 (!) NBEATS 网络(近似)的估计器,如论文所述:https://arxiv.org/abs/1905.10437。实际的 NBEATS 模型是 NBEATS 网络的集成,由“NBEATSEnsembleEstimator”实现。 - 此实现与论文相比值得注意的区别:* 参数 L_H 未实现;我们使用 GluonTS 中的默认方法“InstanceSplitter”采样训练序列。 - 参数
- freq – 数据的时间粒度 
- prediction_length (int) – 预测长度。也称为“预测范围”(horizon)。 
- context_length – 用于预测的时间单元数。也称为“回顾期”。默认值为 2 * prediction_length。 
- trainer – 要使用的 Trainer 对象(默认值:Trainer()) 
- num_stacks – 网络应包含的堆栈数量。泛型模式的默认和推荐值:30 可解释模式的推荐值:2 
- num_blocks – 每个堆栈的块数量。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认和推荐值:[1] 可解释模式的推荐值:[3] 
- block_layers – 每个块中带有 ReLu 激活的全连接层数量。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认和推荐值:[4] 可解释模式的推荐值:[4] 
- widths – 块中带有 ReLu 激活的全连接层宽度。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认和推荐值:[512] 可解释模式的推荐值:[256, 2048] 
- sharing – 权重是否与每个堆栈中的其他块共享。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认和推荐值:[False] 可解释模式的推荐值:[True] 
- expansion_coefficient_lengths – 如果类型是“G”(泛型),则为展开系数的长度。如果类型是“T”(趋势),则对应于多项式的次数。如果类型是“S”(季节性),则不使用。长度为 1 或 ‘num_stacks’ 的整数列表。泛型模式的默认值:[32] 可解释模式的推荐值:[3] 
- stack_types – 以下值之一:“G”(泛型)、“S”(季节性)或“T”(趋势)。长度为 1 或 ‘num_stacks’ 的字符串列表。泛型模式的默认和推荐值:[“G”] 可解释模式的推荐值:[“T”,”S”] 
- loss_function – 用于训练网络的损失函数(也称为指标)。与 GluonTS 中的其他模型不同,此网络不使用分布。以下之一:“sMAPE”、“MASE”或“MAPE”。默认值为“MAPE”。 
- train_sampler – 控制训练期间窗口的采样。 
- validation_sampler – 控制验证期间窗口的采样。 
- batch_size – 训练和预测中使用的批量大小。 
- scale – 如果为 True,则按均值缩放输入观测值 
- kwargs – 传递给 ‘GluonEstimator’ 的参数。 
 
 - create_predictor(transformation: gluonts.transform._base.Transformation, trained_network: mxnet.gluon.block.HybridBlock) gluonts.model.predictor.Predictor#
- 创建并返回一个预测器对象。 - 参数
- transformation – 应用于进入模型前的数据的转换。 
- module – 一个训练好的 HybridBlock 对象。 
 
- 返回值
- 一个包装用于推理的 HybridBlock 的预测器。 
- 返回类型
 
 - create_training_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]]#
- 创建用于训练的数据加载器。 - 参数
- data – 用于创建数据加载器的数据集。 
- 返回值
- 数据加载器,即数据批次的迭代器。 
- 返回类型
- DataLoader 
 
 - create_training_network() mxnet.gluon.block.HybridBlock#
- 创建并返回用于训练(即计算损失)的网络。 - 返回值
- 根据输入数据计算损失的网络。 
- 返回类型
- HybridBlock 
 
 - create_transformation() gluonts.transform._base.Transformation#
- 创建并返回训练和推理所需的转换。 - 返回值
- 在训练和推理时逐条应用于数据集的转换。 
- 返回类型
 
 - create_validation_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]]#
- 创建用于验证的数据加载器。 - 参数
- data – 用于创建数据加载器的数据集。 
- 返回值
- 数据加载器,即数据批次的迭代器。 
- 返回类型
- DataLoader 
 
 - lead_time: int#
 - prediction_length: int#